我试图这样做:
body(
|{% case page.url %}
| {% when '/' %}
| class="hellopage"
| {% when page.url contains '/gallery/' %}
| class="gallerypage"
|{% endcase %}
)
这个 {% .. %} 实际上是为 Liquid 准备的。
所以,它没有被编译。如何在标签中编写多行属性?
编辑:
问题是 Pug 编译器不喜欢{%
属性中的字符序列。在您的特定情况下,解决方法是转义换行符并将 Liquid 逻辑也放入属性值字符串中:
body(class="\
{% case page.url %}\
{% when '/' %}\
hellopage\
{% when page.url contains '/gallery/' %}\
gallerypage\
{% endcase %}"
)
老答案:
我认为您不需要管道字符 ( |
) 来执行此操作。Pug支持多行上的属性。这样的事情就足够了:
body(
{% case page.url %}
{% when '/' %}
class="hellopage"
{% when page.url contains '/gallery/' %}
class="gallerypage"
{% endcase %}
)
应该可以工作,但尚未对其进行测试(由于缺乏 Liquid+Pug 测试环境)。