我见过人们使用docpad进行博客,但没有找到可以使用的博客框架。虽然Docpad与作为静态站点生成器的Jekyll相比,但我想要像Octopress这样纯粹的博客框架。所以我开始建造一个从几个回购中收集好的零件。
虽然一切都很好,但我的主要问题是,如果我添加一个新帖子(在“src / documents / posts”目录中创建“.md”文件)并执行“docpad run”,docpad会解析每个“.md” “文件并将其全部转换为”html“。我有至少400篇博客文章,这需要花费很多时间,只是为了添加新帖子。有没有办法可以生成新添加的文件,而不是重新生成整个文件集?感谢您的意见。
答案 0 :(得分:3)
这样做的原因是您必须使用包含其他文档列表的布局,在这种情况下修改文档意味着您有可能导致此类列表变得陈旧。
对此的最终解决方案是具体跟踪哪些文档具体参考哪些其他文档,特别是它们引用的属性。目前,我们只是注册一个布尔标志,表明它们是否存在。 Issue #336已成立,以确定如何执行此操作。目前我不知道实现这一点的任何其他静态站点生成器,他们通常只是选择保持内容列表过时,或者我们实现的现有布尔解决方案。
与此同时,有一些解决方案:
将standalone: true
meta data添加到您的博客帖子中,您可以使用this之类的内容自动执行此操作。此属性将禁用此文档上的默认DocPad引用检查,因此如果将其修改,DocPad将不会将引用其他文档的文档添加到重新生成队列。
为您的布局使用手册而非自动内容列表。保持内容列表页面(如博客列表页面)的自动内容列表(使用自定义集合的列表),而不是布局。使用手动列表(在docpad配置文件的templateData属性中手动定义列表)来保持布局。
我们也对这方面的其他建议持开放态度。请参与Issue #336,了解如何改进这一点。希望有所帮助。