Jekyll and the Issues Around It
I started this blog using Jekyll. First, I had to learn about Jekyll and how to write and maintain a blog with it. There was definitely a learning curve, but with tons of resources online, it wasn’t a huge deal. The real issue was installing and getting Jekyll to work. Jekyll is Ruby-based, with a bunch of dependencies like Ruby itself, RVM, Bundler, and gems. Mismatches between these dependencies can stop Jekyll from installing (like, the OS might be missing some stuff or can’t put together compatible dependencies) or even from working later (like after an OS update).
Anyway, after a lot of searching and troubleshooting, I managed to install Jekyll and get it running, and I wrote my first few blog posts. Then, my OS updated, and, no surprise, my Jekyll broke. I tried reinstalling and using the same fixes I had before. Nothing worked! I found that others have had the same problems and have switched away from Jekyll.
Hugo
I want to focus on writing, not spending hours fixing Jekyll and its dependencies every time I want to write a blog post. So, I decided to migrate to Hugo. Like Jekyll, Hugo is a static site generator that lets you create fast, secure, and scalable websites/blogs using Markdown. It generates static HTML files from your Markdown, which you can then host on a web server or a platform (like GitHub Pages). According to this blog post: Hugo “is written in Go. The main benefit of this is that Go applications compile to a single binary, which means there is no development environment to maintain.” That sounded much better.
Hugo Themes
Hugo themes make things way easier. But, finding the right theme can be difficult. Some are missing features you need, like rendering equations or a search bar, and then they have some stuff you don’t want. My approach was to pick a theme that was close to what I wanted and then add/remove the extra bits. After some tweaking and experimenting, I got it working! I’m really happy I made the switch and that I’ll be able to focus on writing and not technical headaches from now on.