Colophon

How this website is built, and the principles behind it.

Principles

  • HTML first, light JavaScript — Content and layout work without JS. A small global bundle handles theme preference, code-copy, and the search shortcut; the search page loads its own script only when you visit it.
  • Fast and lightweight — Every page targets a perfect Lighthouse score.
  • Own the content — No walled gardens. Everything is Markdown in a Git repo.

Stack

  • Eleventy (11ty) — Static site generator (v3). Templates are Nunjucks.
  • Cloudflare Pages — Hosting and serverless functions.
  • GitHub — Source control. Push to deploy.
  • Markdown — All content is written in Markdown with YAML frontmatter.

Images

  • Sharp — Resizes and converts images to WebP locally at build time, via @11ty/eleventy-img.
  • Satori — Generates OG social sharing images (1200×630) automatically for every page.

Newsletter

Analytics

  • Umami — Self-hosted, privacy-friendly. No cookies.

Client-side fuzzy search powered by Fuse.js. The index is generated at build time as a static JSON file — no server required.

Feeds

An Atom feed is available for blog posts. More on the feeds page.

Typography

System fonts — system-ui on macOS, Segoe UI on Windows, Roboto on Android, Arial as fallback. Code uses the system monospace stack.

Themes

Three reading themes: light, paper, and dark. If you haven’t picked one, the site follows your browser’s preference. Paper is a warm cream look with monochrome links and quieter UI chrome.