Why I Migrated My Blog from Jekyll to Hugo
When I first started blogging back in 2021, I chose Jekyll because it was officially supported by GitHub Pages and had abundant community resources. Initially, I didn’t write many posts, so I had no real complaints about Jekyll.
However, since last year, I’ve started regularly posting research reviews generated with GPT. This increased frequency of publishing highlighted certain limitations with Jekyll, and I eventually realized I needed to migrate my blog to a more efficient platform.
Problems Encountered with Jekyll
The first major issue was significantly increased build times as the number of posts grew.
Additionally, since I’m not particularly experienced with web programming, I used Gemini and GPT to deeply research potential performance and security issues on my blog. They pointed out that my existing theme (jekyll-theme-next) hadn’t been updated since 2018, raising concerns about security vulnerabilities and outdated performance.
Given my lack of expertise in web design and site construction, it became clear that choosing a well-maintained and feature-rich theme or platform would be the smartest option. After discussing with my LLM assistant, I made the decision to migrate my blog to a new platform.
Considering Alternative Jekyll Themes
Initially, my first thought was to simply switch to another, more actively maintained Jekyll theme with an attractive design. I compared several popular themes:
Feature | Minimal Mistakes | Chirpy | Beautiful Jekyll | al-folio | Lanyon/Hyde |
---|---|---|---|---|---|
GitHub Pages | ✅ | ✅ | ✅ | ✅ | ✅ |
Dark Mode | Skin-based | ✅ (Toggle) | ✅ (Toggle) | ✅ (Toggle) | ❌ |
Categories/Tags | ✅ | ✅ | ✅ | ✅ | ❌ |
Sticky Posts | ❌ | ✅ | ❌ | ❌ | ❌ |
Table of Contents | ✅ | ✅ | ❌ | ✅ | ❌ |
Built-in Search | ✅ | ✅ | ❌ | ❌ | ❌ |
Math (MathJax) | ✅ | ✅ | ❌ | ✅ | ❌ |
Recent Updates | Active | Very active | Active | Very active | Last updated 2020 |
Despite thorough research, I couldn’t find a Jekyll theme that solved the core issue of slow build times and simultaneously offered active maintenance, robust community contributions, and diverse functionality.
Why I Chose Hugo
After careful consideration of various alternative static site generators (SSGs), I decided to migrate to Hugo. Here’s a quick comparison of some popular SSG options I considered:
Platform | Migration Difficulty | Description |
---|---|---|
Hugo | Easy | High Markdown compatibility, just reorganize folders |
Gatsby | Medium~Hard | React, GraphQL-based, requires rewriting templates |
Next.js | Hard | Needs significant redevelopment |
11ty | Easy | Compatible with Liquid, minor restructuring needed |
Astro | Medium | Markdown compatible, requires template adjustments |
Migration to Hugo itself wasn’t challenging at all, thanks to a clear migration guide provided by my LLM assistant.
The Challenge of Choosing a Hugo Theme
Ironically, the most time-consuming part of migrating turned out to be selecting a Hugo theme.
I browsed extensively through the Hugo Themes official site hoping to find a beautifully designed, actively maintained theme with diverse built-in features. Unfortunately, no theme perfectly matched all my expectations. Finally, I discovered a recently started but aesthetically pleasing and promising theme called hugo-narrow and quickly decided to migrate my content to it.
For now, I’ll continue using hugo-narrow, but I’m open to switching themes within Hugo later, should the need arise.
Future Blogging Plans
For the past year, my blog mainly served my personal study needs—I simply uploaded GPT-generated Q&A content without proper refinement, resulting in lower-quality posts. Moving forward, I’m committed to improving my blog’s quality by adding more of my own thoughts, insights, and analyses to provide valuable content for readers.
Thanks for reading, and look forward to better posts ahead! 🚀
Comments