本博客年久失修,为了显得好看一点,也为了重新写一些文章,特地从Jekyll换成了Hexo。

当初部署成Jekyll完全是因为听信了GitHub的默认配置建议,等到我真正部署了才发现我根本折腾不明白Jekyll,选的主题也很难看。今日,我把博客生成工具换成了我更熟悉的Hexo,迁移步骤如下。

文章迁移

首先,迁移的核心是文章。两种框架存放文章的位置有所不同。Jekyll是直接放在@/posts里,Hexo则是放在@/source/_posts里。其次应该是文章所用到的图片,不过我的博客目前还没有图,因此这步先忽略。

设置Hexo主题

本博客目前所选主题是aircloud,简洁、功能齐全。为了后续部署的自动化,主题的下载使用git指令添加该主题为submodule。

git submodule add https://github.com/aircloud/hexo-theme-aircloud ./themes/hexo-theme-aircloud

_config.yml是一些全局选项,两种框架大同小异。 Hexo的主题设定也写在这个文件里。详细配置请参考Aircloud作者的demo

Aircloud可以显示头像,但我懒得上传图片。因此,我选择从Gravatar获取头像。 Gravatar的头像APIURIhttps://gravatar.com/avatar/EMAIL_HASH。其中EMIAL_HASH为你在Gravatar上登记的邮箱的md5哈希值,可以通过如下指令生成:

printf "your-email@example.com" | md5sum | awk '{print $1}'

最后的工作

或许你注意到了,使用hexo生成博客的时候需要下载nodejs依赖,也就是@/node_module文件夹下的内容。在此之前,我们需要先编辑@/.gitignore文件,将node_module加入到忽略列表里。我从其他Hexo项目里复制了package*.json,然后运行npm install

自此,博客的配置就完毕了。

附加步骤:GitHub Actions

首先根据Hexo官网的指南进行设置,然后在适当的位置加入如下代码以安装主题:

- name: Install Theme
run: |
git submodule init
git submodule update --remote

All done.