settle the Markdown dialect, and namespace an include's footnotes

Tables, footnotes, definition lists, strikethrough and automatic heading ids.
Which dialect a site is written against is permanent, so ADR-0058 names the
whole set at once — including the four refused, each for a reason rather than a
taste: task lists publish nothing, linkify rewrites plain text into markup that
ADR-0034 forbids the engine to touch, CJK is the wrong script family for a
Bengali site, and the GFM bundle is a package deal for the first two.

Footnotes collided with includes, as the queue predicted but worse. An include
converts its file on its own bytes (ADR-0038), so goldmark numbered its notes
from one again and the page carried two id="fn:1"s — the parent's reference
jumped to the fragment's note. shortcodes.FootnotePrefix stamps the file name on
the nested document and hands it to goldmark's id-prefix function, so the
fragment gets _method-fn:1 and the page keeps fn:1.

Two things nothing tested before. The extender list ships from cmd/khosra, which
no package can import, so the dialect had never been rendered through the list
the binary actually uses — cmd/khosra/wire_test.go now does exactly that,
including that the typographer no longer eats a table's delimiter row. And the
demo carries the dialect and the footnote namespacing as cases, which caught
auto heading ids changing markup in three existing assertions.

The reference theme gains five lines: a rule under each table row, an indent for
definitions, smaller footnotes. core 2790/2800, ext 1058/2000, 34 gates green.
This commit is contained in:
Claude Opus 5
2026-08-01 20:38:59 +06:00
committed by bdeshi
parent 7f9ac3c412
commit 0465785e81
15 changed files with 266 additions and 60 deletions
@@ -11,3 +11,20 @@ That fragment starts with an underscore, so the scanner never treats it as a bun
and appears in no listing. An included file cannot itself include — one level, deliberately.
This bundle also has an `extras/` directory, so the theme offers a link to it at the foot of the page.
## The dialect
The page has a footnote of its own[^page], a table, a definition list and ~~a struck phrase~~.
| Gauge | Reading | Note |
|-------|---------|------|
| North | 41 mm | steady |
| South | 12 mm | falling |
Monsoon
: The season these readings belong to.
Gauge
: A calibrated vessel, read by eye.
[^page]: Numbered from one, independently of the fragment's.