修剪包含的 Twig 模板末尾的空格(尾随换行符)



我正在尝试在另一个模板中包含 Twig 模板,但存在由包含的模板中的尾随换行符引起的不需要的空格。

我的用例是包含发生在句子中间,就在逗号之前,我不希望在逗号之前有任何空格。

基本模板:

Né le {{ include("date.html.twig", {date: date}) }}, décédé le…

包含的模板:

<time datetime="...">
{{- date.format() -}}
</time>

期望的结果 :

Né le 6 mai 1977, décédé le…

实际结果 :

Né le 6 mai 1977 , décédé le…

我可以确认尾随换行符是问题的原因,但删除它对我来说不是一个可行的解决方案,因为大多数工具都配置为在缺少时添加它。

有没有办法修剪这个尾随换行符?

我在写问题时找到了解决方案:

用 Twig 标签结束包含的模板似乎就足够了。所以我最终将内容包装在spaceless过滤器中:

{% apply spaceless %}
<time datetime="...">
{{- date.format() -}}
</time>
{% endapply %}

从技术上讲,使用{% if true %} … {%- endif %}也可以,但更难理解。

<time>内部仍然需要-修饰符spaceless因为它只删除 HTML 标记之间的空格,而不是内部。

相关内容

  • 没有找到相关文章

最新更新