【问题标题】:Generating only a subset of posts in DocPad在 DocPad 中仅生成帖子的子集
【发布时间】:2013-12-05 16:25:15
【问题描述】:

我见过有人使用 docpad 来写博客,但没有找到现成的博客框架。虽然 Docpad 与 Jekyll 相比,后者是静态站点生成器,但我想要像 Octopress 这样纯粹的博客框架。所以我开始构建一个从几个 repos 中收集好的部分。

虽然一切都很好,但我的主要问题是,如果我添加一个新帖子(在“src/documents/posts”目录中创建一个“.md”文件)并执行“docpad run”,docpad 会解析每个“.md "文件并将它们全部转换为"html"。我至少有 400 篇博文,而且要花很多时间,只是为了添加一篇新博文。有没有一种方法可以只生成新添加的文件而不是重新生成整个文件集?感谢您的投入。

【问题讨论】:

    标签: docpad


    【解决方案1】:

    这样做的原因是您必须使用包含其他文档列表的布局,在这种情况下,修改文档意味着您面临这些列表变得陈旧的风险。

    对此的最终解决方案是具体跟踪哪些文档具体引用了哪些其他文档,以及具体引用了哪些属性。目前,我们只是注册一个布尔标志,表明他们是否这样做。建立Issue #336 是为了弄清楚如何做到这一点。目前我不知道有任何其他静态站点生成器实现了这一点,他们通常只是选择保持内容列表过时,或者我们实现的现有布尔解决方案。

    同时,有几个解决方案:

    1. standalone: true meta data 添加到您的博客帖子中,您可以使用this 之类的内容自动执行此操作。此属性将禁用对该文档的默认 DocPad 引用检查,因此如果对其进行修改,DocPad 将不会将引用其他文档的文档添加到重新生成队列中。

    2. 为您的布局使用手动而不是自动内容列表。为内容列表页面(如博客列表页面)保留自动内容列表(使用自定义集合的列表),而不是在布局中。使用手动列表(您在 docpad 配置文件的 templateData 属性中手动定义列表)保留布局。

    我们也愿意就此提出其他建议。请参与Issue #336 以添加您对如何改进的想法。希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-16
      • 1970-01-01
      • 2014-10-12
      • 1970-01-01
      • 1970-01-01
      • 2015-08-17
      • 2014-07-19
      • 1970-01-01
      相关资源
      最近更新 更多