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):
- Security: Wordpress bugs and having to manage accounts and passwords for my WP site. All this goes away with a static site generator
- 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
- Editor: I found the Wordpress editor to be very frustrating. I much prefer Markdown and templates to using Wordpress.
- 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…
- 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:
The world’s fastest framework for building websites
Jekyll
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.