【发布时间】:2014-06-05 07:25:02
【问题描述】:
是否可以将 Docpad 用作静态站点生成器,同时输出可供客户端 JS 应用使用的 json 文件?
我正在使用 Docpad 作为静态站点生成器来构建网站,并且我有一个活动部分,我希望活动主页列出使用 Docpad 发布的所有活动(带有指向活动详细信息页面的链接) .
我想要做的是通过循环一个包含所有事件的集合来生成事件列表,但我也想让列表更具交互性和可排序性(因为我们有各种各样的事件和希望让人们更容易找到感兴趣的事件)。
我想做的是将事件列表输出到 JSON 文件,我们可以将其传递给 AngularJS 应用程序,该应用程序执行事件的呈现、排序和显示。
我知道 Docpad 可以用来生成 xml,但是可以使用 Docpad 生成包含所需数据的 json 文件吗?到目前为止,我的尝试都失败了,这就是为什么我要问我所问的是否可能。我的备份是使用 XML,但我更喜欢 JSON,因为 Angular 可以原生使用它。
TIA。
【问题讨论】:
-
我在toonoisyfish.be 上就是这样做的。事件的所有数据都存储在磁盘上的 json 文件中。我有一个(私人)页面,用于编辑需要密码的数据(将快速中间件添加到 docpad.coffee - 请参阅gist.github.com/balupton/4557006),并有一个将更改的数据保存到文件的路径。 (事实上,我用 PHP 实现了这一点,因为我的客户以前使用过它,但我找不到任何便宜的节点托管)
-
@SimonH1000 你能分享一些关于你有 DocPad 来生成 JSON 的细节吗?我仍然有点不清楚如何使用静态站点进行此操作。如果我理解正确,您是从 PHP 而不是从 DocPad 生成 JSON。我想让 DocPad 通过解析 DocPad 集合来生成它。
-
基本上,您需要在 docpad.coffee 中使用 serverExtend 事件来创建一个快速挂钩,您也可以从客户端发布该挂钩并将结果保存到您的 .json 文件中。我找不到用于 Docpad 的代码,因为我最终不得不在 php 中实现。
标签: json docpad static-site