automated hugo

Inspired by Evan Brown’s post Hugo on the go I decided to follow pretty much the same route — with a couple of twists.

In a nutshell Evan has set up a continuous integration chain for his hugo based website. The workflow is as follows:

  • create the new hugo post on whatever device you want
  • commit the post and push to github
  • github triggers the continuous integration service travis
  • travis regenerates the static web site
  • travis deploys the static web site

Where Evan is using github, travis, and S3 I wanted to go the self-hosted route. So,

  • instead of github I’m using a self-hosted, dockerized gitea instance to host my git repos
  • instead of travis I’m using a self-hosted, dockerized drone instance for the continuous integration part
  • instead of S3 I’m deploying to my own web server.

The workflow then looks like this:

gitea β€” drone β€” hugo workflow

For editing and creating new posts I do use Working Copy — same as Evan is.

Full Circle

OK, I’m back to where I started, blog-wise: statically generated content. The first incarnation of was using an emacs generated blog, this time round I’ve ended up with using hugo.

The workflow is a bit different now from back then: content is contained in a self-hosted gitea instance, which is feeding into a self-hosted drone instance, all docker-ized.

The hugo theme is not quite there yet, expect changes πŸ˜€