我目前正在编写一个小型 Docpad 插件,以将文档 contentRenderedWithoutLayouts 输出到 .html 版本旁边的单独 .json 文件中,以便稍后通过 ajax 请求加载它。
该插件通过覆盖 Baseplugin 的 render: (opts) -> 方法并检查我们是否正在渲染文档和 html 来工作。
我现在注意到,对于某些文档,此方法会被多次调用,这似乎与渲染通道相关。那么如何检测每个文档的最终渲染过程以避免每次渲染多次写入 .json 呢?
非常感谢
--
编辑:再次查看 Docpads 事件列表后找到了答案:http: //docpad.org/docs/events
该writeAfter
事件是获取最终数据并设置输出目录树的正确位置,因此我可以将 .json 文件放在 .html 旁边。
如果您有兴趣在这里找到插件:https ://github.com/field/docpad-plugin-jsonfragment