CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

What this is

Personal blog and project showcase at petersach.com, built with Jekyll and the Minimal Mistakes remote theme, deployed via GitHub Actions to GitHub Pages.

Development commands

The devcontainer runs Jekyll on port 4000. From inside the container:

# Serve locally with live reload
jekyll serve

# Build (matches CI — includes future-dated posts)
jekyll build --future

# Install/update gems
bundle install

There is no test suite. CI simply runs jekyll build --future; if it succeeds the site deploys.

Architecture

Content

Theme customisation

The site uses minimal-mistakes as a remote theme. To override theme files, place a copy under the matching path (e.g. _includes/, _layouts/, _sass/) — Jekyll will use the local file instead of the gem’s version.

Custom JavaScript

assets/js/gogen.js and assets/js/drawgogen.js implement a Gogen word-puzzle generator and canvas renderer. These are standalone vanilla JS files (no bundler).

Deployment

Pushing to main triggers .github/workflows/jekyll.yml, which builds with the jekyll/builder:latest Docker image and deploys to GitHub Pages. The live domain is set in CNAME.

Post format

---
layout: single
title: "Post title"
date: YYYY-MM-DD
categories: [category]
---

Permalink structure is /:categories/:title/ as set in _config.yml.