基于hexo+github搭建博客

准备工作

node:
检查是否已安装:

1
$ node -v

若未安装,到Node.js官网下载相应平台的最新版本,然后安装

git:
检查是否已安装:

1
$ git --version

若未安装,参考此教程

安装hexo

1
$ npm install -g hexo

hexo官网上的安装命令是

1
$ npm install -g hexo-cli

初始化

创建一个目录,比如 ~/blog,进入目录,执行

1
$ hexo init

启动hexo服务器:

1
hexo s

此时,浏览器中打开网址http://localhost:4000,就能看到以下页面:
hexo博客页面

至此,本地设置完毕,接下去要关联github。

创建仓库

登陆github账号,新建repository,取名格式为 用户名.github.io,比如:jasonlouxy.github.io

进入blog目录,vim打开_config.yml,找到deploy,并且修改:

1
2
3
type: git
repository: git@github.com:jasonlouxy/jasonlouxy.github.io.git
branch: master

执行生成静态网页命令:

1
hexo g

执行配置命令:

1
hexo d

会提示输入github用户名和密码

如果此时报错:无法连接git或者找不到git,则执行

1
$ npm install hexo-deployer-git --save

此时在浏览器中打开网址 jasonlouxy.github.io 能看到与打开 localhost:4000 时一样的页面。

添加ssh key到github

在~/.ssh中检查ssh key是否存在,如果有文件id_rsa.pub或id_dsa.pub

若没有,需要生成新的ssh key,执行:

1
$ ssh-keygen -t rsa -C "your_email@example.com"

邮箱为github注册的邮箱地址

将ssh key添加到github中:打开id_rsa.pub文件,将内容复制到github的add ssh key页面即可

绑定域名

可以用自己的域名来替代github的,先要查询博客的ip地址:

1
$ ping jasonlouxy.github.io

添加域名解析:

  1. A地址,主机记录@,记录值为查询获得的ip地址;
  2. CNAME,主机记录www,记录值为jasonlouxy.github.io
  3. 进入github中博客的repository页面(jasonlouxy/jasonlouxy.github.io),选择settings,找到GitHub Pages,在Custom domain中填写自己的域名,保存后完成

发布文章

  1. 在blog文件夹下,执行:
1
$ hexo new "postname"
  1. 名为postname.md的文件会建在/blog/source/_posts下
  2. 文章编辑完成后,在blog文件夹下,执行:
1
2
$ hexo g
$ hexo d

安装theme

可以在hexo官网主题页搜索自己喜欢的theme,这里以hexo-theme-next为例:

  1. 在blog目录下,执行:
1
$ git clone https://github.com/iissnan/hexo-theme-next themes/next
  1. 在_config.yml里找到theme,改成next(默认是landscape)
  2. 在blog目录下,执行:
1
2
$ hexo g
$ hexo d