The Traditional First PostMarch 11, 2021 -
I guess it's traditional to write a first blog post about the new blogging platform. Tradition, right? Not cliché?
My New Blogging Platform
My main driver this time, moving to Zola, has been to simplify the build and deployment process. I'm halfway there.
So that's the half that's done. The second half, automatic deployment, is a little more complex, and not implemented yet. But it should be easier, given the availability of the Docker image I mentioned above.
In general, getting the blog set up has been straightforward. Everything came "out of the box".
My criteria was that it would be:
- Reasonably fast, offer live preview,
- Run from a Docker container (so I can automate deployment from a GitHub repo).
- It also had to be quick to set up. Otherwise my goldfish attention span will stop me from deploying anything.
Honestly, my guilty secret is the main reason I checked out Zola was because it was written in Rust. I found this comparison of various Rust-developed static site generators helpful.
Zola's great! It's flexible enough for my requirements - I wanted a listing of talks I've given as well as blog posts. The template language, Tera is inspired by Jinja2 & Django, two of my favourite templating engines. (Did you know that Jinja came out of a project to speed up Django templates?) I quickly found a theme that suited my purposes, simple-dev-blog, which got me off to a good start, although I'll probably tinker with it some more over time.
The new system is built from a Docker image. With my old, Hugo-based, system, I attempted to Dockerize the build environment, and while I learned a lot about sticking command-line tools in Docker containers, I never quite got it up and running. This was a while ago. Things may be better now. The real driver for moving away from Hugo was the templating system, which I learned to hate with every fibre of my being. With Zola, I was pleased to discover that a Docker distribution is already available.
I have a certain amount of faith that Zola is powerful enough for my requirements - I've already set up templates to show YouTube video previews in the talk listings. The next things to set up are a listing of upcoming events I'm at, and a listing of projects that I want to show off. Stupid Python Tricks anyone?