Steuerungsbefehle entscheiden, abhängig von unterschiedlichen Bedingungen, welche Programm-Abschnitte ausgeführt werden sollen und welche Theme-Elemente wann angezeigt werden sollen.
Der if - Befehl führt einen Programmabschnitt aus, nur wenn bestimmte Bedingungen erfüllt sind.
<code-block>
{% if firstname == 'Julia' %}
Hello Julia.
{% endif %}
{% if firstname == null %}
No first name.
{% endif %}
{% if firstname != 'Julia' %}
You are not Julia.
{% endif %}
{% if firstname contains 'uli' %}
You could be Julia.
{% endif %}
elseif / else Befehl fügt einem if oder unless Block zusätzliche Bedingungen hinzu.
<code-block>
{% if firstname == 'Julia' %}
Hello Julia.
{% elsif firstname == 'Otto' %}
Hello Otto.
{% else %}
No Julia or Otto here.
{% endif %}
</code-block>
Der case / when Befehel bietet die Möglichkeit, über ein Switch-Konstrukt eine Variable mit mehreren unterschiedlichen Werten zu vergleichen. Der "case" Befehl erstellt den Switch Block, der "when" Block vergleicht die Werte und der "else" Block bestimmt den default Fall.
<code-block>
{% assign firstname = 'Julia' %}
{% case firstname %}
{% when 'Julia' %}
Hello Julia.
{% when 'Otto' %}
Hello Otto
{% else %}
No Julia or Otto.
{% endcase %}
</code-block>
Der unless Befehl funktioniert wie ein if Befehl, führt aber einen Block erst aus, wenn eine bestimmte Bedingung nicht erfüllt wird.
<code-block>
{% unless firstname == 'Julia' %}
You are not Julia.
{% endunless %}
</code-block>