/ opinion

Hugo vs. Jekyll

Jekyll, a static site generator written in Ruby, and Hugo, a static site generator written in Go, are both fantastic static site generators that can be hosted on your own server or Github Pages. But which of these is more fantastic?

Jekyll

Pros

  • Ruby - I like Ruby. It's a nice, clean language that is human readable. The templating system Jekyll uses is very ruby-like which is a pro to me. It allows you to see what will be rendered and where it will be rendered.

  • Github Pages automatically builds Jekyll projects - This is a big one for me. You don't even need Jekyll installed on your machine to make changes to your site. All you have to do is push up the code and Github does the rest for you.

  • Plugins - There are many plugins that can be used on Jekyll sites. My favorite will aways be jemoji!

  • Large community - The Jekyll community is pretty huge. Any questions you may have will yield answers in minutes.

Cons

  • Slow build time - This was the tipping point for me. I hated waiting up to 30 seconds for my site to build and for me to see changes. 30 seconds may not sound like a long time, but it really got annoying after a while. Making changes to my site was infuriating as I would have to wait just to see changes on my local site, not even my live site.

  • Github Pages plugin support - This one isn't really about Jekyll but more towards Github Pages. Github only allows 3 or 4 plugins to actually be used on your site if you host it there. This negates one of Jekyll's biggest pros. I know not everyone uses Github Pages to host their static sites, but I know most people do.

Hugo

Pros

  • Go - Yep, I know. I put both languages as pros. Shoot me. I like Go a lot and I think integrating it into the templating system is fun and powerful. I believe you can do more with the Go-powered templating system than you can with the Ruby-powered templating system. I could be wrong, but it sure seems that way.

  • Insanely fast build times - Hugo. Is. Fast. This is the main reason I am currently using Hugo to power this site. I love seeing my changes instantaniously. You will too.

  • Great documentation - Hugo's documentation is great and will answer any questions you may have. It is filled with clear explanations and code examples that will get your Hugo site off the ground quickly.

  • Growing community - While not as big as Jekyll's community, Hugo's community is definitely growing. It's community discussion page located at https://discuss.gohugo.io/ is actually very active. I'm sure any questions you may have that aren't found in the documentation can be answered there.

Cons

  • Github Pages does not automatically build Hugo projects - This is an annoying one. It means that I need to have Go and Hugo installed on my system if I want to make any changes to my site. However, I've never actually needed to change anything on my site on a system where I don't have Go and Hugo installed. To make the deployment process less annoying, I've built a script that builds the Hugo project and pushes both the source and the the compiled site to Github.

Ultimately, I've chosen to use Hugo. I believe it is an overall better way of generating static sites. It has many built in features such as Aliases which are not found in Jekyll.

Thanks for reading and happy blogging!