Nanoc编译时间长

kee*_*imi 2 ruby erb nanoc

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

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

Site compiled in 22.96s.
Run Code Online (Sandbox Code Playgroud)

当我中止该过程之后:

      update  [0.71s]  output/docs/js/getData/index.html
Run Code Online (Sandbox Code Playgroud)

用CTRL + C行,并且nanoc view我的文件编译良好。您是否知道如何加快流程?nanoc在做什么20秒?

Den*_*yne 5

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

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

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

但是,用23秒来编译一个包含50页的网站似乎很慢。它有助于选择快速的过滤器(例如,用于Markdown的RDiscount,用于语法着色的pygments.rb)。如果可以的话,请nanoc通过Ruby探查器(例如perftools.rb)运行,以找出速度缓慢的原因。