Post

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.

FeatureMrGreenChirpy
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.

Chirpy Blog Home Page New look and feel with Chirpy

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 /now and /about
  • Pulling recent articles for the New Articles part of the homepage
  • Adding a few missing SEO tags such as article:author and article: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!

  1. MrGreen’s multi-language support is impressively well implemented for a statically compiled website template. ↩︎

  2. 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. ↩︎