I've been working with the Hugo templating system for my blog for a couple years now and it kept coming back to the same thing: it's taking me a long time to learn and internalize this system. I thought you Hugo was pretty good, and better than some of the other ones out there but the templating system was unnecessarily complex. Apparently the creator of Zola felt the same way:
‘This tool and the template engine it is using were born from an intense dislike of the (insane) Golang template engine and therefore of Hugo that I was using before for 6+ sites.’
I started learning rust over the winter holidays for a variety of reasons. I didn't get very far and then I got busy so I put it on the shelf. A few weeks ago I thought maybe I could make a templating system with rest.
I saw some good ideas and starts and then I came across Zola. It's already built and it looks really good. So I decided to use Zola. Indeed it was much much easier a much faster to pick it up and run with it and get a blog going. I had my blog up and running in about 24 hours after starting with Zola. Of course knowing Hugo really helped me get a running start but nonetheless Zola was much much easier than Hugo. Unfortunately, Zola doesn't work with blog posts set in the future. What I mean is if you put a future date on it, it still publishes it anyway. Both Hugo and Zola are templating systems so you have to push up all the new posts manually regardless but it would be nice to write a whole bunch of blogs in advance. Then have them get pushed up when you manually push without having to think about each post and move it about (to a non publishing directory) or change the dates.
In particular I'm experimenting with the new podcast and the podcast is daily so I have to go and push things up daily. Now because of the manual push I decided I could run this on a server and have the server push for me.
I could put in a cron job on AWS,which would start the server and when the server starts it runs a script that it'll process the templating system and push it for me.
It sounds good in theory but in practice it was a bit harder. I got 90% of the way there last Friday when I set up the server. The one stumbling block was git. For some reason I couldn't get git to download the most recent changes to the blog from the repo automatically when the server started and that was critical. Without that it won't run automatically.
on but nonetheless it was quite hard and I finally found the solution where I run the git command straight from the system defile, as opposed to a script that I have written elsewhere. Now that that's working I can get it to do everything else like move files that have the property into the proper directory and run the templating build command and push the get back to the repo and push the new files up to my S3 repository and update the cloud formation so everybody gets the most recent version. I haven't quite finished putting it all together yet but it's 90% there and the last steps are almost trivial.