Welcome to my blog! This post explains why I went with Jekyll and GitHub Pages.

The Decision

I wanted zero hosting maintenance, which pointed me straight to GitHub Pages. It’s free, maintained by GitHub, and builds automatically from Git.

Looked at several static site generators and kept coming back to Jekyll - the default for GitHub Pages. The docs assume Jekyll, the integration is native, everything just works without configuration.

Jekyll’s simplicity is exactly what I want for a blog. I’m not maintaining the generator, I’m not writing plugins, I don’t need to touch Ruby. GitHub handles the build, I just write Markdown and it turns into HTML.

What You Get with Jekyll

Static sites are fast because there’s no database and no server-side rendering, just HTML files served from GitHub’s CDN. Everything’s version controlled in Git, so I can see the history of every post and roll back anything. And it’s free with zero hosting bills.

The tradeoff is no dynamic features and no server-side logic, but for a blog I don’t need them.

Three Plugins

jekyll-feed generates an RSS/Atom feed so readers can subscribe in their feed reader of choice.

jekyll-seo-tag handles all the SEO work: meta tags, Open Graph for social media, Twitter Cards, JSON-LD structured data, and canonical URLs. I don’t touch any of it manually.

jekyll-sitemap creates sitemap.xml so search engines can find all the pages.

I added some basic SEO config (language tag, author metadata, social links, default front matter) and custom descriptions for each post. That’s it.

The Workflow

Write a post in Markdown, add the front matter, commit to Git, and push to GitHub. GitHub Pages builds and deploys automatically.

Why It Works

I write Markdown and push to Git. GitHub handles everything else. The site loads fast, costs nothing, and I never think about infrastructure.