To date, I have gone through:
- Posterous (it’s dead now, but it was a simple service that you emailed posts to)
- Jekyll-bootstrap; also more or less dead or at least abandoned, but offered some structure around the Jekyll static-sites engine.
An advantage of Jekyll at the time was its support by Github-pages, which was where I moved after migrating from Posterous. I’ve found it’s a bit clunky though, I don’t want to invest the time in understanding the jekyll-bootstrap templates enough to do any hacking on them, and the community has moved on.
In addition, hosting has migrated from Posterous, to Github-pages, to my own server. Arguably I have spent more time hacking on the tech than actually posting. Hugo templates may also take some learning, but it’s nice and fast and I’m happy with the current template.
I’m not going into details this time around, but I’ll share some notes in case anyone wants to follow up.
There was an initial import script, both built-in and a few python scripts I experimented with, but they mostly tweaked the front-matter a bit. I used a few sed scripts to convert some syntax from jekyll to Hugo, as well as just fixing some manually.
Deployment was a chance to practice some stuff. I’ve switched to Gitlab for repository-hosting, so I set up a pipeline there to build the site, added a section to my Ansible playbook to download that and install it (as a bootstrap measure), then additionally added a stage to the Gitlab pipeline to push after build for ongoing posting without involving Ansible as well. There were a few interesting steps there around locking it down that I may write quick posts about.
It’s not perfect. The main thing is the galleries are currently dead, which is unfortunate as the original purpose of setting up a blog was to share travel pictures. They were hosted on Picasa — also dead — though, so until I figure out how to embed Google-photos galleries most posts will remain devoid of colour.
Some search-engine links have broken, and I’ve only just realised that there’s a mix of /yyyy-mm-dd-title/ urls, and hierarchical /yyyy/mm/dd/title/, but I think I can live with that now that it’s out there.