Trim 包含的 Twig 模板末尾的空格(尾随换行符)
Trim whitespace (trailing newline) at the end of included Twig template
我正在尝试将一个 Twig 模板包含在另一个模板中,但包含模板中的尾随换行符导致出现不需要的空白。
我的用例是 include 发生在句子中间,就在逗号之前,我不希望逗号之前有任何空格。
基本模板:
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…
我可以确认尾随换行符是问题的原因,但删除它对我来说不是一个可行的解决方案,因为大多数工具都配置为在缺少它时添加它。
有什么方法可以 trim 这个尾随换行符吗?
我在写题的时候找到了答案:
用 Twig 标签结束包含的模板似乎就足够了。所以我最终将内容包装在 spaceless
过滤器中:
{% apply spaceless %}
<time datetime="...">
{{- date.format() -}}
</time>
{% endapply %}
从技术上讲,使用 {% if true %} … {%- endif %}
也可以,但不太容易理解。
-
修饰符在 <time>
中仍然需要,因为 spaceless
只删除 HTML 标签之间的空格,而不是内部。
我正在尝试将一个 Twig 模板包含在另一个模板中,但包含模板中的尾随换行符导致出现不需要的空白。
我的用例是 include 发生在句子中间,就在逗号之前,我不希望逗号之前有任何空格。
基本模板:
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…
我可以确认尾随换行符是问题的原因,但删除它对我来说不是一个可行的解决方案,因为大多数工具都配置为在缺少它时添加它。
有什么方法可以 trim 这个尾随换行符吗?
我在写题的时候找到了答案:
用 Twig 标签结束包含的模板似乎就足够了。所以我最终将内容包装在 spaceless
过滤器中:
{% apply spaceless %}
<time datetime="...">
{{- date.format() -}}
</time>
{% endapply %}
从技术上讲,使用 {% if true %} … {%- endif %}
也可以,但不太容易理解。
-
修饰符在 <time>
中仍然需要,因为 spaceless
只删除 HTML 标签之间的空格,而不是内部。