3

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

我试图在布局上使用部分“主体”两次,如下所示:

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

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

我的初衷实际上是使用它进行选择性降价渲染,例如:

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

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

这听起来像一个合法的问题吗?只是想帮忙,仅此而已。:-)

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

4

2 回答 2

2

这是一个有趣的用例……我们曾经将页面内容注册为body部分内容,但后来停止这样做,而是使用 Regex 将{{>body}}标签替换为页面内容。我认为您应该打开一个问题,要求我们替换所有正文标签,而不仅仅是第一次出现。

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

于 2014-03-12T04:11:49.270 回答
1

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

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

于 2014-03-26T19:51:33.767 回答