How this site is built, for anyone who opened the inspector before reading.
Theme and plugin
A block theme built on theme-elementary, and a small plugin built on plugin-elementary. The theme only does presentation. Everything that should survive a theme change lives in the plugin: series and topics, server-side code highlighting, the contents list, related posts, the forms, the search index and the cache purge.
The design system is called Pine & Lime. Pine is every link and button. Lime is a highlighter, and only ever sits behind text.
Type
- Bricolage Grotesque for headings
- Inter for everything you read
- JetBrains Mono for code, paths and labels
All three are self-hosted and cut down to Latin characters, so the whole set is 91 KB instead of 156.
Hosting and caching
Shared hosting on LiteSpeed, with Cloudflare in front. Cloudflare keeps every page for two hours. Publishing a post purges exactly the pages it appears on, never the whole zone, and then requests them again so the next visitor is not the one waiting on PHP.
- Code is highlighted on the server and cached, so pages ship no highlighter
- Search (⌘K) reads one static JSON file, so it never touches the database
- Links are prerendered when you hover them
- Everything works with JavaScript off. The script only adds the theme switch, copy buttons and search
Images
The post covers are AI-generated, in one locked style: a two-ink risograph print in pine and lime. Diagrams are drawn in HTML, so they reflow on a phone and a screen reader can read them.