我正在使用 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
我的文件编译得很好。您知道如何加快该过程吗? 20秒nanoc在做什么?
默认情况下,nanoc 仅显示创建、更新或删除的文件。重新编译但结果相同的文件将不会显示。如果将
--verbose
传递给 nanoc compile
,您将看到哪些文件已编译但相同。
所以,nanoc 似乎什么都不做的那 20 秒很可能是 nanoc 忙于重新编译的 20 秒,但发现编译后的文件是相同的,因此没有显示。
项目将被重新编译,除非 nanoc 可以确保它们保持相同。有时,nanoc 无法确定文件在重新编译时是否相同,因此在这种情况下,无论如何都会重新编译该项目。
23 秒编译一个 50 个页面的网站似乎很慢。它有助于选择快速过滤器(例如,用于 Markdown 的 RDiscount、用于语法着色的 pygments.rb)。如果可以的话,通过 Ruby 分析器(例如
perftools.rb)运行
nanoc
来找出缓慢的原因。