Skip to content

Cheatsheet

A quick reference guide to the Gram syntax.

Basic Elements

ElementSyntaxExampleDescription
Ingredient@name[{qty}]@flour{200g}, @saltAdds an @ingredient. Omitting {} implies no specific quantity.
Cookware#name[{qty}]#pan{2}, #panRequires specific #cookware. Omitting {} defaults to 1.
Timer~{time}~{30min}An active ~timer duration.
Temperature°{temp}°{180°C}An exact °temperature.

Modifiers

Modifiers are placed immediately after the @ or # symbol.

ModifierExampleEffect
& (Reference)@&flourReferences a previously declared @ingredient. Does NOT add it to the shopping list again.
= (Fixed)@=salt{1 tsp}Marks the quantity as fixed. It will not scale with portions.
? (Optional)@?thymeMarks the @ingredient as optional.
- (Hidden)@-sugarHides the @ingredient from the generated shopping list.
* (Baker's %)@*flour{500g}Marks the @ingredient as the reference (100%) for baker's percentages.

Advanced Syntax

FeatureSyntaxExample
Rangeqty-qty@eggs{2-4}
Alternatives|@milk{100ml}|@water{95ml}
Short-hand Prep(...)@butter{10g}(room temp)
Alias (Rename):display@dry white wine:wine{10ml}
Relative Qty% @&target@water{70% @&flour}
Composite<@parent@zest{1}<@lemon
Passive Timer~&~&{1h}
Named Timer~name{...}~eggs{3min}
Semantic Temp°{text}°{medium heat}

Intermediate Variables

Used to declare sub-components (like a dough or sauce) that are referenced later.

LocationSyntaxExampleScope
End of a Step->&nameMix until smooth. ->&doughCaptures only that step.
End of a Section->&name## Puff Pastry ->&pastryCaptures the entire ## Section.

Section Scheduling (Retro-planning)

Placed anywhere in a section title to indicate preparation timeframe.

SyntaxExampleMeaning
~{-time}## Dough ~{-2d}Prepare 2 days in advance.