在包含的Twig模板的末尾修剪空白(尾部换行)。

问题描述 投票:0回答:1

我试图在另一个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 removing-whitespace trailing-whitespace
1个回答
0
投票

我在写这个问题的时候找到了解决方案。

用Twig标签来结束包含的模板似乎已经足够了。所以,我最后把内容包在了一个 spaceless 过滤器。

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

技术上使用 {% if true %} … {%- endif %} 也能用,但就不那么容易理解了。

- 里面还需要修饰符 <time> 因为 spaceless 只删除HTML标签之间的空白,而不是里面的空白。

© www.soinside.com 2019 - 2024. All rights reserved.