Lists and definitions
Unordered, ordered, and definition lists all render with the same vertical rhythm as body paragraphs. Definition lists carry extra responsibility in this theme — they’re the standard shape for option references and they switch to a hanging-indent layout in wide containers.
Bulleted and numbered
Plain <ul> and <ol> — no
special markup:
-
Authoring HTML keeps you close to what the browser eventually paints.
-
The pipeline only transforms what it recognizes; everything else is passed through as-is.
-
That means odd-but-correct markup keeps working when the build runs against an unfamiliar page.
An ordered list with multi-paragraph items:
-
Source. Article HTML lives under
src/content/.Eleventy walks the tree; one file per output page.
-
Pipeline. The apidocs transform runs the page through a sequence of cheerio passes.
Anchors, code highlighting, embeds, image processing, ToC building, and symbol extraction all happen here.
-
Layout. The processed content is wrapped in the Nunjucks shell with logo, nav, ToC, and footer slots.
Definition lists
Definition lists are the canonical shape for option references and
glossary entries. In a narrow container the term sits above its
description; once the article passes 48rem wide the term
floats into a left column with the description hanging beside it.
The plain form:
- Article
-
A single HTML file under
src/content/. Becomes one URL. - Section
-
A
<section>inside an article. Top-level sections become ToC entries; nested ones nest in the ToC the same way. - Symbol
-
Any element with class
api. Symbols are harvested into a client-side fuzzysort index for instant lookup. See API reference style.
Width modifiers
Two class modifiers tune the layout for different content shapes:
.narrow-
Use when terms are short — option names, status codes, single words. The term column shrinks from 10rem to 5rem so the descriptions get more room.
.compact-
Trims the gap between rows. Use for dense reference tables where each row is a one-liner.
The same option list with .compact:
- retries
- Number of retry attempts on transient failure.
- timeout
- Per-request timeout in milliseconds.
- backoff
- Exponential backoff base, in milliseconds.
- jitter
- Randomization fraction applied to the backoff.
Deep linking into list items
Every <p>, <li>, and
<dt> that doesn’t already have an
id gets an auto-generated one based on a short hash of its
text. That lets search results deep-link to the exact paragraph or term
they matched.
The hash is stable across builds for unchanged content, so bookmarks
survive routine edits elsewhere on the page. If you need a permanent,
human-readable anchor for a particular item — say a glossary
entry you link from many places — give it an explicit
id instead:
<dl>
<dt id="symbol">Symbol</dt>
<dd>Any element with class <code>api</code>.</dd>
</dl>Explicit ids take precedence over the auto-hash, so the deep link is yours to control wherever it matters.