使用Assemble,使用一个模板文件从多个数据文件生成HTML文件?

时间:2014-05-23 22:10:54

标签: gruntjs assemble

我正在尝试使用Assemble使用一个模板从多个数据文件生成多个静态文件。

更详细地说,我有12个表示烹饪食谱数据的JSON文件,以及一个Handlebars文件recipe.hbs,其布局文件为default.hbs。

我想根据每个JSON文件输出一个HTML文件。

文件结构:

/templates
    /data
        recipe1.json
        recipe2.json, etc.
    /layouts
        default.hbs
    /pages
        recipe.hbs

输出:

/output
    recipe1.html (based on recipe1.json)
    recipe2.html (based on recipe2.json), etc.

听起来这应该可以使用集合,但我似乎无法理解如何设置Grunt文件。

感谢。

1 个答案:

答案 0 :(得分:2)

我创建了这个要点:https://gist.github.com/doowb/ca6f3321a05f6ac727e5 其中包含Gruntfile.js文件中的代码,用于动态创建包含配方模板和配方数据的pages列表。

These lines是创建pages数组的关键。它们可以移动到另一个文件中,并且需要使grunt文件更清晰。

This linepages数组添加到汇编的pages选项中,以便构建它们。

如果您没有要构建任何其他页面,请使用this line设置目标而不拉入任何其他页面。

希望这有帮助。