如何在YMF中包含Partials(Assemble.io / Handlebars.js)

时间:2015-06-08 11:41:23

标签: handlebars.js assemble

我使用assemble.io为简单的网页生成一些静态文件。

现在我想在YAML Front Matter中定义一个应该包含在生成的页面中的部分列表。

我想要这个

<div class="slides">
  {{>slide-intro}}
  {{>slide-welcome}}
  {{>slide-goodbye}}
</div>

被这样的东西取代:

---
slides:
  - slide-intro
  - slide-welcome
  - slide-goodbye
---
<div class="slides">
  {{#each slides}}
    {{>this}}
  {{/each}}
</div>

因此,我想使用this中存储的变量内容(例如slide-welcome)作为要包含的部分的名称。

我看到使用{{>this}}无效,但我不知道在哪里寻找解决方案。

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

Handlebars 3引入了Dynamic Partials,您可以像这样使用它们:

---
slides:
  - slide-intro
  - slide-welcome
  - slide-goodbye
---
<div class="slides">
  {{#each slides}}
    {{> (lookup ../slides @index) }}
  {{/each}}
</div>

然而,汇编0.4.x正在使用Handlebars 1,所以切换到使用Handlebars 3的grunt-assemble。grunt-assemble是基于相同的代码,它只是被移动以反映它是一个咕噜的插件。 / p>