Wouter Compiles IT blog
About this project
This is the repository behind the blog you are reading. It started as a self-hosted WordPress site and is now a static Jekyll site, built and deployed by GitHub Actions to GitHub Pages. The original URL structure was preserved, so existing links keep working. How the migration went, including where GitHub Copilot hallucinated, is described in Migrate your blog towards GitHub Pages.
The blog is also my playground for treating content as code: every post is a Markdown file, every change is a commit, and quality gates run before anything is published.
Key features
- Jekyll with the Minima theme, plus a custom home page, category pages, tag pages and an archive
- Automated build and deployment with GitHub Actions on every push to
main - Mermaid diagrams, rendered in the browser and loaded only on posts that need them
- SEO and AI search groundwork: structured data, FAQ markup, related posts, a generated
llms.txtandllms-full.txt, and an explicit crawler policy inrobots.txt - Markdownlint on every Markdown change, enforced through a Claude Code hook
- Claude Code subagents and skills for pre-publish review, spelling and grammar, content strategy and post promotion
- Automated semantic versioning with release-please and Conventional Commits
Getting started
Clone the repository and run the site locally with live reload:
git clone https://github.com/wouterfennis/blog.git
cd blog
bundle install
npm install
bundle exec jekyll serve --livereload
The site is then available at http://localhost:4000. See the README for the writing workflow and the quality checks.