删除 Jinja2 变量定义留下的空行
Remove the empty lines left by Jinja2 variable definitions
在为Saltstack使用Jinja2编写模板文件时,我经常在文件开头定义一些变量。例如:
{% set ip = grains['ip4_interfaces']['eth1'][0] %}
{% set domain = pillar['company_domain'] %}
{% set version = pillar['site_version'] %}
{% set site_url = 'www.' + domain %}
[...]
一切正常,但是当打开生成的文件时,我在 jinja 代码所在的位置看到了一段空行。
我是不是做错了什么?
如果没有,有没有办法在使用模板时摆脱那些空行?
Jinja2 中有whitespace control。你可能想要:
{%- set ip = grains['ip4_interfaces']['eth1'][0] -%}
{%- set domain = pillar['company_domain'] -%}
{%- set version = pillar['site_version'] -%}
{%- set site_url = 'www.' + domain -%}
[...]
还有盐 configuration file supports jinja_trim_blocks
and jinja_lstrip_blocks
(jinja_env:trim_blocks
, jinja_env:lstrip_blocks
, jinja_sls_env:trim_blocks
, and jinja_sls_env:lstrip_blocks
as of 2018.3).
在为Saltstack使用Jinja2编写模板文件时,我经常在文件开头定义一些变量。例如:
{% set ip = grains['ip4_interfaces']['eth1'][0] %}
{% set domain = pillar['company_domain'] %}
{% set version = pillar['site_version'] %}
{% set site_url = 'www.' + domain %}
[...]
一切正常,但是当打开生成的文件时,我在 jinja 代码所在的位置看到了一段空行。
我是不是做错了什么? 如果没有,有没有办法在使用模板时摆脱那些空行?
Jinja2 中有whitespace control。你可能想要:
{%- set ip = grains['ip4_interfaces']['eth1'][0] -%}
{%- set domain = pillar['company_domain'] -%}
{%- set version = pillar['site_version'] -%}
{%- set site_url = 'www.' + domain -%}
[...]
还有盐 configuration file supports jinja_trim_blocks
and jinja_lstrip_blocks
(jinja_env:trim_blocks
, jinja_env:lstrip_blocks
, jinja_sls_env:trim_blocks
, and jinja_sls_env:lstrip_blocks
as of 2018.3).