hexo+github搭建个人博客并实现多端更新

本教程使用Hexo在Ubuntu下创建博客,并实现win10 x64同步更新。

Step 1. 创建博客

解决方案参考ZL的博客

1. 安装Nodejs

1
2
3
sudo apt-get install nodejs
sudo apt-get install nodejs-legacy
sudo apt-get install npm

Ubuntu自带源nodejs版本较旧,更新nodejs版本

1
2
sudo npm install n -g
sudo n stable

2. 安装Hexo

1
sudo npm install hexo-cli -g

3. 初始化博客文件夹

1
2
3
mkdir blog
cd blog
hexo init

4. 生成并查看博客。主题是默认主题,若一切正常,浏览器输入127.0.0.1即可显示HelloWorld的博客。

1
2
hexo g # generate webpage
hexo s # run local server

每次修改完之后可以使用sudo hexo s指令进行本地查看。

Step 2. 挑选博客主题

Hexo具有丰富的主题可供选择,如Next主题:

1
2
3
hexo clean
cd themes
git clone https://github.com/iissnan/hexo-theme-next.git

主题配置通过修改主题文件夹里面_config.yml文件,然后更新博客:

1
2
hexo g # generate webpage
hexo s # run local server

主题配置参考NexT:http://theme-next.iissnan.com/getting-started.html

Step 3. 与GitHub链接

1. 安装hexo与git的必要文件

1
2
cd blog
sudo npm install hexo-deployer-git --save

2. 在GitHub网站新建空仓库,命名为yourname.github.io,yourname是GitHub帐户名。

3. 编辑博客文件夹目录下的_config.yml文件,注意每个冒号“:”后面均有一个空格:

1
2
3
4
deploy:
type: git
repository: https://github.com/yourname/yourname.github.io.git # 此处大小写敏感,需注意
branch:master

4. 重新更新博客:

1
2
3
hexo clean
hexo g
hexo d

部署完成后,打开网页进行查看,网址是yourname.github.io。

Step 4. 在windows中配置多端更新

教程参考Righere的博客:https://righere.github.io/2016/10/10/install-hexo/

1. 上传博客配置文件到GitHub

如果我们登录GitHub就会发现,hexo默认push的只是必要的网页文件,而我们需要把所有的本地文件都上传,才能在另一台计算机进行同步更博。此部分教程参考monkey lzl的博客:http://blog.csdn.net/Monkey_LZL/article/details/60870891

在博客的原始文件夹(ubuntu 14.04系统)中删去git clone下来的主题文件夹里面的.git文件夹!,然后新建hexo分支,用来储存博客源文件。

1
2
3
4
5
6
7
8
cd blog
git init
git add -A
git commit -m "all blog source files"
git branch hexo
git checkout hexo
git remote add origin git@github.com:yourname/yourname.github.io.git
git push origin hexo -f

2. 在win 10系统,安装Git x64

点此下载 Git x64

一路next即可。

3. 安装Nodejs

点此下载 Nodejs v6.11.1 x64

一路next即可,默认装在C盘。我尝试过装在非系统盘,结果悲剧了一上午,各种报错。

4. 克隆博客源文件

克隆之前,首先要将当前系统的ssh公钥添加到GitHub的列表中。如果当前系统未生成过公钥,则运行ssh-keygen -t rsa,然后将.ssh文件夹下的.pub文件中的公钥添加到GitHub的列表中。

1
2
git clone -b hexo git@github.com:yourname/yourname.github.io.git
cd yourname.github.io

5. 安装Hexo

1
2
npm install hexo-cli -g
npm install

Step 5. 在其他Ubuntu机器上配置多端更新

将当前系统的ssh公钥添加到GitHub的列表中。如果当前系统未生成过公钥,则运行ssh-keygen -t rsa,然后将.ssh文件夹下的.pub文件中的公钥添加到GitHub的列表中。

1
2
3
4
git clone -b hexo git@github.com:yourname/yourname.github.io.git
cd yourname.github.io

npm install hexo --save

Step 6. 更新博客的流程

1
2
3
4
5
6
7
8
cd blog
git pull
hexo new post "new blog name"
git add -A
git commit -m "XXX"
git push origin hexo
hexo g
hexo d