This website has undergone a number of revisions over the years, but the predominant theme was simplicity and the use of basic HTML. When I switched from Apache to Nginx, I also switched the financial calculators from perl to python. Image galleries moved from BB Gallery to a simple CCS-based carousel. Not happy with that, I looked at other content managment systems (Wordpress, Mezzanine, Django, Wagtail, etc.) and while Wagtail looked like the best for what I wanted to do, it was overkill for what was really needed for this site, and meant everything was running from a nginx/python/postgresql setup. So development and deployment stalled.

And then one day while exploring Wordpress I ended up looking at static content generators. Lektor was the first one I looked at, and then Nikola. But then I found Pelican. It seemed like an interesting solution, with just enough Goodness to make a nice site, but no back-end extras (or security issues!) to worry about.

Pelican alone was not sufficient to build a nice website, so finding a good theme was next. I thought I'd build my own, but CSS is not an area of expertise, and building even a remotely complex (and nice-looking!) theme was more than I was looking to do. Enter m.css, and a non-bloated CSS framework. Best of all, there was a Pelican theme already built that I could leverage.

While Pelican and m.css worked well enough, there were still a few rough corners (especially with the navbar creation). Jamstack was discovered, and while researching that I found some videos extolling the virtues of 11ty. Although 11ty is written in Javascript it seemed relatively self-contained, and was trivial to get working. After much mucking about I settled on TailwindCSS for the CSS bits, and AlpineJS seemed to be a natural fit as well.