Aqua Tags
Tags create logic, loops, and control the template flow. They’re wrapped in{% %}.
Control Flow
if / elsif / else
Conditional rendering based on truthiness.unless
Inverse ofif - renders when condition is false.
case / when
Switch statement for multiple conditions.Iteration
for
Loop through arrays and ranges.parallel: true
to evaluate every iteration concurrently instead of sequentially:
break / continue
Control loop execution.cycle
Alternates between values.tablerow
Generates HTML table rows.cols, limit, offset
Variable
assign
Creates or updates a variable.capture
Captures output into a variable.increment / decrement
Creates and modifies counter variables.Theme Tags
render
Renders a snippet with isolated scope.include
Renders a snippet with shared scope (legacy).section
Renders a section (in layouts).sections
Renders a section group (JSON file).layout
Specifies which layout to use.content_for
Dynamic block/section rendering.Template Tags
comment
Content inside is not rendered.raw
Outputs Aqua syntax literally.aqua
Multiple tags in condensed format inside a single{% liquid %} /
{% aqua %} block. Both keywords are accepted as aliases of each other,
but new code should use {% aqua %}.
{% %} wrappers needed. Mix
control flow (if, for, case), assignments (assign, capture),
and includes (render, include, section, sections) freely.
echo
Output inside aqua blocks.Form Tags
form
Creates HTML forms with CSRF protection.The customer form types (
customer_login, create_customer,
recover_customer_password, reset_customer_password,
activate_customer_password, customer_address) power theme-rendered
account pages. Field names, error handling, and full examples are in
Theme Customer Accounts.Pagination
paginate
Paginates arrays.Section Schema
schema
Defines section/block configuration (JSON).stylesheet
Scoped CSS for sections.javascript
Scoped JavaScript for sections.Whitespace Control
Add hyphens to strip whitespace:
Example: