Skip to content
Permalink
master
Go to file
 
 
Cannot retrieve contributors at this time
61 lines (37 sloc) 3.7 KB

数据文件

目前,通过 pull 或下载新的 release 版本来更新 NexT 主题的体验并不平滑。当用户使用 git pull 更新 NexT 主题时经常需要解决冲突问题,而在手动下载 release 版本时也经常需要手动合并配置。

现在来说,NexT 推荐用户存储部分配置在 Hexo 站点配置文件(/_config.yml),而另一部分在主题配置文件(/themes/next/_config.yml)。这一方式固然可用,但也有一些缺点:

  1. 配置项被分裂为两部分;
  2. 用户难以弄清何处存放配置选项。

为了解决这一问题,NexT 提供了以下两种方案。

选择 1:Hexo 方式

使用这一方式,你的全部配置都将置于 Hexo 站点配置文件(/_config.yml),并且不需要修改 /themes/next/_config.yml,或者创建什么其他的文件。但是所有用到的主题选项必须放置在 theme_config 后,并全部增加两个空格的缩进。

如果在新的 release 中新增了选项,那么你只需要从 /themes/next/_config.yml 中将他们复制到 /_config.yml 中并将它们的值设置为你想要的。

用法

  1. 请确认不存在 /source/_data/next.yml 文件(如果已存在,请删除)
  2. 从主题的 /themes/next/_config.yml 文件中复制你需要的 NexT 配置项到 /_config.yml 中,然后
    2.1. 所有这些配置项右移两个空格(在 Visual Studio Code 中:选中这些文字,CTRL + ])。
    2.2. 在这些参数最上方添加一行 theme_config:

相关链接

选择 2: NexT 方式

使用这一方式,你现在可以将你的全部配置置于同一位置(/source/_data/next.yml),并且不需要修改 /themes/next/_config.yml。 但是可能无法让所有 Hexo 外部库都准确处理它们的附加选项(举个例子,hexo-server 模块只会从 Hexo 默认配置文件中读取选项)。

如果在新的 release 中出现了任何新的选项,那么你只需要从 /themes/next/_config.yml 中将他们复制到 /source/_data/next.yml 中并设置它们的值为你想要的选项。

这一方法依赖于 Hexo 的数据文件特性。因为数据文件是在 Hexo 3 中被引入,所以你需要更新至 Hexo 3.0 以后的版本来使用这一特性。

用法

  1. 请确认你的 Hexo 版本为 3.0 或更高。
  2. 在你站点的 /source/_data 目录创建一个 next.yml 文件(如果 _data 目录不存在,请创建之)。

以上步骤之后有 两种选择,请任选其一然后继续后面的步骤

  • 选择 1:override: false(默认)

    1. 检查默认 NexT 配置中的 override 选项,必须设置为 false
      next.yml 文件中,也要设置为 false,或者不定义此选项。
    2. 从站点配置文件(/_config.yml)与主题配置文件(/themes/next/_config.yml)中复制你需要的选项到 /source/_data/next.yml 中。
  • 选择 2:override: true

    1. next.yml 中设置 override 选项为 true
    2. /themes/next/_config.yml 配置文件中复制所有的 NexT 主题选项到 /source/_data/next.yml 中。
  1. 然后,在站点的 /_config.yml 中需要定义 theme: next 选项(如果需要的话,source_dir: source)。
  2. 使用标准参数来启动服务器,生成或部署(hexo clean && hexo g -d && hexo s)。

相关链接

You can’t perform that action at this time.