Built with open source
The projects this site stands on
Almost none of this site is my own code. It is built on the freely given work of open source projects and the people who maintain them - here is who they are, what they do, and where you can support them.
Moving off Joomla to a static site has made this site far cheaper to run, so I am putting what I save on hosting - plus a little extra - back into the projects below. Several of them take donations, and the Support links go straight to where their maintainers ask for help. If you build on other people's freely given work and you can spare it, I hope you will consider joining me.
All told, this site depends on around 809 open source packages. These are the ones doing the visible work.
Building the pages
- Eleventy - The static site generator that turns my Markdown into the pages you are reading. Support
- Nunjucks - The templating language behind every layout.
- markdown-it - Turns my Markdown writing into HTML. Support
- Lightning CSS - Bundles and minifies the stylesheet into one fast, same-origin file. Support
- Browserslist - Decides which browsers the CSS needs to support. Support
Search, icons and the map
Keeping it correct and accessible
- Vitest - Runs the unit tests on every change. Support
- Playwright - Drives a real browser to test the site in both light and dark themes.
- axe-core - The accessibility engine that checks every page.
- Pa11y - A second accessibility checker, for belt and braces.
- HTML-validate - Validates the HTML on every build. Support
- Lighthouse CI - Audits every page and blocks anything below a perfect accessibility score.
- ESLint - Catches mistakes in the JavaScript. Support
- Prettier - Keeps all the code tidy and consistent. Support
- Linkinator - Checks that none of my links are broken.
Moving fifteen years across
- Turndown - Converted the old Joomla HTML into clean Markdown.
- node-html-parser - Parsed the old pages during the migration.
Where it runs
Beyond the open source above, the site is hosted on Cloudflare Pages, sends its email through Resend, and lives in a public repository on GitHub, with every build and check run by GitHub Actions.
Curious how it all fits together? The whole site is open source too - you are welcome to read it, learn from it, and borrow anything useful.