CLAUDE.md
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
This is an academic personal website built on Jekyll using the Academicpages template (a fork of Minimal Mistakes theme). It is hosted on GitHub Pages at https://aperrault.github.io.
Editing publications and news
This site is a public rendering of a research record maintained in a separate (private) repo; keep publication entries consistent with that record. The private repo is wired in via CLAUDE.local.md (not committed), which loads automatically alongside this file. Two rules:
- Public-only. This site is public. Never publish anything not already public or explicitly approved — no pending/submitted grants, no private collaborator notes.
- Supersession. When a workshop paper has an archival successor, the site lists both: encode it in the
venuefield on each —(supersedes the X version)on the successor and(superseded by the Y version)on the workshop paper — and remove thepaperurlfrom the superseded one.
Development Commands
# Install dependencies
bundle install
# Serve locally with live reload (runs at localhost:4000)
bundle exec jekyll liveserve
# Clean bundle directory if needed
bundle clean
# Check for broken links (build first, then check)
bundle exec jekyll build && bundle exec htmlproofer ./_site --ignore-urls "/fonts.gstatic.com/,/fonts.googleapis.com/,/crcs.seas.harvard.edu/,/linkedin.com/,/openreview.net/,/pnas.org/,/papers.ssrn.com/,/dl.acm.org/,/cs.toronto.edu/" --no-enforce-https
Content Structure
Collections
_publications/- Published papers as markdown files (YAML frontmatter: title, authors, venue, paperurl, citation)_preprints/- Preprint papers, same format as publications_pages/- Main site pages (about.md, publications.md, teaching.md, people.md, contact.md)
File naming convention for publications/preprints
Files use format: YYYY-MM-DD-short-title.md
Static files
files/- PDFs, BibTeX files, supplementary materialsimages/- Site images and profile photos
Architecture
_config.yml- Main Jekyll configuration (collections, defaults, author info)_layouts/- Page templates (default.html is base, single.html for content pages)_includes/- Reusable components (author-profile.html, archive-single.html for publication entries)_sass/- SCSS styles compiled to assets/css/main.css_data/navigation.yml- Main navigation menu structure
Adding Publications
- Create a markdown file in
_publications/or_preprints/with date-prefixed filename - Include YAML frontmatter with: title, authors, venue, paperurl, citation. Prefer a direct PDF link for
paperurl(e.g.arxiv.org/pdf/...,openreview.net/pdf?id=...) over a landing/review page. Watch for the easypaperurl->paperultypo, which silently drops the link. - Place PDF in
files/directory (or link an external PDF) - The publication will automatically appear on the publications page via the archive template
Date-prefix the filename with the event/publication date (e.g. a workshop paper uses the workshop date). News items go in _pages/about.md under “Updates:” as - Month Year—..., newest first.
Utility Scripts
The markdown_generator/ directory contains Python/Jupyter scripts to batch-generate publication markdown files from TSV data.
