March 17, 2018

Spinning Up a Hugo Blog /1

Or, How I Made This Blog

I’ve thought about creating a blog for a while now, but was always hesitant. For one reason or another, I just didn’t feel like I should. This was of course silly, especially given the number of articles out there that make it clear, the best way to start a blog is to start one.

One of the main reasons I never started one was because I wanted to make a blog site that was custom, easy to use, and fast. In the past, any sites I’ve made have been made completely static using good ‘ol HTML & CSS. Somewhat recently, however, I had to get used to the idea of using WordPress for my new job. Not only did I discover that WordPress isn’t as terrible as I always imagined, it can be kind of fun! But that didn’t change my mind about using it for a blog-it’s just too heavy for something so simple.

For a while I thought my only options were to manually create, organize, and style my pages, or to use some sort of templating tool. A blog didn’t seem like it was worth the work of doing everything manually, and I was too lacking in web dev finesse to want to mess with template systems or the like.

I’ve been listening to The Shop Talk Show for a while now, and there was one episode where Dave Rupert was talking about this thing that could make static websites by just running a few commands in a console. This was well before I had spent much time in a console, but that sounded cool! It also sounded like exactly what I’d want to use for a simple blog. (Only) a couple of years later, and I decided to give it a try.

If you are a listener of that wonderful podcast, or you’ve spent more than a few months in the web dev community, you can probably guess what I’m talking about. It is, of course, Jekyll. If you didn’t know that, or don’t know much about it, Jekyll is what is called a static site generator. Basically, a static site generator is a program that uses a database to take a bunch of random (well, not really) files and smash them together into a fully functional website. Jekyll is likely the most well known and loved static site generator out there today.

However, even Jekyll turned out to be more complicated than what I wanted. Jekyll is very, very cool, and is surprisingly good at scaling to different needs. And while there are certainly easier ways of getting a site up and running with Jekyll, I’ve found myself more and more enjoying my time in the console, and wanted to be able to do things quickly and easily there, without having to spend hours learning, installing dependencies, troubleshooting, etc.

After a bit of searching around, I came across Hugo. Hugo is also a static site generator, but it’s a bit… lighter. After a bit of research this seemed like the perfect option for me and my new blog. It’s extremely easy to install, run, and works quite well with Github Pages, which is what I wanted to use to host my blog. Getting the blog live on Pages was far and away more difficult than building a site with Hugo, and you really only to set it up once to get things working. Now, all I really need to do is write a post using beautiful Markdown, and push to Github. That’s. It.

So, here we are, Hugo + Github Pages (and a custom domain) and I’ve got my ideal blogging solution that will allow me to expand a bit here and there as I go, without having to really worry about much else.

Join me in Part 2 to see how to install and get started with Hugo.

© Chris Colvin 2018