说在前面
Hexo博客静态页面是用hexo-deployer-git插件自动提交到bejondshao.github.io库中的master分支的。为了保存文章和自定义内容,我将Hexo框架,文章和自定义内容保存在source分支下。平时编辑提交都在source分支做,执行hexo deploy时hexo-deployer-git自动将静态内容提交到master,不必手动切换分支,很方便。
言归正传,之前有介绍过升级Hexo主题。里面手动下载源码,手动自定义,随着自定义内容越来越多,每次升级主题会很麻烦。所以有必要将主题也提交到代码库中。但是将主题提交到Hexo与文章中显然不合适,并且想和hexo-theme-hueman(This repository is archived. I don’t recommend you use it any more.)保持同步会很麻烦。所以有必要将主题单独提交到另一个资源中。
- 将本地
bejondshao.github.io/themes/hueman/
文件夹备份。 - 将hueman主题从源码移出
$ git rm -r themes/hueman
(将themes/hueman文件夹以及内容递归移除资源库) - 编辑
bejondshao.github.io/.gitignore
文件,在末尾添加themes/hueman/
- 将更改提交到github的source分支:
1 | $ git add . (将之前的操作的所有文件添加为待提交内容) |
经过以上四步,hueman已经从bejondshao.github.io中完全移出了。以后在hueman中的修改都不会被bejondshao.github.io的git检测到。
5. 将hexo-theme-hueman fork到自己的账号中。
6. 克隆资源库到本地。
$ git clone git@github.com:ppoffice/hexo-theme-hueman.git
会在本地创建hexo-theme-human文件夹,里面包含主题源码。将hexo-theme-human重命名为hueman。
7. 将第一步备份的文件拷贝,覆盖第六步的文件夹。这样所有自定义修改都还在。将hueman文件夹拷贝到bejondshao.github.io/themes/
下。
8. 编辑hueman/.git/config如下:
1 | [core] |
- 编辑hueman/.gitignore,将_config.yml那一行移出,因为我们应该把_config.yml自定义的内容也提交到资源库中。
- 将内容提交到远端库中。我建议切一个新的分支来存储带自定义的内容。
1 | $ git checkout -b bejondshao (切创建一个新分支,并切换到那个分支) |
这样,以后更改主题,在hueman资源库中提交,不会影响hexo主体内容。
11. 以后升级主题,只需要执行:
1 | $ git checkout bejondshao (确保在分支bejondshao操作,正常也是在这个分支,因为基本不会用到master分支) |
- 做完以上操作,已经完成处理好hexo文章和主题的分离了,执行
1 | $ hexo clean |
查看下结果吧🍺!