自 Hexo 2.8.2 之后 [1],Hexo 支持使用 theme_config
来配置 theme。在这之前,如果我们想要使用 git 来更新我们 theme,同时又想用 git 管理 theme 的 config,我所知道的唯一一个办法,就是 fork 一份 theme,修改其中的_config.yml
,再用 git submodule
将 fork 的 theme 引入博客仓库中。这个过程比较繁琐。
现在,我们可以利用博客仓库下的_config.yml
来覆盖 theme 仓库下的 config。以我使用的 NexT 为例,默认的 Muse scheme 并不和我意,我希望将其修改成 Mist scheme,只需要添加几行配置:
1 | theme_config: |
Hexo 5.0.0 之后 [1],我们还可以为每个 theme 创建一个单独的 config 文件来进行管理,文件命名规则为_config.[theme].yml
。还是以 NexT 为例,创建_config.next.yml
,修改内容为:
1 | scheme: Mist |
theme 就配置好了。
很奇怪的一点是,目前很多关于 theme 的资料都没有提到 Hexo 已经支持覆盖 theme config,导致我使用了很长一段时间的 Hexo 3.9,却还是在用 fork+submodule 的方法来管理 theme。
下次我将尝试使用 github action 来自动 deploy 我的博客。
2020-07-31 Update
Hexo 5.0.0 支持使用 npm 配置 theme 了。以后不需要手动管理版本,只需要
1 | npm i hexo-theme-next --save |
目前通过 npm 安装的主题在执行 hexo clean 时会报错,是 Hexo 的已知问题,将在下个版本修复。