利用GitHub Pages 和 Hexo 搭建个人博客

最近,正好通过网络了解到可以使用 GitHub Pages 和 Hexo 搭建属于自己的个人博客空间。现在将自己的搭建过程记录使用,毕竟好记性不如烂笔头吗,也算博客的开篇吧。

本文搭建使用环境为 CentOS 7。

安装 Node.js 和 git

1
2
3
4
5
6
7
yum install gcc g++ make -y
wget https://nodejs.org/dist/v8.11.3/node-v8.11.3.tar.gz
tar -xvf node-v*
cd node-v*
./configure && make && make install

yum install git -y

安装 Hexo

1
2
npm install hexo-cli -g
npm install hexo-deployer-git --save

cd 到博客的存放目录,进行初始化并新建了目录 blog :

1
2
cd /opt/
hexo init blog

cd 到新建目录 blog,进行安装npm:

1
2
cd /opt/blog/
npm install

blog 目录如下图:

2859254-8ac27ff2282797b0

启动Hexo服务:

1
hexo s

命令全称为 hexo server 。

就此在浏览器中打开 http://localhost:4000 ,就能开到 Hexo 测试页面。

配置 GitHub Pages

为了使本地 git 与 GitHub 建立连接,需进行如下操作:

创建 SSH Key 。

首先查看用户目录下,有没有 .ssh目录和.ssh目录下有无 id_rsa、id_rsa.pub 两文件。如果有请进行下一步,没有需创建 SSH Key :

1
ssh-keygen -t rsa -C "此处填写备注"

此时 .ssh 目录下会生成 id_rsa、id_rsa.pub 两文件,其中 id_rsa 为私钥,d_rsa.pub 为公钥。

注册登陆 GitHub 依次点击:个人头像 -> Settings -> SSH and GPG kyes -> New SSH key,

1530843574970

1530843679533

1530843708259

Title:填写任意标题

Key:填写 id_rsa.pub 的内容

填写完成点击 Add SSH key 保存设置

建立 GitHub Pages 仓库

新建仓库,点击 New repository

1530845258174

填写相关内容

1530845682117

对仓库进行设置,进入 Settings ,找到 GitHub Pages 设置界面

1530845840617

1530846103682

修改 Hexo 配置文件

在刚建的仓库,找到 git 的提交地址,并复制。

1530846454775

终端 cd 到 blog 目录下,修改站点配置文件 _config.yml

1
vim _config.yml

修改如下

1
2
3
4
deploy:
type: git
repository: git@github.com:wzbyron/wzbyron.github.io.git
branch: master

其中 wzbyron 更换成你自己注册的用户名,且冒号: 后边都需要添加一个空格。

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

1
hexo g

全称为 hexo generate

再执行配置命令,将文章部署到Github:

1
hexo d

全称为 hexo deploy

命令执行成功后 ,浏览器中打开网址 https://username.github.io 即可访问博客。

安装 theme

可以到Hexo官网主题页去搜寻自己喜欢的theme。这里以hexo-theme-next为例:

终端cd到 blog 目录下执行如下命令:

1
git clone https://github.com/iissnan/hexo-theme-next themes/next

将blog目录下 _config.yml 里 theme 的名称 landscape 修改为 next。

NexT里有详细的使用文档。

发布文章

终端 cd 到 blog 文件夹下,执行如下命令新建文章:

1
hexo new "postName"

postName.md 文件建在目录 /blog/source/_posts 下,postName 是文件名,为方便链接不建议掺杂汉字

文章编辑完成后,终端cd到blog文件夹下,执行如下命令来发布:

1
2
3
hexo clean
hexo g
hexo d

hexo clean 清除缓存文件 (db.json) 和已生成的静态文件 (public)

Byron Wong wechat
欢迎您使用微信扫一扫,订阅微信公众号 (* ̄︶ ̄)