Управление пробелами в шаблонах Pebble
Мне трудно заставить пробел управлять тем способом, который я хочу в шаблоне Pebble. В настоящее время я генерирую JSON с использованием Pebble, но эта проблема и мой сценарий использования не относятся к JSON (иначе я бы использовал библиотеку JSON, например, Джексона).
Вот мой шаблон Pebble:
"items": {
{% for item in items -%}
"{{ item.name }}": "{{ item.value }}"{% if not loop.last %},{% endif %}
{% endfor %}
},
И вот сгенерированный вывод:
"items": {
"item1": "Value 1",
"item2": "Value 2"
},
Есть две проблемы с этим:
- Мне нужно было две пустые строки в шаблоне (одна до
endfor
и один заendfor
, - Я по-прежнему получаю лишнюю пустую строку в выводе перед закрывающей волнистой скобкой, т.е.
},
,
Я бы хотел, чтобы шаблон выглядел больше следующим образом:
"items": {
{% for item in items -%}
"{{ item.name }}": "{{ item.value }}"{% if not loop.last %},{% endif %}
{% endfor %}
},
И я хотел бы, чтобы результат был:
"items": {
"item1": "Value 1",
"item2": "Value 2"
},
Я перепробовал множество комбинаций модификатора whilespace, но безуспешно получил желаемый формат.
1 ответ
Модификатор управления пробельными символами только обрезать линии. Это не удаляет перевод строки. Единственное решение для вашего варианта использования - удалить пустые строки вокруг {% endfor %}