有没有办法配置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很棒的工作!!!!!!!
答案 0 :(得分:1)
目前除了从src
目录上的文件系统(我们都习惯使用的方式)解析数据之外,没有正式的方法将数据注入到内存数据库中的DocPad中。但是,此功能(称为导入程序)是DocPad的下一个重要工作,您可以找到task issue here。
与此同时,您可以在template data中添加JSON,该JSON适用于内容列表,但不适合为每个条目提供单独的文档。