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.
One day I was playing a bit more with the Go programming language, and decided to have another look at Hugo. Once I figured out how it wanted to layout the directory structure it didn’t take to long to code up a generic “picture gallery” that is able to pull in a .json file containing filenames and picture text and generate 5 scaled copies of each picture and photo gallery pages. Better still, full site generation (with 5 instead of just 2 images for each original) generated the entire site in a little over 3 seconds. So yes, Hugo is FAST.
So now the site is generated by Hugo, using Tailwind 2.0 CSS, and AlpineJS.