Colophon
A short accounting of how this site is put together, for anyone who cares about such things. I do, so I assume someone else might.
Construction
Every page is a fragment of hand-written HTML5 with a small block of TOML metadata on top. A
Python script wraps each fragment in a shared template and writes the result to
public/. Adding a page means adding one file; changing the navigation or the footer
means changing one file. That was the whole point.
The blog index and the RSS feed are both derived from the post files, so publishing means
dropping an HTML fragment into content/blog/ and re-running the build.
Code blocks are coloured by Pygments during that build, not in your browser. It is the script’s only dependency, and it earns its place: the alternative was shipping a highlighting library to every reader so their laptop could redo work my laptop had already done. The page arrives with the colours already in it.
Design
The look is a deliberate throwback to the Web 2.0 era: glossy gradients, generous rounded corners, soft drop shadows, tab-style navigation, and a beta badge that will never come off. What it is not is a throwback in behavior — the layout is responsive from a phone up to a wide desktop, and every control is keyboard-reachable.
The palette is Solarized by Ethan Schoonover, in both flavors, with a few hues shifted where the originals could not reach a 4.5:1 contrast ratio against the background they sit on. Accessibility won those arguments.
Type
Body text uses whatever humanist sans-serif your system already has — Lucida Grande, Segoe UI, or the platform UI font. Code is set in your monospace font of choice. No web fonts are downloaded, which means no third-party requests and no flash of invisible text.
Light and dark
The site follows your operating system’s color scheme on its own, in plain CSS. The switch
in the header is there for when you want to disagree with it; that choice is kept in
localStorage and applied before the page paints, so there is no white flash on the way
to a dark page. If you browse without JavaScript the switch never appears, and the system setting
is still honored.
Privacy
No analytics, no cookies, no fonts or scripts loaded from anyone else’s server, no embedded anything. The one script on the page is the theme switch above, which talks to nothing. This site cannot track you because it has no way to.
Source
The templates, the build script, and the content all live in a git repository.