Hexo和Git搭建博客

Hexo和Git搭建博客


准备工作

1.node:用来生成静态页面的 到Node.js官网下载相应平台的最新版本,一路安装即可。

2.git: 把本地的hexo内容提交到github上去.没有安装的可以看此教程。

3.github:用来做博客的远程创库、域名、服务器。(~不多说了)

然后你还要知道一点点linux命令,域名解析相关知识(以上条件你都达到了,那么恭喜你30分钟搭建倒计时开始~)

Git

$ cd ~/. ssh #检查本机已存在的ssh密钥

如果提示:No such file or directory 说明你是第一次使用git。

$ ssh-keygen -t rsa -C "邮件地址"

然后连续3次回车,最终会生成一个文件在用户目录下,打开用户目录,找到.ssh\id_rsa.pub文件,记事本打开并复制里面的内容,打开你的github主页,进入个人设置 -> SSH and GPG keys -> New SSH key:

测试是否成功

$ ssh -T git@github.com     # 注意邮箱地址不用改

如果提示Are you sure you want to continue connecting (yes/no)?,输入yes,然后会看到:

Hi RainyXY! You’ve successfully authenticated, but GitHub does not provide shell access.

看到这个信息说明SSH已配置成功!

$ git config --global user.name "RainyXY"         // 你的github用户名,非昵称
$ git config --global user.email  "xxx@qq.com"    // 填写你的github注册邮箱

Hexo

安装

$ sudo npm install -g hexo

输入管理员密码即开始安装

注意坑1:Hexo官网上的安装命令是

$ npm install -g hexo-cli

安装时不要忘记前面加上sudo,否则会因为权限问题报错。

可能你会看到一个WARN,但是不用担心,这不会影响你的正常使用。 然后输入

npm install hexo --save

初始化

在电脑的某个地方新建一个名为hexo的文件夹(名字可以随便取),比如我的是D:\Rainy,由于这个文件夹将来就作为你存放代码的地方,所以最好不要随便放。

$ cd /d/Rainy/

$ hexo init
hexo会自动下载一些文件到这个目录,包括node_modules,

$ hexo g # 生成

$ hexo s # 启动服务


    这里有必要提下Hexo常用的几个命令:

    hexo generate (hexo g) 生成静态文件,会在当前目录下生成一个新的叫做public的文件夹
    hexo server (hexo s) 启动本地web服务,用于博客的预览
    hexo deploy (hexo d) 部署播客到远端(比如github, heroku等平台)
    另外还有其他几个常用命令:

    $ hexo new "postName" #新建文章
    $ hexo new page "pageName" #新建页面
    常用简写

    $ hexo n == hexo new
    $ hexo g == hexo generate
    $ hexo s == hexo server
    $ hexo d == hexo deploy
    常用组合

    $ hexo d -g #生成部署
    $ hexo s -g #生成预览

打开浏览器,输入localhost:4000,就可以在本地看到你的个人博客了

若打开失败下载个插件

Hexo 3.0 把服务器独立成了个别模块,您必须先安装 hexo-server 才能使用。

$ npm install hexo-server --save

安装完成后,输入以下命令以启动服务器,您的网站会在 http://localhost:4000 下启动。在服务器启动期间,Hexo 会监视文件变动并自动更新,您无须重启服务器。

$ hexo server

如果您想要更改端口,或是在执行时遇到了 EADDRINUSE 错误,可以在执行时使用 -p 选项指定其他端口或者用IE浏览器打开,如下:

$ hexo server -p 5000

管理博客

  • 配置信息

使用Sublime_Text(绿色软件无需安装,解压即可使用)或者其他编辑器都可以打开blog/_config.yml文件,进行配置

  • 修改主题

既然默认主题很丑,那我们别的不做,首先来替换一个好看点的主题。这是 官方主题。

个人比较喜欢的2个主题:hexo-theme-jekyll 和 hexo-theme-yilia。

首先下载这个主题:

$ cd /d/blog/
$ git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia

修改_config.yml中的theme: landscape改为theme:yilia,然后重新执行hexo g来重新生成。

如果出现一些莫名其妙的问题,可以先执行hexo clean来清理一下public的内容,然后再来重新生成和发布。

上传之前
在上传代码到github之前,一定要记得先把你以前所有代码下载下来(虽然github有版本管理,但备份一下总是好的),因为从hexo提交代码时会把你以前的所有代码都删掉。

上传到github
如果你一切都配置好了,发布上传很容易,一句hexo d就搞定,当然关键还是你要把所有东西配置好。

首先,ssh key肯定要配置好。

其次,配置_config.yml中有关deploy的部分

#博客名称
title: 我的博客
#副标题
subtitle: 
#简介
description: 
#博客作者
author: Rainy
#博客语言
language: zh-CN
#时区
timezone:

#博客地址,与申请的GitHub一致
url: http://RainyXY.github.io
root: /
#博客链接格式
permalink: :year/:month/:day/:title/
permalink_defaults:

source_dir: source
public_dir: public
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
i18n_dir: :lang
skip_render:

new_post_name: title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link: true # Open external links in new tab
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
highlight:
  enable: true
  line_number: true
  auto_detect: true
  tab_replace:

default_category: uncategorized
category_map:
tag_map:

#日期格式
date_format: YYYY-MM-DD
time_format: HH:mm:ss

#分页,每页文章数量
per_page: 10
pagination_dir: page

#博客主题
theme: landscape

#发布设置
deploy: 
  type: git
  #RainyXY改为你的github用户名
  repo: git@github.com:RainyXYRainyXY.github.io.git
  branch: master

注意坑2:在配置所有的_config.yml文件时(包括theme中的),在所有的冒号:后边都要加一个空格,否则执行hexo命令会报错,切记 切记

  • 上传之前

在上传代码到github之前,一定要记得先把你以前所有代码下载下来(虽然github有版本管理,但备份一下总是好的),因为从hexo提交代码时会把你以前的所有代码都删掉。

  • 上传到github

在blog文件夹目录下执行生成静态页面命令:

$ hexo generate        或者:hexo g

此时若出现如下报错:

ERROR Local hexo not found in ~/blog
ERROR Try runing: 'npm install hexo --save'

则执行命令:

npm install hexo --save

若无报错,自行忽略此步骤。

再执行配置命令:

$ hexo deploy            或者:hexo d

注意坑3:若执行命令hexo deploy仍然报错:无法连接git或找不到git,则执行如下命令来安装hexo-deployer-git:

$ npm install hexo-deployer-git --save

如果你一切都配置好了,发布上传很容易,一句hexo d就搞定,当然关键还是你要把所有东西配置好。

首先,ssh key肯定要配置好。

其次,配置_config.yml中有关deploy的部分:

正确写法:

deploy:
  type: git
  repository: git@github.com:liuxianan/liuxianan.github.io.git
  branch: master
  • 发布博客

设置git身份信息

$ git config --global user.name "你的用户名"
$ git config --global user.email "你的邮箱"
  • 安装hexo git插件
$ cnpm install hexo-deployer-git --save
  • 发布更新博客
$ hexo d -g

发布时需要输入github的帐号和密码,输入密码时是看不到自己输入的内容的

发布成功后,访问yourname.github.io看下成果

Fork me on GitHub