Crinja::AST
Jinja2's conditional expression: {{ "active" if current else "" }},
{% set label = page.title if page.title else "Untitled" %}.
Upstream rejected it ("expression was not fully parsed"), one of the most
common Jinja2 idioms. Semantics follow Jinja2: only the chosen branch is
evaluated, a missing else yields undefined (renders empty), and
a if x else b if y else c nests to the right. The collection of a
{% for x in xs if cond %} loop keeps reading if as the loop filter.