汇编 - 无法重复使用{{> body}}:“无法找到部分正文”

时间:2014-03-11 18:57:12

标签: gruntjs handlebars.js assemble

首先,如果这是一个愚蠢的问题,请原谅我。我是新手组装(上周开始使用它)和StackOverflow。

我试图使用部分"身体"在布局上两次,如下:

{{>body}}
{{>body}}

我收到标题中的错误消息:The partial body could not be found

我的初衷当然是将其用于选择性降价渲染,例如:

{{#is (extname page.src) "md"}}
    {{#markdown}}
        {{>body}}
    {{/markdown}}
{{else}}
    {{>body}}
{{/is}}

但是在这种情况下,当页面没有降价时我会得到同样的错误。

这听起来像是合法的问题吗?只是想帮助,这就是全部。 : - )

(顺便说一下,对于选择性降价问题,我刚刚实施了一个{{#markdown-if}}帮助器来完成这项工作,所以我不需要帮助让这个逻辑起作用。我只是想帮助组装以防万一我发现这听起来像是一个真正的问题。)

2 个答案:

答案 0 :(得分:2)

这是一个有趣的用例...我们过去常常将页面内容注册为body部分,但停止这样做,而是使用正则表达式将{{>body}}标记替换为页面内容。我认为你应该open an issue要求我们替换所有的body标签而不是第一次出现。

所以要回答这个问题......汇编会执行string.replace并且只会替换第一次出现,因此如果尝试两次使用{{>body}},则会出错。

答案 1 :(得分:1)

我能够使用initializeEngine选项在0.4.12中修复此问题并更改两个{{> body}}仅引用{{body}}

请参阅https://github.com/assemble/assemble/pull/468#issuecomment-38730532