空白控制和换行控制(Whitespace control)
在 Liquid 中,你可以在标签语法中加入一个连字符(-
),例如 {{-
、-}}
、{%-
和 -%}
,用于从渲染标签的左侧或右侧剥离空白字符。
通常情况下,即使某一行 Liquid 代码没有输出文本,它在最终渲染的 HTML 中仍然会留下一个空行:
输入
{% assign my_variable = "tomato" %}
{{ my_variable }}
请注意,在渲染模板中 “tomato” 前面有一个空行:
输出:未使用空白控制
tomato
在 assign
语句的结束符中加入连字符(-
),可以从渲染后的模板中去除其后面的空白字符:
输入
{% assign my_variable = "tomato" -%}
{{ my_variable }}
输出:使用空白控制
tomato
如果你不希望任何标签输出空白字符,一般规则是:在所有标签的两侧都加上连字符({%-
和 -%}
):
输入
{% assign username = "John G. Chalmers-Smith" %}
{% if username and username.size > 10 %}
Wow, {{ username }} , you have a long name!
{% else %}
Hello there!
{% endif %}
输出:未使用空白控制
Wow, John G. Chalmers-Smith , you have a long name!
输入
{% assign username = "John G. Chalmers-Smith" -%}
{%- if username and username.size > 10 -%}
Wow, {{ username -}} , you have a long name!
{%- else -%}
Hello there!
{%- endif %}
输出:使用空白控制
Wow, John G. Chalmers-Smith, you have a long name!