Variable Tags

Variable Tags are used to create new Liquid variables.

  1. assign
  2. capture
  3. increment
  4. decrement

assign

Creates a new variable.

Input
  {% assign my_variable = false %}
  {% if my_variable != true %}
  This statement is valid.
  {% endif %}
Output
   This statement is valid.


Use quotations " " to save the variable as a string.

Input
  {% assign foo = "bar" %}
  {{ foo }}
Output
  bar

capture

Captures the string inside of the opening and closing tags and assigns it to a variable. Variables created through capture are strings.

Input
  {% capture my_variable %}I am being captured.{% endcapture %}
  {{ my_variable }}
Output
  I am being captured.

increment

Creates a new number variable, and increases its value by one every time it is called. The initial value is 0.

Input
  {% increment variable %}
  {% increment variable %}
  {% increment variable %}
Output
  0
  1
  2


Variables created through the increment tag are independent from variables created through assign or capture.

In the example below, a variable named “var” is created through assign. The increment tag is then used several times on a variable with the same name. However, note that the increment tag does not affect the value of “var” that was created through assign.

Input
  {% assign var = 10 %}
  {% increment var %}
  {% increment var %}
  {% increment var %}
  {{ var }}
Output
  0
  1
  2
  10

decrement

Creates a new number variable, and decreases its value by one every time it is called. The initial value is -1.

Input
  {% decrement variable %}
  {% decrement variable %}
  {% decrement variable %}
Output
  -1
  -2
  -3


Like increment, variables declared inside decrement are independent from variables created through assign or capture.