从JSON Array或类似的生成Docpad页面

时间:2013-06-11 13:39:18

标签: json code-generation docpad

有没有办法配置DocPad从保存在外部文件(或内联字符串)中的json数组开始生成页面而不是从文件集合生成页面?

为了澄清,我从JSON文件中获取的展示帖子详细信息,请参见下文。

而不是这个: <% for post in @getCollection("html").findAll({ relativeOutDirPath: 'posts' }).toJSON(): %>

我用这个: <% for post in JSON.parse @include("posts.json"): %>

确定。现在我想直接从这个JSON生成帖子页面,而不是像示例中那样为每个帖子创建一个页面。

例如,我想在JSON中存在{urlname}时使用url /posts/{urlname}.html创建页面,如下所示:

[
  { "id": "1", "urlname": "prod1", "metadata": { "title": "val1" } },
  { "id": "2", "metadata": null },
  { "id": "3", "urlname": "prod3", "metadata": { "title": "val1b", "prop2": "val2b" } }
]

我想生成/posts/prod1.html和/posts/prod2.html页面,其中包含元数据属性中的元数据。

感谢回复..;)

PS很棒的工作!!!!!!!

1 个答案:

答案 0 :(得分:1)

目前除了从src目录上的文件系统(我们都习惯使用的方式)解析数据之外,没有正式的方法将数据注入到内存数据库中的DocPad中。但是,此功能(称为导入程序)是DocPad的下一个重要工作,您可以找到task issue here

与此同时,您可以在template data中添加JSON,该JSON适用于内容列表,但不适合为每个条目提供单独的文档。