This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Personal blog and project showcase at petersach.com, built with Jekyll and the Minimal Mistakes remote theme, deployed via GitHub Actions to GitHub Pages.
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.
_posts/ — Blog posts as YYYY-MM-DD-title.md. Front matter controls layout, categories, and metadata._pages/ — Static pages (about, 404, etc.) included via _config.yml’s include: list.index.html — Homepage using the home layout (shows paginated posts)._config.yml — Single source of truth for site settings, author info, theme skin, plugins, and front matter defaults.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.
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).
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.
---
layout: single
title: "Post title"
date: YYYY-MM-DD
categories: [category]
---
Permalink structure is /:categories/:title/ as set in _config.yml.