add panels and margin notes, with no engine code at all

Expandable sections, tabs and asides — three of the things parked earlier — turn
out to be two theme fragments and nine lines of CSS. That is what the container
mechanism bought: they needed no Go.

Tabs without script were the only real problem, and containers do not nest, so
:::tabs wrapping :::tab was never available. Sibling <details> elements sharing a
name attribute are natively mutually exclusive, which is what tabs are, so
grouping is one argument on the same fragment an expando already uses. A browser
too old for grouping opens them independently — the content is never hidden,
which is the failure mode worth caring about.

The aside is beside the text where the viewport has room and in the flow where
it does not, in one media query. No JS anywhere, and the demo case asserts the
page contains no <script> at all.

No ADR: nothing here is expensive to reverse, and the contract grew additively
as its stability rule allows.
This commit is contained in:
Claude Opus 5
2026-08-01 22:14:58 +06:00
committed by bdeshi
parent 8bfacc7e98
commit fdc76ba1b9
8 changed files with 43 additions and 5 deletions
@@ -38,6 +38,22 @@ is Markdown: *emphasis*, links and H~2~O all work inside it.
| North | 41 mm | steady |
| South | 12 mm | falling |
:::aside{title="On the gauges"}
Both were replaced in 2024, which is why the older readings are noisier.
:::
:::details{summary="Show the raw transcription"}
Twelve pages of it, kept out of the way until asked for.
:::
:::details{group=readings summary="North gauge" open=yes}
41 mm, steady through the week.
:::
:::details{group=readings summary="South gauge"}
12 mm, falling. Grouped panels open one at a time, with no script.
:::
Monsoon
: The season these readings belong to.