Designed for reading, not shouting.
An editorial theme for people who publish long things. Warm serif headings, a measured column, and an archive that stays calm at a thousand posts.
The display face carries the personality and the body face gets out of the way. At a sixty-five character measure the result reads closer to print than to a feed, which is the whole point of the exercise.
Long pieces get a sticky contents rail and pull quotes that sit in the margin rather than interrupting the column. Short pieces get neither, because they do not need them.
Feels like a well-printed magazine, but faster.
— Early readers
Built for the second thousand words.
Marginal pull quotes
Quotes sit in the outer margin at reading width and fold inline on a phone without losing their place in the text.
Real footnotes
Numbered references that link both ways and print correctly when the page is sent to paper.
Chapter rail
A contents column that appears only once a post passes twelve hundred words.
Honest read time
Counts prose and skips captions, code and shortcode output, so illustrated posts are not overbilled.
Warm palette
Paper white, ink black and a single ember accent that never appears twice on the same screen.
The rest of the reading apparatus.
Everything a long piece needs once it stops being short, switched on where it helps and absent where it does not.
- Drop caps on opening paragraphs
- Hanging punctuation in quotes
- Optical margin alignment
- Ligature control per heading level
- Serial navigation between parts
- Print stylesheet with page breaks
- Estimated finish time on long reads
- Quiet hours palette after dusk
The details
- Version
- 2.4.0
- Released
- Aug 27, 2026
- Measure
- 65 characters
- Display face
- Variable serif
- Contents rail
- From 1,200 words
- Print sheet
- Page-break aware
Recent releases
- 2.4.0Aug 2026 — Contents rail now tracks the reading line instead of the viewport top
- 2.3.0Jul 2026 — Footnote back-links added for keyboard readers
- 2.2.0May 2026 — Drop caps disabled below 480px where they crowded the measure