About this site
A static site. No framework runs in the browser, no analytics, no cookie banner, no third party is contacted when you load a page: every file it needs, including the typefaces, is served from this domain.
Built with
- Hexo 8, a static site generator, with a theme written for this site rather than taken from a gallery
- EJS for the templates and Stylus for the stylesheet
- markdown-it for the prose, with
markdown-it-attrsfor figure captions - Plain CSS custom properties for the two colour schemes, in OKLCH. No CSS framework
- A hundred lines of vanilla JavaScript in two files: the theme toggle, and the portrait carousel and typewriter effect, which is only loaded on the home page. Everything else works with JavaScript turned off
- Code blocks are parsed while the site is built, never in the browser, and the stylesheet uses almost none of it: everything is one colour except strings
Typefaces
Five, all self-hosted and all free to use. The weight in brackets is what the browser actually downloads, subset to Latin.
- Petrona, body text, in roman, italic and bold (73 KB). SIL Open Font License 1.1
- Young Serif, page and project titles (27 KB). SIL Open Font License 1.1
- Hanken Grotesk, navigation, labels and metadata, in two weights (27 KB). SIL Open Font License 1.1
- Indie Flower, the handwritten name on the home page, cut down to the dozen letters it needs (1.5 KB). SIL Open Font License 1.1
- Special Elite, the typewriter effect under that name (9 KB). Apache License 2.0
Code is set in whatever monospaced face your system provides, which is the one exception to everything being served from here.