CLAUDE.md
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
What This Is
Personal academic website for Rocco Zizzamia (University of Oxford), built on the Academic Pages Jekyll template (Minimal Mistakes theme). Hosted on GitHub Pages at roccozizzamia.github.io.
Deployment
Push to master → GitHub Pages auto-builds and deploys. There is no CI/CD config or GitHub Actions — GitHub Pages runs Jekyll natively. The _site/ directory is the build output (gitignored in practice but present locally after a build).
Build & Serve Locally
bundle install # install Ruby dependencies (first time / after Gemfile changes)
jekyll serve -l -H localhost # serve at localhost:4000 with live reload
Prerequisites: Ruby, Bundler, Node.js. On macOS: brew install ruby node && gem install bundler.
If bundle install fails, delete Gemfile.lock and retry.
Important: _config.yml changes require restarting the server — live reload does not pick them up.
JS Build
npm run build:js # uglify and concatenate JS into assets/js/main.min.js
Only needed if modifying JS plugins or assets/js/_main.js. Rarely touched.
Site Architecture
Where content lives
The site uses Jekyll collections, but all content pages are hand-written in _pages/ — not auto-generated:
| File | URL | Layout |
|---|---|---|
_pages/about.md | / (homepage) | single |
_pages/publications.md | /publications/ | archive |
_pages/workinprogress.md | /workinprogress/ | archive |
_pages/otherwriting.md | /otherwriting/ | archive |
_pages/cv.md | /cv/ | archive |
Navigation order is set in _data/navigation.yml.
Configuration
_config.yml— Site metadata, author sidebar info, social links, collection definitions, publication categories_data/navigation.yml— Header nav links and order_includes/author-profile.html— Sidebar (photo, bio, links). Reads fromauthor:block in_config.yml_sass/_variables.scss— Theme customization
Static files
files/— PDFs, replication packages, survey instruments, CV. Referenced as/files/filename.extimages/— Site images including author avatar (RZphoto.jpg)
Unused template artifacts
_publications/, _teaching/, _talks/, _portfolio/, _posts/, and markdown_generator/ are from the upstream Academic Pages template. The site doesn’t actively use them — all content is in _pages/.
Content Patterns
Adding a publication or working paper
Entries are written as raw HTML/Markdown directly in _pages/publications.md or _pages/workinprogress.md. The consistent pattern is:
[**Paper Title**](https://doi-or-url) \
with Coauthor Name \
*Journal Name,* Year (Vol. X, Issue Y) \
<small>[[Draft](/files/draft.pdf) | [Code](/files/code.zip) | [Op-Ed](https://url)]</small>
<details>
<summary>Abstract</summary>
Abstract text here.
</details>
<p> </p>
<br>
Key details:
<details>/<summary>for expandable abstracts (publications page uses “Abstract”, work-in-progress uses “Details”)- Supplementary links wrapped in
<small>tags with[[Label](url)]format <p> </p>and<br>for spacing between entries- External links use
{:target="_blank"}kramdown attribute (homepage/about page), but publication pages use raw HTML links - File downloads link to
/files/directory
Other writing page
Simpler format — just linked titles with coauthors and publication venue, no abstracts/details blocks.
CV page
Links to a PDF at /_pages/rocco-zizzamia-cv.pdf. To update the CV, replace that PDF file.
