Whitespace control

In Liquid, you can include a hyphen in your tag syntax {{-, -}}, {%-, and -%} to strip whitespace from the left or right side of a rendered tag.

Normally, even if it doesn’t print text, any line of Liquid in your template will still print a blank line in your rendered HTML:

Input

{%assignmy_variable="tomato"%}
{{my_variable}}

Notice the blank line before "tomato" in the rendered template:

Output


tomato

By including a hyphen in your assign closing delimiter, you can strip the whitespace following it from the rendered template:

Input

{%assignmy_variable="tomato"-%}
{{my_variable}}

Output

tomato

If you don’t want any of your tags to print whitespace, as a general rule you can add hyphens to both sides of all your tags ({%- and -%}):

Input

{%assignusername="John G. Chalmers-Smith"%}
{%ifusernameandusername.size>10%}
 Wow, {{username}} , you have a long name!
{%else%}
 Hello there!
{%endif%}

Output without whitespace control


 Wow, John G. Chalmers-Smith , you have a long name!

Input

{%assignusername="John G. Chalmers-Smith"-%}
{%-ifusernameandusername.size>10-%}
 Wow, {{username-}} , you have a long name!
{%-else-%}
 Hello there!
{%-endif%}

Output with whitespace control

Wow, John G. Chalmers-Smith, you have a long name!