Hexo 2.8 发布

Hexo 2.8 进行了重写,带来了更好的性能和许多改进。以下是此版本的亮点。您可以在 GitHub 上查看 详情

更快的处理速度

在 Hexo 2.8 之前,每次使用 Hexo 时都必须处理所有源文件。在 Hexo 2.8 中,整个数据库将保存到 db.json 中,因此 Hexo 不必再次处理所有文件。此外,还添加了一种新的数据类型“skip”,供处理器检测文件是否已更改。

Hexo 2.8 中也更改了生成方式。您现在可以在控制台中查看每个文件的经过时间。但是,我发现多进程生成对生成速度的影响并不大。因此,multi_threadmax_open_file 设置在 Hexo 2.8 中已弃用。

草稿发布

您不再需要输入完整的文件名来发布文章。草稿发布系统在 Hexo 2.8 中进行了重写。new_post_name 设置将应用于草稿发布之前。此外,您还可以选择在发布时应用哪个布局。

$ hexo publish [layout] <filename>

添加了一个新的 API post.publish,帮助您更轻松地发布草稿。

hexo.post.publish({slug: 'hello-world', layout: 'post'}, function(err, target){
// ...
});

永久链接

文件名和永久链接现在共享更通用的变量系统。文件名中的所有变量也可以在永久链接中读取。以下是一个示例配置

permalink: :type/:title/
new_post_name: :type/:title.md

当您创建一篇博文时,该博文将保存到 source/_posts/test/Hello-World.md,并且 URL 将为 https://#:4000/test/Hello-World/

$ hexo new "Hello World" --type test

多语言支持

借助上一节中介绍的新永久链接功能,创建多语言网站变得更加容易。例如

permalink: :lang/:title/
new_post_name: :lang/:title.md

然后,您可以使用 --lang 选项创建一篇博文

$ hexo new "Hello World" --lang en
# => This post will be saved to source/_posts/en/Hello-World.md
# => URL: https://#:4000/en/Hello-World/

$ hexo new "你好世界" --lang tw
# => This post will be saved to source/_posts/tw/你好世界.md
# => URL: https://#:4000/tw/你好世界/

您可以在 permalink_defaults 设置中定义永久链接变量的默认值。例如,我们将默认语言定义为英语。

permalink_defaults:
lang: en