Documentation
Template Syntax
The complete reference for recipe step bodies: scaled ingredient references, math, timers, and links to steps, recipes, dishes, and tools.
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 |
Step References
Reference another step using @step(N) where N is the step number.
@step(2)→step 2 (Mix dry ingredients)@step(coating.2)→Coating step 2 (Dip and roll)If the recipe has sections, step numbers restart at 1 in each section. Use @step(section-key.N) to point at the Nth step inside a section, or plain @step(N) to count globally across the whole recipe.
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).
Dish References
When any version of a dish will do ("use pizza dough", not one specific dough recipe), link the dish itself with the @dish() syntax.
@dish(pizza-dough)Use the dish's slug from its page's address (/dishes/…). Prefer this over @recipe() when the reader should pick whichever version they like.
Tool References
Reference one of the recipe's attached tools with @tool(name), or @tool(name, settings) when that particular use has its own settings.
Cream in the @tool(mixer, medium speed), then whip on @tool(mixer, high speed).The name matches an attached tool case-insensitively, and the typed name is used as the link label so it can follow the sentence's casing. The tool must be listed under the recipe's tools; an unattached name is flagged as an error in the editor.
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(4-6m)→range timer: rings at 4 min, extendable to 6Bake 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 |