Blog Update Post
Hey dudes, lady-dudes, and non-binary dudes. I’ve been spending a bunch of time over the last month or so learning about Hugo and I wanted to write up a blog post to share what I’ve learned, as well as a few links that I found helpful along the way. So if you are interested in building a Hugo site as well, these are a few good places to check out.
First, let’s start with a little clarification. If you are unfamiliar with static website generators, I’ll give you a quick primer. There are a few different frameworks that allow people to quickly and (relatively) securely build websites using markdown. Originally, this blog was built using Jekyll, which is a Ruby-based static website generator. Setting up that initial Jekyll site taught me a bunch of stuff about markdown as well as how to properly use Git. However, there were some things I didn’t like about the way that first blog was working (particularly that it was hosted on Github, which refuses to cancel their contract with ICE). This combined with my interest in learning the Go programming language created the perfect storm to rebuild this site in Hugo.
In addition to the aforementioned interest in learning more about Go and wanting to rely less on Github, there were other motivations for building this site with Hugo. In no particular order, some of the other reasons included eating my own dog food (I’d been recommending people build static websites for years but had no idea the difficult of such a proposition). Additionally, I’ve owned the domain name whateversauce.com for the last three and a half years, and had been paying for it to not use it. Building this site gave me the opportunity to dust it off and learn more about different ways of hosting a website. There are a few other reasons why I wanted to build a Hugo site, but I will share them in a future post.
Between writing this post original and finishing up the last little work on this blog, I learned something else really important that I wanted to share. I tweeted a few days ago about my problem and I was able to resolve it partially on Tuesday, the 24th, and this morning (Thursday the 26th of March) I was able to finally solve my problem, which turned out to be a two part problem. First problem was that I was trying to link to internal pages using their file extension, which doesn’t work (I presume because Hugo renders the markdown pages in a different format). So if you want to link to a page in Hugo, make sure you link to just the title and not the .md file extension. Once I got that worked, I tried to link to a page that was named using CamelCase but I was getting 404 file not found errors. Well, it appears that Hugo takes all file names and automagically changes them to all lower case. So 2020-03-13-File-name will break and give you a 404, while 2020-03-13-file-name (though not the actual name of the file in the Linux/Unix sense) works and doesn’t give you a 404. So if you are trying to build a Hugo site because you feel inspired, just keep those two little tidbits in mind and they can save you hours. Let my mistakes guide you, internet friend!
Finally, I wanted to share a bit more about my process in learning to build and then ultimately building this site. First, I’ve included a link at the bottom to the video series that was (at the time) called Giraffe Academy but has since been rebranded. This series was very helpful in explaining what goes in to building a Hugo site, and I was able to use that information to build a custom theme for this page, which I may open source one day. I also want to mention that I built this website on my laptop (which is a few years old and not top of the line at all) running Fedora 30. I also didn’t use any fancy text editors to write the markdown and edit all the pages - that was done using ViM. Which is to say that my development environment is all open source software, meaning the barrier to entry for building your own blog is pretty low. My wife has been learning web development on a Chromebook using FreeCodeCamp which is a great resource for learning about web development and programming.
And now, without any further adieu, here are a few of the resources that I used and found tremendously helpful.
Giraffe Academy Hugo Tutorials - This is around an hour of content that I found very helpful in getting started.
Zeolearn - This is a blog post that helped me build out the theme for this site, or at least get an idea for how to do so.