Switching Jekyll Themes
For a long time I’ve been using the MrGreen Jekyll theme, which enticed me with its clean look and multi-lingual support. However, after being called a terrible programmer by the maintainer, I decided it was time to revisit what themes are out there and ended up finding quite a gem.
While it doesn’t support multiple languages simultaneously, the Chirpy theme has many other features that I’ve been looking for that more than make up for the loss.
| Feature | MrGreen | Chirpy |
|---|---|---|
| Clean Look | ✅ | ✅ |
| Light / Dark Theme | ✅ | ✅ |
| Giscus Comments | ✅ | ✅ |
| Offline Support | ✅ | ✅ |
| Multi-Language Support | ✅1 | ❌2 |
| Advanced Search | 🟡3 | ✅ |
| Callouts | ❌ | ✅ |
| Mermaid Diagrams | ❌ | ✅ |
| Dynamic Further Reading | ❌ | ✅ |
| RSS Feed | ❌ | ✅ |
The chirpy theme also had a fairly similar look and feel to what the old theme provided, with a few improvements and a few missing features. So, in a fit of Spite Driven Development (SDD), I set out to add the missing features and make it a fully functional replacement. After a three days of programming, and a bit of AI-assisted debugging, I’d say I did a fairly good job replicating what I had before.
A few of the things I had to adjust:
- Moving the blog post listing from
/to/blog - Recreating the look and feel of the plain pages, such as
/nowand/about - Pulling recent articles for the New Articles part of the homepage
- Adding a few missing SEO tags such as
article:authorandarticle:section - Automatically hiding categories and tags from the sidebar when not open
- Spending hours debugging why Jekyll pagination is finicky
- Lots of minor metadata updates and other tweaks
- Replicating the contact section of the sidebar and adding tooltips
But hey, a little bit of elbow grease goes a long way.
Anyway, with the improvements to my personal blog completed, it’s time to get back into my current hyperfixation of choice - NixOS. Stay tuned for some more blog posts, and maybe even some tutorial videos!
MrGreen’s multi-language support is impressively well implemented for a statically compiled website template. ↩︎
While Chirpy doesn’t support multiple languages simultaneously, it does support setting a single locale, and potentially could be expanded to support multiple languages without too much effort. ↩︎
There is support for searching in MrGreen, but it is fairly limited and janky when compared to Chirpy’s implementation. ↩︎

