我正在使用gulp和nunjucks的静态站点上工作。
例如,假设我有一个标题栏,希望在同一页面的两个位置显示。我将如何实施?
我在Jinja中看到您可以在another stackoverflow post中进行类似{% set title_s %}{% block title %}MY DEFAULT TITLE{% endblock %}{% endset %}
的操作,但这似乎不适用于nunjucks。当我使用{{title_s}}
时,我只会得到文本“ undefined”。
编辑:我最终仅在子模板中使用{% set title %}PAGE TITLE{% endset %}
。这意味着我可以在父模板中使用该值。我现在不确定哪种方法合适。
答案 0 :(得分:0)
我不确定我是否清楚地理解了您的问题,但是如果您要的是该示例,请参阅此示例
article.njk
{% macro articleMacro(title, headerOnly = false) %}
<article>
{% if headerOnly %}
<header>{{title}}</header>
{% else %}
<header>{{title}}</header>
<p>article body</p>
<footer></footer>
{% endif %}
</article>
{% endmacro %}
page.njk
{% import "article.njk" as article %}
// this will render full article
{{ article('header one', false) }}
// this will render article header
{{ article('header one', true) }}