Bring core-parser.md in line with the resolved design in CONTEXT.md and ADRs 0004/0005, and promote a new decision to normalise ingredient/cookware units. - Full sync of the core-parser spec: diagnostics/total-function channel, container blocks (ListItemBlock, BlockquoteBlock), RawInline alongside RawBlock via position-slicing, the unified WikilinkNode/TransclusionNode shape as two typed nodes, and the minimal remark plugin set. - New ADR 0006: normalise ingredient/cookware units via a known-alias table with passthrough, case-insensitive, canonical-only; align Timer matching to case-insensitive too. - SPEC.md: units are normalised (new Units section, alias table); Timer table marked case-insensitive. - CONTEXT.md: add Unit Normalisation entry, resolve the open item. - fixtures/basic.md: add a blockquote (callout) carrying an annotation and a non-canonical unit so the integration test exercises containers and normalisation. - Expand the core test.todo checklists to cover the new behaviour (containers, raw fallbacks, diagnostics, unit normalisation, wikilink/transclusion variants); still pending, suite stays green.
1.6 KiB
title, servings, tags, source
| title | servings | tags | source | ||
|---|---|---|---|---|---|
| Classic Pancakes | 4 |
|
https://example.com/pancakes |
Classic Pancakes
A simple weekend breakfast that comes together in minutes. Pairs well with maple syrup or fresh fruit from the farmers market.
Before you start, gather your equipment:
- a $mixing bowl{}
- a $non-stick frying pan{}
- a $ladle{}
Batter
Sift @flour{200 g} and @baking powder{1 tsp} into a $mixing bowl{} along with @salt{0.5 tsp}. Make a well in the centre and crack in @eggs{2}. Gradually whisk in @milk{300 ml} until you have a smooth, lump-free batter. Melt @unsalted butter{30 g} in a $non-stick frying pan{}, then stir most of it into the batter, reserving a little for the pan. Season with a pinch of @black pepper{} if you like a savoury edge.
[!tip] Fluffier pancakes For a lighter texture, whisk in @caster sugar{2 tablespoons} and let the batter rest for ~5 mins before cooking.
Cooking
- Set the $non-stick frying pan{} over a medium-high flame and let it heat for ~1 min.
- Pour in a ladleful of batter using the $ladle{} and swirl to coat the base.
- Cook for ~2-3 mins until bubbles appear across the surface, then flip and cook for ~1 min more.
- Transfer to a $plate{3} and keep warm in a low oven while you repeat with the remaining batter.
Serve immediately, embedding a drizzle of !maple syrup straight from its own recipe.
Notes
Annotations are just prose, so @flour{200 g} reads fine even inside a code span.
Text inside a fenced code block is never parsed as an annotation and stays literal:
@not an ingredient{} $not cookware{} ~5 mins