Getting Started With Hugo

This site uses Hugo, which ended up being a pretty painless experience.

In this post I’ll provide general information about Hugo, instructions for getting a new site started, links to useful resources, and an explanation of why I picked Hugo over alternaves.

What is Hugo?

Hugo is an extensible static site generator that uses Markdown in regular text files instead of a specialized editor. There are some benefits to this, which I’ll cover under Why 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.

Getting Started

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.

Useful resources

Tips and Tricks

Build drafts: hugo -D

Why Hugo?

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.


Recent posts

Go 1.11 and vgo

Getting Started With Hugo


2018 (2)