Writing Conditional Statements
Last updated
Was this helpful?
Text templates can conditionally produce text for input to a brick.
If there are only 1 or 2 simple cases, you can write the condition inline as an expression:
{{ "Meow" if @animal == "cat" else "Woof!" }}There are two ways to conditionally run a brick:
Single Brick: use the Advanced > Condition configuration field
Multiple Bricks: use the If-Else brick
The condition can be a variable, or a text expression evaluating to true, t, yes, y, on, or 1.
For example:
{{ true if @count > 0 }}{{ true if not @myVariable }}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:
To provide multiple conditions using and or or, provide them within the same template expression
If there are multiple cases, or one or more cases are multi-line, you can use condition blocks to provide the cases:
As you can see, blocks are designated using {% and %} instead of the {{ mustache braces. The tags are if, elif, and endif.
Note that alternative cases use the elif tag with no space. I.e., as opposed to else if which is used in many programming languages
✅ elif
❌ else if
You can learn more about the if tag in the Nunjucks Template Language documentation.
Last updated
Was this helpful?
Was this helpful?
{{ true if @run > 0 and @animal == "cat" }}{% if @animal == "cat" %}
Meow!
{% elif @animal == "dog" %}
Woof!
{% else %}
???
{% endif %}