Hexo 博客多个设备同步详细步骤

0. 背景

hexo 作为一个轻量级博客框架,具备简单易用的特点。作为一个 hexo 的重度用户,笔者在使用 hexo 的时候经常会碰到一个大家都会遇到的问题:更换电脑后如何重新写作?

Photo by averie woodard on Unsplash

下面不用视频了,看我操作就行了,请大家看看我是怎么在新的设备上重新写博客的。

1. 操作流程

1.1 安装 node.js 和 git(必需)

1
2
3
sudo apt-get install nodejs

sudo apt-get install git

1.2 设置 ssh keys

更换新的生产环境后,hexo 生成的静态网页文件需要通过部署到 git,所以必然要与 GitHub 通信。设置 ssh key 就好比 github 给你的设备一片钥匙,有了它,你的设备才可以在 github 上进出自如。

(1)检查是否有 ssh key,如果有则删除掉

1
ls -al ~/.ssh

(2)在本机上生成 key

1
ssh-keygen -t rsa -C "your@email.com"

(3)添加秘钥

1
ssh-add ~/.ssh/id_rsa

(4)拷贝公钥到 github

1
2
cat ~/.ssh/id_rsa.pub | xsel -b  # 需要安装 xsel
xsel < ~/.ssh/id_rsa.pub # 拷贝公钥内容至系统剪贴板

这时公钥内容已经在系统剪贴板上了,打开 github 账号:settings -> ssh and GPG keys -> New ssh key,然后 ctrl + v,把公钥粘贴到文本框里,title 可以随便起,添加成功。

将 id_rsa.pub 添加至 github

1.3 将博客的源文件部署到新的分支

hexo 的代码分为两个部分,分别是静态网页文件和网站源代码,每当 hexo 需要重新更换生产环境,不需要像笔者之前那样将整个文件全部拷贝下来,而仅仅需要几个关键文件就好了。

(1)把项目克隆到本地

1
git clone https://github.com/username/username.github.io.git

(2)新建 source 远程分支

进入 username.github.io 文件夹,创建名为 source 的新分支

1
git branch source

(3)推送网站源代码至 source 分支

1
2
3
git add .
git commit -m "add SOURCE CODE to source branch"
git push origin source

至此,你的项目中就有两个分支了,master 分支负责保存生成的静态网页文件,source 分支负责管理网站的源文件。

但是这样做有些不好,它会把你网站所有的源代码都暴露出来,并且 github 并没有仓库私有化,所以只能将网站的源文件备份到另外一个代码管理网站:coding。

1.4 根据 package.json 安装依赖

1
npm install

1.5 安装 hexo

1
2
3
npm install hexo -g

npm install hexo-cli -g # hexo 的命令行模式

网站根目录下测试 hexo s、hexo g、hexo d,如果没有错误信息则表示同步成功。

参考链接

  1. Node.js 安装配置
觉得还不错?赞助一下~
0%