Hexo博客在多台终端同步管理

本博客使用Hexo框架搭建,并部署在Github上。搭建的时候使用的是Windows平台,但是同时自己平时使用的便携程度更高的MBP,于是思考如何让Hexo能够在多端进行同步,这样就可以用更加轻松的姿势去写博客啦😎

​ 首先这篇文章的前提是你已经搭建了Hexo博客的环境,并且目前需要多台电脑都可编辑同步博客,除此之外,需要你对git有一定的了解。

一些概念 & 思路

首先我们来看一下基于Hexo的博客根目录的结构。

注意public文件夹,这个文件夹其实在执行命令hexo g之后Hexo所生成的对应静态页面。这个文件夹实际上也是每次通过执行hexo deploy部署更新博客时所推送到远端的文件夹。

scaffolds是存放hexo文章模版的文件夹。

source是主要是存放你所写的文章,页面,或者是资源链接的文件夹。

theme是存放对应主题资源的文件夹。 而同步操作所要做的就是同步该根目录下的全部文件和文件夹。

但注意到因为theme文件夹下的第三方主题文件,在很多情况下也是一个git仓库,为了便于之后的主题文件进行升级,我们可以考虑将这两部分分别进行同步处理。

上传

以下操作在你的初始电脑平台上进行

因为整个博客都部署在Github上,所以首先考虑的是使用它进行同步操作。

首先在Github上创建一个private repository。

然后在Blog根目录下依次执行

1
2
3
4
5
6
git init
# 注意编辑.gitignore文件,排除theme/next,也可以是其他第三方主题文件夹
git remote add <你的远端git仓库地址>
git add .
git commit -m "Start sync MyHexoBlog"
git push -u origin master

此时你的Hexo主题框架已经被推送至远端仓库。

接下来考虑同步主题文件夹,首先fork你想使用的第三方文件夹到个人仓库。在theme根目录下执行

1
2
3
4
5
6
7
8
git clone <远端仓库地址>
cd <第三方主题文件夹>
git checkout -b customize #新建customize分支
# 如果你修改过第三方主题,可以将你修改后的文件夹覆盖到当前文件夹
git add .
git commit -m "Start sync my customized theme folder"
git branch --set-upstream-to origin/customize
git push -u origin customize

这样你的远端仓库就包含了最起码两个分支,master和customize,之后如果需要更新,可以通过merge两个分支,并处理冲突文件的方式解决。

同步

以下操作在你的第二个平台上进行,并确定已安装node.js & npm。

在你想要同步博客的文件夹下执行

1
2
3
4
5
6
7
8
9
10
git clone <远端博客仓库地址>
cd # 进入到主题文件夹
git clone <远端主题仓库地址>
cd # 进入到第三方主题文件夹
git checkout customize #切换到customize分支
# 回到 hexo 根目录,安装依赖
npm install hexo
npm install hexo-deployer-git
npm install hexo-cli -g
npm install

至此应该可以在终端中输入hexo来验证一下是否安装成功,不需要执行hexo init

之后,每次发布新博文之后依次执行

1
2
3
4
git add .
git commit -m "sync blog"
git push
hexo g -d

切换平台后,记得先执行git pull从远端分支拉取同步文件。