Variable

Variable tags can be used to create new variables.


assign

Performs an assignment of one variable to another.

Input

 {% assign var = "hello" | upcase %}
 {{ var }}

Output

 HELLO

capture

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

Input

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

Output

 I am being captured.

Using capture, you can create complex strings using other variables created with assign.

Input

 {% assign favorite_food = "pizza" %}
 {% assign age = 35 %}

 {% capture about_me %}
 I am {{ age }} and my favorite food is {{ favorite_food }}.
 {% endcapture %}

 {{ about_me }}

Output

 I am 35 and my favourite food is pizza.

decrement

Creates and outputs a new number variable with initial value -1. On subsequent calls, it decrements its value by one and outputs the new value.

Input

 {% decrement my_counter %}
 {% decrement my_counter %}
 {% decrement my_counter %}

Output

 -1
 -2
 -3

Like increment, variables created using decrement are independent from variables created using assign or capture.

increment

Creates and outputs a new number variable with initial value 0. On subsequent calls, it increases its value by one and outputs the new value.

Input

 {% increment my_counter %}
 {% increment my_counter %}
 {% increment my_counter %}

Output

 0
 1
 2

Variables created using increment are independent from variables created using assign or capture.

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

Input

 {% assign var = 10 %}
 {% increment var %}
 {% increment var %}
 {% increment var %}
 {{ var }}

Output

 0
 1
 2
 10