Colophon
Last updated: 6 Sep 2025
This site is built and published with a small, readable stack and a bias for flexibility and performance.
Stack#
- Static site generator: Eleventy (11ty) v3
- Language & tooling: Node.js (Yarn scripts), Nunjucks templates, Markdown via Markdown‑It with
markdown-it-anchor
- Styles: Sass compiled to a single CSS file; custom utility classes; normalize; type set with the Recursive font
- Previously used the EMBL Visual Framework (VF) and Gulp; the migration to a simpler Eleventy v3 stack is documented here.
- Search: Static index generated at build time; client‑side search with Lunr.js. Source: search page template, client‑side script, index builder
- Hosting: Vercel (auto‑deploys from GitHub, automatic HTTPS, global CDN)
- Domain: Cloudflare (DNS, security, and performance)
Build & source#
- Source code:
github.com/khawkins98/allaboutken-11ty
- Images: Eleventy Image plugin (still Sharp under the hood) configured to generate deterministic, token‑based filenames
- Build command:
yarn build
→ compiles Sass, runs Eleventy, processes images, builds search index
Privacy#
- Analytics: GoatCounter (cookie‑free, aggregate counts only). See their rationale on GDPR consent and legitimate interest: GDPR consent notices.
- No trackers: No ad tech, no cross‑site profiling.
Principles#
- Prefer simple, inspectable pages over heavy frameworks.
- Ship as little JS as practical; keep content readable without it.
- Optimize images and typography for legibility.
- Document decisions in public when it helps future me (and you).
Credits#
- Fonts: Recursive
- Tools: Eleventy, Sass, Sharp, Markdown‑It
- Analytics: GoatCounter
Questions or feedback? Get in touch