Previously, this site was run on Jekyll and hosted on Github Pages. That was nice, until I got a laptop, and had to reinstall everything. And no matter how much I tried, I couldn’t get Jekyll to install. And it got me thinking, why am I installing Ruby and rbenv and gems and all of this crap? I just want a site generator as a standalone, no hassle binary.
So I googled “Golang static site” and found Hugo. It sounded like everything I was looking for, so I decided to try it out.
How did it go? Well, this site now runs on Hugo. The conversion process was pretty simple. Other than changing config stuff and renaming things, most of the work was converting Jekyll templates to Hugo templates. Hugo uses Go’s html/template package with a few additions for its templating language, and since I’m already familiar with html/template it was pretty easy to convert. In total, it probably took half a day to completely migrate my very small site.
How do I like it? I love it. All that’s neccesary is one binary. Download that, throw it in /usr/bin, and you’re ready to go. It’s also super fast, building my (granted, very small site) in 7 ms. The docs are really good, as well as the Jekyll migration and GitHub Pages hosting tutorials. Plus, it’s better for me personally, as it’s written in Go, so I can easily contribute. Another advantage is that the actual generated site is on a different branch than my input to Hugo, so I can push to Github without pushing it live.