首页 > 解决方案 > Nunjucks 打印宏调用命令而不是标记

问题描述

我正在使用 Nunjucks 和 Metalsmith 作为静态站点生成器来创建大量 html 文件。

我正在尝试创建一个部分,我可以更改其中的一些信息,并尝试对其使用宏。但是,字符串{{ breadcrumb.levelOne( activeLink='current page title' ) }}会按原样打印在生成的 html 文件中,而不是调用宏并将我在 breadcrumb.njk 中设计的标记放入 html 文件中。

我有以下结构:

模板

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body class="enable-chat">
  <!-- ========== MAIN ========== -->
  <main role="main">
    {% block en %}{% endblock %}
  </main>
</body>
</html>

部分

{% macro levelOne( activeLink ) %}
<div id="breadCrumb" class="bg-light">
   {{ activeLink }}
</div>
{% endmacro %}

页面

{% extends './templates/base.njk' %}

{% import "./partials/breadcrumb.njk" as breadcrumb %}

{% block en %}
<!-- Start Breadcrumb-->
    {{ breadcrumb.levelOne( activeLink='current page title' ) }}
<!-- End Breadcrumb-->
{% endblock %}

为什么会发生这种情况,我该如何解决这个问题?

标签: htmlimportmacrosnunjucksstatic-site-generation

解决方案


推荐阅读