Обрезать пробелы (завершающий символ новой строки) в конце включенного шаблона Twig - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь включить шаблон 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…

Я могу подтвердить, что завершающая новая строка является причиной проблема, но удаление ее не является для меня жизнеспособным решением, поскольку большинство инструментов настроено на ее добавление, если она отсутствует.

Есть ли способ обрезать эту завершающую новую строку?

1 Ответ

0 голосов
/ 28 мая 2020

Я нашел решение при написании вопроса:

Кажется, достаточно завершить включенный шаблон тегом Twig. В итоге я обернул содержимое фильтром spaceless:

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

Технически использование {% if true %} … {%- endif %} также работает, но гораздо менее понятно.

- модификаторы все еще необходимы внутри <time>, потому что spaceless удаляет пробелы только между тегами HTML, а не внутри.

...