Удалите пустые строки, оставленные определениями переменных Jinja2

При написании файлов шаблонов с использованием Jinja2 для Saltstack, я часто определяю некоторые переменные в начале файла. Например:

{% set ip = grains['ip4_interfaces']['eth1'][0] %}
{% set domain = pillar['company_domain'] %}
{% set version = pillar['site_version'] %}
{% set site_url = 'www.' + domain %}

[...]

Все работает нормально, но при открытии сгенерированного файла я получаю блок пустых строк, где был код jinja.

Я что-то делаю неправильно? Если нет, есть ли способ избавиться от этих пустых строк при использовании шаблонов?

Ответы

Ответ 1

В Jinja2 есть контроль пробелов. Возможно, вы захотите:

{%- set ip = grains['ip4_interfaces']['eth1'][0] -%}
{%- set domain = pillar['company_domain'] -%}
{%- set version = pillar['site_version'] -%}
{%- set site_url = 'www.' + domain -%}

[...]

Кроме того, файл конфигурации поддерживает jinja_trim_blocks и jinja_lstrip_blocks.