mikeski.net kotlin java javascript hugo development

mikeski.net development blog

Hugo or Jekyll

I converted my Wordpress blog to a static site generated blog. I had a number of reasons for doing this, and they are (in no particular order):

  1. Security: Wordpress bugs and having to manage accounts and passwords for my WP site. All this goes away with a static site generator
  2. Comments: Most comments are spam, and Wordpress plugins do an OK job with this (but not great). If I really want to enable comments I’ll use Disqus
  3. Editor: I found the Wordpress editor to be very frustrating. I much prefer Markdown and templates to using Wordpress.
  4. Immutability: I like having my site be immutable when it is deployed. This means if I’m going to run it in a container I do not have to worry about volumes for customizing files, updates, etc…
  5. No database: I do not want to manage a database

Understanding that all these points are arguable and have pros and cons, I still decided to get rid of Wordpress.

Candidates

The 2 main candidates I considered were Hugo from https://gohugo.io/ and Jekyll https://jekyllrb.com/.

Hugo

Hugo’s tagline is:

https://gohugo.io/

The world’s fastest framework for building websites

Jekyll

https://jekyllrb.com/

Transform your plain text into static websites and blogs.

Decision

After much consideration and trying outboth frameworks, I chose Hugo.

This was mainly because I was coming from Wordpress and it’s so easy for Hugo to create aliases.
This way, I could look at my site statistics to see what URLs are getting traffic and create the proper aliases to.

I also looked at my Google and Bing webmaster tools to see where my incoming links were and made sure that they would still work.

Then, I converted my Wordpress posts to Hugo static posts, added my alias entries, and was up and running pretty quickly.

Hugo Cons

Things I don’t really like about Hugo in no particular order:

  • It is updated a lot with lots of breaking changes, so it can be pretty high maintenance
  • No official Docker container, and at the time of this writing all containers are old enough to not work with the current documentation and themes
  • Each theme’s implementation is different and they are not plug-and-play. You have to pick what you like and stick with/modify it.

Hugo Pros

Things I really like about Hugo in no particular order:

  • Static sites are fast, and don’t require many resources to serve
  • Easy (trivial, almost) to extend themes and tweak your site
  • Google Analytics and AdSense (and other services) are very easy to include via partials and use site-wide

Things I have not done

Things I have not done but might (also in no particular order):

  • Add a contact form
  • Support comments

Conclusion

This is my rationale for choosing Hugo. If you have any feedback, until I get around to implementing a contact form you can reach at mike.baranski via gmail.