The CI/CD Pipeline Behind This Jekyll Blog
Three GitHub Actions workflows, Dependabot, and a Lighthouse config — here's the full CI/CD pipeline that builds, deploys, secures, and monitors this Jekyll blog. Including the bugs I shipped along the way.
Building a Custom Tag and Category Generator Plugin for Jekyll
GitHub Pages doesn't support tag or category pages out of the box. Here's how I built a custom Jekyll generator plugin that creates them automatically — and the SEO lessons learned along the way.
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.
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.
Ruby Gem Release Automation - Part 1: Infrastructure Implementation
Building a complete release automation pipeline for Ruby gems with GitHub Actions, Read the Docs integration, and RubyGems publishing - lessons learned from 10+ manual steps to single command deployment.
Advanced Jekyll SEO Health Checks: Comprehensive Automation and Monitoring
Building a comprehensive SEO health check system for Jekyll sites with GitHub Actions, Lighthouse CI, and automated link validation - Part 2 of the Jekyll SEO series.
Using Github Actions with pip-audit to audit pip library versions
Dependabot misses Python pip security issues that pip-audit catches. Here's a GitHub Actions workflow that audits dependencies automatically without requiring pinned versions.