This site uses Hugo, which ended up being a pretty painless experience.
What is Hugo?
Hugo offers a wide assortment of community themes, as well as robust documentation for creating a custom theme. Switching themes is easy should none of the available themes not fit your needs.
Since Hugo is a static site generator, it doesn’t support some of the functionality that other blog engines (like WordPress or Blogger) support out of the box. However, most of this functionality can be added on fairly easily by using web-based plugins.
Hugo can run in two modes:
- development - Hugo provides a server that automatically detects new and updated posts
- static generation - build all pages for your site from Markdown (takes milliseconds)
The first option is great for testing new posts before publishing, but ideally the site will be served by a web server. I used nginx, but any web server can be used since it produces a static site.
The getting started guide is quite good, so I’ll defer to their documentation for the basic setup and cover common additional setup.
Tips and Tricks
I’m a developer and I find using WYSIWYG editors (like those provided with WordPress) to be more tedious than they’re worth. I want to focus on content, not on syntax.
While not perfect for everything, Hugo is very easy to theme and there are plenty of pre-made templates available that can be used as-is or tweaked a bit.