Switching to Hugo
Recently I switched my site from Wordpress to Hugo. This was a big shift but thankfully the Hugo website has good documentation on migrating from Wordpress. In this post I will talk less about how I switched and more about why I switched.
My website philosophy
I think sharing my website philosophy will help give clear insights on to why I made the switch:
- As little bloat as possible
- All content should load quickly
- Ad free
- Quality content over sophisticated design
What I like about Hugo
- It is more secure since there is no database that could potentially be hacked. My site is essentially just text on a screen.
- My workflow is more technical now. I write all content in Markdown, push it to GitHub,
pull it down to my ubuntu server, and then deploy it with Nginx. This is drastically different than my
Wordpress workflow, which was done entirely within a web browser.
- Initially, I did run into technical difficulties, but Gideon Wolfe’s post about deploying Hugo on Nginx was a HUGE help.
- Adorable themes.
- Written in Go, a language I have been learning.
- It is what Julia Evans, my favorite blogger and an inspiration uses.
- Cool name :)
Todo list for the future
Here are some things I am excited to add soon:
- A script to automatically generate/deploy my site
- An RSS reader
Weird issues
I ran into the following error when deploying my Hugo site on my remote ubuntu server:
found no layout file for "HTML" for kind "term": You should create a template
file which matches Hugo Layouts Lookup Rules for this combination.
After much turmoil, I found that the root cause was that none of my theme’s
layout code was pulled from GitHub! For whatever reason my git pull
command ignored that directory completely. After issuing another git pull
the error was fixed. Weird.
Final thoughts
Overall, Hugo was rather straight forward to learn. I saved a lot of time by already knowing Markdown and git. The documentation on the Hugo website was a big help. Most of my issues came from not really understanding Nginx well enough. But, I learned from my mistakes and am a better developer because of it!