为了让源代码缩进好看,我们会加很多空白字符比如把不会产生输出的标签也单独一行。LiquidJS 提供了空白字符控制机制,可以避免这些多余的空白字符输出到 HTML 中。
通过标记的方式
默认所有标签和输出的行,都会在行尾产生一个换行(\n
),如果有缩进的话还会产生很多前导空格。例如:
{% author = "harttle" %}
{{ author }}
将会输出(注意前面的空行):
harttle
可以在标签和输出的标记里面加横线({{-
, -}}
, {%-
, -%}
)来移除左侧/右侧的空白。例如:
{% assign author = "harttle" -%}
{{ author }}
将会输出:
harttle
这个例子中 -%}
移除了 assign
标签右侧的空白。
通过选项
此外 LiquidJS 还提供了一系列选项来帮助扫代码式地移除空白:
trimTagLeft
trimTagRight
trimValueRight
trimValueRight
LiquidJS 默认 不会 移除任何空白字符,也就是说上面几个选项的默认值都为 false
。这几个选项的详情请参考 LiquidJS 选项。
贪婪模式
上述几个设置默认情况下会跨越换行(\n
),如果你希望保留上下空行可以把 greedy 选项 关掉,这样遇到 \n
就会停止。为了和 shopify/liquid 一致该选项默认是打开的。