CLAUDE.md

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

Repository purpose

Personal academic website for Thomas Hasenzagl, deployed via GitHub Pages at the custom domain thomashasenzagl.com (see CNAME). Built with Jekyll (_config.yml uses kramdown markdown). Pushing to master triggers GitHub Pages to rebuild and deploy — there is no separate CI step.

Local preview

bundle install
bundle exec jekyll serve

Then open http://127.0.0.1:4000. Auto-regeneration is on, so edits to HTML/CSS reload on save. Generated output goes to _site/ (gitignored).

Requires Ruby ≥ 3.0 (Apple’s bundled /usr/bin/ruby is too old — use Homebrew’s: brew install ruby and prepend /opt/homebrew/opt/ruby/bin to PATH). The vendor/ and .bundle/ directories are gitignored; Gemfile.lock is committed.

There are no tests, linters, or CI in this repo.

Architecture

This is a small static site with a single Jekyll layout and hand-authored HTML pages:

Conventions when editing content