Writing Conditional Statements

Text templates can conditionally produce text for input to a brick.

Condition Expression

If there are only 1 or 2 simple cases, you can write the condition inline as an expression:

{{ "Meow" if @animal == "cat" else "Woof!" }}

Using Text Templates for Brick Conditions

Text Templates are the most convenient way to provide a Condition that controls if a single brick runs.

📖 Learn about the Brick Condition field in the Page Editor Guide

Using a Text Template condition expression to control when a brick is run.

Text Templates can also provide the condition for the If-Else brick. The If-Else brick can run multiple bricks if a condition is met.

Comparison and Logic Expressions

PixieBrix text templates support comparison and logical operators in expressions:

  • == , !=: equals and not equals

  • >, <, >=, <=: numeric comparison

  • and , or: logic

  • not: negation

Here’s an example showing comparison and logic in an expression:

{{ true if @run > 0 and @animal == "cat" }}

Condition Tag Blocks

If there are multiple cases, or one or more cases are multi-line, you can use condition blocks to provide the cases:


{% if @animal == "cat" %}
  Meow!
{% elif @animal == "dog" %}
  Woof!
{% else %}
  ???
{% endif %}

As you can see, blocks are designated using {% and %} instead of the {{ mustache braces. The tags are if, elif, and endif.

You can learn more about the if tag in the Nunjucks Template Language documentation.

Last updated

Was this helpful?