This site is a labour of love.
It’s compiled with a hand-written build script. No frameworks. One library (for markdown).
I put some frontmatter in each of my pages. Something like:
type: Blog
time: 2024
But I’m not even using that for the main type and time indices. Those are updated by hand, so that I can do fun little bespoke things with them from time to time.
There are some cheeky RSS feeds, also generated by the build script.
The <head> is simple.
I try to give most pages a bit of custom art direction. I just add inline script and style tags. Works great. Keeps me close to the html.
My script scans each page for a few special patterns. ! Site gets turned into <title>Site</title>, and then styled with some CSS. Yes, I put the title element in the body and use it like a heading. This is probably a sin, but I like how it feeds two birds with one scone.
The home page has a big procedural art piece as a hero image. I rework it every few years. It’s getting a little stale again, so I might make a new one soon.
Of course the site has some creaks and aches. Things to improve.
I kinda-sorta assume people will have JavaScript and a fairly recent browser when they run the site. It’ll work fine without, I think, but I really ought to be better about testing and progressive enhancement.
I have a lot of animations, only some of which respect prefers-reduced-motion.
I haven’t done any accessibility work.
It’s hosted on Vercel now, as of December 7th (today, as I write this). I don’t like the company or the people behind it or the culture around it. But, I tested a whole bunch of other hosts, and Vercel was the fastest to go from git push to an updated site — 10 seconds flat. My previous host, Netlify, was the slowest — 90 seconds. I’m willing to tolerate a bit of “Do everything in JS bro” culture if it means I can iterate more quickly.
I’ll probably have more to say here soon! Thanks for reading. I love that you’re interested. The web warms my heart, too.