Switched from hexo to hugo installed via homebrew.

Just a single globally installed package, a .toml config file, and the markdown blog posts. It builds quickly and is refreshing to not have to deal with packages.

The only changes required to switch from hexo, which was itself using an octopress structure:

  • adding a slug meta property to the blog post files to preserve the URLs. Without diving deep into the customisation, it looks like it is not possible to use only part of the file name in the URL
  • updating the date meta property to a more strict format. Fixed with a single find & replace regex

The theme is terminal.

The blog uses two git repositories. One for the source and one for the static output at /public. A git submodule is used. .gitmodules:

[submodule "public"]
	path = public
	url = git@github.com:rnsloan/<REPOSITORY_NAME>.git
[submodule "themes/terminal"]
	path = themes/terminal
	url = git@github.com:panr/hugo-theme-terminal.git

The static output repository is deployed using Netlify.