Upgrading Jekyll: Two Years of Cascading Breakage
Every Jekyll upgrade broke something downstream. Ruby 3.0 dropped webrick. Jekyll 4.3 broke SASS imports. Dart Sass 3.0 deprecated color functions. Node.js 24 forced all GitHub Actions to update. Here's the full upgrade timeline and what each one taught me.
How the Sausage Is Made: Every Feature Powering This Jekyll Blog
After 130+ posts and two years of Jekyll customization, here's the complete feature set behind this blog — from Mermaid diagrams and KaTeX math to GDPR compliance, Pandoc exports, and the SEO pipeline. A look behind the curtain at what it takes to run a technical blog on GitHub Pages.
Building This Blog: Jekyll on GitHub Pages from Zero to 130+ Posts
I've been writing about technology since 2004. This blog has lived on WordPress, Blogger, and now Jekyll on GitHub Pages. Here's how I set it up, what I added along the way, and what I'd do differently if I started over.
Integrating Jekyll-Pandoc-Exports Into a Real Project - Part 3: Bugs, Fixes, and HTML Cleanup
What happens when you integrate your own Jekyll plugin into a real project: three patch releases, a Ruby language gotcha, and the surprising difficulty of converting themed HTML into clean documents.
Building a Jekyll Plugin for Automated Document Exports - Part 2: Technical Implementation
Technical deep-dive into Jekyll plugin development: hooks system, Pandoc integration, and document generation features. Part 2 of building a professional Ruby gem.
Merging Two Jekyll Websites: Architectural Analysis and Integration Strategies
Analyzing the feasibility of merging a technical blog and resume site into a unified Jekyll website, exploring architectural challenges and integration strategies.
Your Jekyll Theme Is Probably Missing head and body Tags
Many Jekyll themes — especially minimal forks — ship without proper head and body tags. Browsers don't care. Bots do. Here's how to check and fix it in five minutes.
Your Jekyll Sitemap Is 60% Garbage
I audited my Jekyll sitemap and found that 262 of 434 URLs were auto-generated tag pages, category pages, and pagination — most with a single post. Here's how to clean it up without losing anything.
Fixing AdSense Verification Without Breaking GDPR: The Script Loading Mistake
My GDPR implementation was too aggressive — it hid the AdSense script from Google's verification bot. Here's how I separated verification from ad serving while keeping GDPR compliance intact.
Jekyll Mermaid Diagram Rendering: Why Client-Side Beats Plugins
How Jekyll 4.4's Rouge syntax highlighter interferes with Mermaid diagram rendering and why client-side rendering with Mermaid 11 is better than plugins.
Implementing GDPR Compliance for Jekyll Sites: A Real-World AdSense Integration Story
A detailed walkthrough of implementing GDPR cookie consent for Jekyll sites with Google AdSense and Analytics, including debugging challenges and solutions.