chapbook

v1.2.2 · set by build.js

Colophon

What this system is set in, what it does to a sheet of paper, and every contrast ratio it measures on the way past. Nothing on this page is typed by hand.

The setting

Faces and measure

Mono

ui-monospace, SF Mono, Menlo, Consolas — a system stack, deliberately

Language

ui-sans-serif, system-ui — the site’s own face, and the only one it should change

Measure

34em, expressed in em so it tracks the type rather than the window

Rail

10rem, sticky, collapsing below 52rem

Page

62rem maximum, gutter clamped 1.25–2.75rem

The sheet

Sheet margin

18mm, set by @page rather than left to the print dialogue

Body

10.5pt on 1.4 — ten and a half on fourteen point seven

Orphans and widows

Three lines, the conventional floor

Breaks

Headings do not end a sheet; blocks and rows do not split

Palette

Ink on white, grain to zero, every declaration !important

Measured

Every text token in every palette, measured against the worst-case grain pixel rather than the flat ground. The build exits non-zero if any of them drops below 4.5:1, so this table cannot go stale and a failing value cannot reach the page.

Tightest measured contrast ratio for each palette, light and dark
Palette Surface Tightest Sunk Verdict
Neutral light #f5f5f5 5.27:1 1.07:1 AA
Neutral dark #161616 5.24:1 1.07:1 AA
Green light #fbfaf7 4.97:1 1.09:1 AA
Green dark #121412 4.99:1 1.09:1 AA
Clay light #f5f3ee 5.06:1 1.10:1 AA
Clay dark #181613 4.92:1 1.08:1 AA

The sunk column is the row hover, and it is meant to be felt rather than seen. If you can identify its colour it is too strong.

The licence

MIT, and it means it. Take it, change it, ship it, no credit needed.

A chapbook was made to be cheap, read, and passed on, and the licence is the part of this system that takes that literally. If you build something with it I would like to see it, but that is a wish rather than a condition.