This Site

This is not the first personal site I’ve built over the years.

I’ve built a blog with Jekyll. That ended up being hard to maintain due to dependency hell on top of not really caring to deal with Ruby too much.

Metalsmith site–also ultimately resulted in a chore of dependency management.

If you intend for a site to grow for several years (even decades) while still wanting to keep things up to date–the fewer the dependencies the better.

Current Approach

This site is built with Zola, a Rust based static site generator. The great virtue of using Rust, is that you can built single executable binaries. That means zero dependencies apart from your OS of course.

We get something similar with Tailwind which also ships a single executable.

Same with esbuild.

But this time, I’m commiting those fuckers straight into the repo forever.

Hopefully, when I perchance move to a different Linux distro or godforbid OSX or Windows or something else, Docker will still be around and useful for managing that environment.

Direnv is a convenient tool for development at the moment. It will auto add the directory with our commited executables to our shell $PATH so it’s simple to run them.

Make isn’t a perfect tool, but it also isn’t going anywhere for a long time.