目前,通过 pull 或下载新的 release 版本来更新 NexT 主题的体验并不平滑。当用户使用 git pull 更新 NexT 主题时经常需要解决冲突问题,而在手动下载 release 版本时也经常需要手动合并配置。
现在来说,NexT 推荐用户存储部分配置在站点的 _config.yml 中,而另一部分在主题的 _config.yml 中。这一方式固然可用,但也有一些缺点:
- 配置项被分裂为两部分;
- 用户难以弄清何处存放配置选项。
为了解决这一问题,NexT 将利用 Hexo 的数据文件特性。因为数据文件是在 Hexo 3 中被引入,所以你需要更新至 Hexo 3.0 以后的版本来使用这一特性。
如果你仍然希望使用 Hexo 2.x,你依旧可以按老的方式进行配置。NexT 仍然兼容 Hexo 2.x(但可能会出现错误)。
Hexo 的方式
使用这种方法,所有的配置保存在 hexo 配置文件中(hexo/_config.yml
),并且不需要修改 next/_config.yml
配置文件或者创建其他任何文件。但是你必须在 theme_config
选项中保留双重空格缩进。
如果在新版本中有任何新的配置项,你只需要从 next/_config.yml
拷贝这些配置项,粘贴到 hexo/_config.yml
并且设定他们为你想要的值。
使用方法
- 检查不存在
hexo/source/_data/next.yml
文件(如果存在就删除)。 - 从
next/_config.yml
拷贝需要的 NexT 主题配置项到hexo/_config.yml
中,然后:
2.1. 把这些选项向右移动两个空格。
2.2. 在这些选项的上方加上theme_config
参数。
相关链接
NexT 的方式
使用这种方法,你可以将所有的配置置于同一位置(source/_data/next.yml
),并且不需要修改 next/_config.yml
。但是这种选项可能无法准确的处理所有的 hexo 外部库及其附加选项(举个例子,hexo-server
模块选项可能只从默认的 hexo 配置中读取)。
如果在新版本中有任何新的配置项,你只需要从 next/_config.yml
拷贝这些配置项,粘贴到 data/next.yml
并且设定他们为你想要的值。
使用方法
- 请确认你的 Hexo 版本为 3.0 或更高。
- 在你站点的
hexo/source/_data
目录创建一个next.yml
文件(如果_data
目录不存在,请创建之)。
在这些步骤之后有两个选择,只需要选择其中一个,然后继续下一步。- 选择1:
override: false
(default):
i. 检查 NexT 默认配置中的override
选项,必须设定为false
。在next.yml
中,无需定义它,或者也必须设定为false
。
ii. 复制你站点的_config.yml
和主题的_config.yml
中的 NexT 配置项 到hexo/source/_data/next.yml
中。 - 选择2:
override: true
:
i. 在next.yml
中,override
选项必须设定为true
。
ii. 复制你主题_config.yml
中的 所有配置项 到hexo/source/_data/next.yml
中。
- 选择1:
- 站点配置文件
_config.yml
中需要定义theme: next
选项。 - 使用标准参数来启动服务器,生成或部署(
hexo clean && hexo g -d && hexo s
)。