CLAUDE.md
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Commands
# Install dependencies
bundle install
npm install
# Development server (localhost:4000, auto-rebuilds)
bundle exec jekyll liveserve --config _config.yml,_config.dev.yml
# Production build → outputs to _site/
bundle exec jekyll build
# Minify JS assets
npm run build:js
# Watch JS for changes
npm run watch:js
Deploy Workflow
_site/ is a git submodule pointing to https://github.com/vb000/vb000.github.io.git (the live GitHub Pages repo). To deploy:
bundle exec jekyll build
cd _site
git add -A
git commit -m "deploy"
git push
cd ..
git add _site
git commit -m "update submodule pointer"
Architecture
This is a Jekyll static site using a customized Academic Pages theme (fork of Minimal Mistakes). Key config is split across _config.yml (production) and _config.dev.yml (dev overrides: localhost URL, expanded Sass, analytics off).
Collections (_publications/, _talks/, _teaching/, _portfolio/) each output to /:collection/:path/ URLs. The _posts/ directory uses standard Jekyll blog permalinks.
Layouts live in _layouts/ — most pages use single, talks use talk. All content uses author_profile: true by default (set via defaults in _config.yml, no need to repeat in front matter).
Content Front Matter
Publications (_publications/YYYY-MM-DD-slug.md):
title: "Paper Title"
collection: publications
permalink: /publication/YYYY-MM-DD-slug
date: YYYY-MM-DD
venue: "Conference or Journal"
paperurl: "https://..."
excerpt: "One-line summary"
citation: "Full citation string"
Talks (_talks/YYYY-MM-DD-slug.md):
title: "Talk Title"
collection: talks
type: "Talk"
permalink: /talks/YYYY-MM-DD-slug
venue: "Conference Name"
date: YYYY-MM-DD
location: "City, Country"
Teaching / Portfolio follow the same pattern with type: for teaching (e.g. "Graduate course").
Bulk Content Generation
markdown_generator/ contains Python scripts and Jupyter notebooks to generate collection markdown files from TSV data:
publications.py/publications.tsv→_publications/talks.py/talks.tsv→_talks/pubsFromBib.py→ from BibTeX
Run the Python scripts directly: python markdown_generator/publications.py