本博客使用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 | git init |
此时你的Hexo主题框架已经被推送至远端仓库。
接下来考虑同步主题文件夹,首先fork你想使用的第三方文件夹到个人仓库。在theme根目录下执行
1 | git clone <远端仓库地址> |
这样你的远端仓库就包含了最起码两个分支,master和customize,之后如果需要更新,可以通过merge两个分支,并处理冲突文件的方式解决。
同步
以下操作在你的第二个平台上进行,并确定已安装node.js & npm。
在你想要同步博客的文件夹下执行
1 | git clone <远端博客仓库地址> |
至此应该可以在终端中输入hexo来验证一下是否安装成功,不需要执行hexo init
。
之后,每次发布新博文之后依次执行
1 | git add . |
切换平台后,记得先执行git pull
从远端分支拉取同步文件。