我正在使用 Nunjucks(与 Eleventy)并且一直在重构一些导航 html 以简化事情。我已经用下面定义的宏替换了所有的“a”导航标签:
{% macro link(path,label,level) %}
<!-- path = '{{ path }}/', page.url = '{{ page.url }}' -->
<a href="{{ path }}/index.html"
class="level_{{ level }} {{ 'current' if '{{path}}/' == page.url }}"><span>{{ label }}</span></a>
{% endmacro %}
我现在发现之前运行良好的“if”语句在宏中使用时不再起作用。其目的是为用户当前所在页面的链接分配“当前”类。
注意宏中的注释。这是一个测试,所以我可以看到正在比较的值是什么。奇怪的是,测试表明这些值没有问题,但“if”语句仍然没有运行。例如,这是当前页面链接的评论中出现的示例(应分配“当前”类):`。如您所见,这两个值是相同的。那么为什么'if'测试失败了?