为什么Hexo一代需要这么长时间?

时间:2015-07-08 10:00:41

标签: hexo

随着文件数量的增加,Hexo花费越来越多的时间使用'hexo g'生成静态HTML文件。为什么Hexo会重建每个'.md'文件,而不是将自己限制为修改过的文件?

我的Hexo版本是3.0.1。

3 个答案:

答案 0 :(得分:3)

这取决于几个方面,但主要的瓶颈是:

主题不使用缓存

作者去年介绍了fragment cache缓存静态部分(页眉,页脚,侧边栏) 主题作者可以使用它来加速页面生成 您可以尝试更改其他主题,看看是否有任何不同。

highlight.js语言检测

如果从3.0开始没有指定语言,则highlight.js将尝试自动检测代码块中的语言,这需要相当长的时间。
考虑使用plain and auto_detect option (#1124)并查看是否有任何不同。

使用增量方法生成静态HTML已经mentioned但未提交。

我使用Hexo的工作流程是:
- hexo serve预览您的更新
  你在这个步骤中迭代修改
  使用hexo-livereload可以帮助您主动重新加载页面 - hexo generate / hexo deploy发布您的网站

答案 1 :(得分:0)

您明确告诉Hexo重建每一个帖子。每次添加新文件时,Node都会花费更长的时间来解释.md文件。

命令' hexo -g'可分为两部分:' hexo'说明你希望Hexo完成以下命令。 ' -g'是<生成'的缩写。使用'生成'没有任何修饰符就是告诉Hexo它应该重建Hexo文件夹中的每个可用帖子。

在我有限的经验中,开发人员只使用' hexo -g'如果他们是:

  • 执行首次设置或维护
  • 无法回忆未发布的帖子的名称

如果您的计算机可以在合理的时间内浏览.md文件,那么请务必使用' hexo -g。'

答案 2 :(得分:0)

最容易改善性能问题的原因之一是降价库存渲染器。幸运的是,有很多选择 - 例如,给hexo-renderer-markdown-it一个镜头:

  1. 将您的hexo安装克隆到一个单独的目录中(或者只是将当前目录复制到另一个目录中)
  2. $ npm un hexo-renderer-marked --save
  3. npm i hexo-renderer-markdown-it --save
  4. run" hexo g"在两个目录中并比较性能