Template Syntax
Recipe steps support a template syntax for dynamic ingredient amounts that scale automatically when you change the recipe quantity.
Ingredient References
Each ingredient has a key (set when adding ingredients). Use the key inside {{ }} to reference it.
{{ flour }}→200g flour{{ Flour }}→200g Flour{{ flour.name }}→flour{{ flour.amount }}→200All values scale automatically when the recipe quantity changes.
Arithmetic
You can do math inside {{ }} expressions.
| Expression | Result | Description |
|---|---|---|
{{ flour.amount / 2 }} | 100 | Half the flour |
{{ flour.amount * 1.5 }} | 300 | 1.5x the flour |
{{ flour.amount + 50 }} | 250 | Add 50 to flour |
{{ (flour.amount + sugar.amount) / 2 }} | 175 | Average of two |
Supported operators: + - * / and parentheses ( ) for grouping.
Functions
| Function | Example | Description |
|---|---|---|
| round() | {{ round(flour.amount / 3) }} | Round to nearest integer |
| ceil() | {{ ceil(eggs.amount) }} | Round up |
| floor() | {{ floor(eggs.amount) }} | Round down |
| min() | {{ min(flour.amount, 500) }} | Smaller of two values |
| max() | {{ max(flour.amount, 100) }} | Larger of two values |
| abs() | {{ abs(a.amount - b.amount) }} | Absolute value |
Sub-recipe References
Link to other recipes inline using the @recipe() syntax.
@recipe(pizza-dough)Use the recipe's slug (the URL-friendly name shown in the address bar).
Timers
Embed interactive countdown timers using @timer(duration). Duration supports hours (h), minutes (m), and seconds (s), which can be combined.
@timer(15m)→15 minute timer@timer(1h30m)→1 hour 30 minutes@timer(30s)→30 seconds@timer(2h)→2 hoursBake at 180°C for @timer(25m) until golden brown.Timers render as inline buttons. Clicking starts a live countdown in a floating panel. Multiple timers can run at the same time. An alarm repeats until dismissed when a timer finishes.
Markdown
Step bodies support standard Markdown for formatting.
| Syntax | Result |
|---|---|
| **bold** | bold |
| *italic* | italic |
| - item | Bullet list |
| 1. item | Numbered list |
| > quote | Blockquote |