2

我正在使用nanoc为我的项目生成文档。我已经创建了几个文件(〜50)和布局,但目前我正在处理一个文件。奇怪的是,它在不到一秒的时间内编译了这个文件,而不是处理需要超过 20 秒的东西!

Loading site data…
Compiling site…
      update  [0.71s]  output/docs/js/getData/index.html

Site compiled in 22.96s.

当我在之后中止该过程时:

      update  [0.71s]  output/docs/js/getData/index.html

与 CTRL+C 一致,nanoc view我的文件编译得很好。你知道如何加快这个过程吗?nanoc 20 秒在做什么?

4

1 回答 1

5

默认情况下,nanoc 仅显示创建、更新或删除的文件。重新编译但结果相同的文件将不会显示。如果您传递--verbosenanoc compile,您将看到哪些文件已编译但相同。

因此,nanoc 似乎什么都不做的那 20 秒很可能是 nanoc 忙于重新编译但发现编译的文件相同的 20 秒,因此它们没有显示。

除非 nanoc 可以确定它们将保持相同,否则将重新编译项目。有时,nanoc 无法确定重新编译时文件是否相同,因此在这种情况下,无论如何都会重新编译该项目。

编译一个有 50 页的网站需要 23 秒,但速度似乎很慢。它有助于选择快速过滤器(例如,RDiscount 用于 Markdown,pygments.rb 用于语法着色)。如果可以,请运行nanocRuby 分析器(例如perftools.rb)以找出缓慢的来源。

于 2013-01-22T11:08:23.353 回答