CLAUDE.md
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Repository Overview
This is a Jekyll-based academic website using the minimal-mistakes theme, hosted on GitHub Pages. It serves as a personal academic portfolio for Yunqi He, a PhD candidate at Northwestern University.
Development Commands
Local Development
# Install dependencies
bundle install
# Serve the site locally with live reload
bundle exec jekyll serve
# Serve with development config
bundle exec jekyll serve --config _config.dev.yml
# Build the site
bundle exec jekyll build
Asset Management
# Build and minify JavaScript assets
npm run build:js
# Watch for JavaScript changes during development
npm run watch:js
Site Architecture
Content Collections
The site uses Jekyll collections defined in _config.yml:
_publications/- Research publications_talks/- Conference talks and presentations_teaching/- Teaching materials and courses_portfolio/- Project portfolio items_posts/- Blog posts
Content Generation
The markdown_generator/ directory contains Python scripts and Jupyter notebooks to generate markdown files from structured data:
publications.py/publications.ipynb- Generates publication pages frompublications.tsvtalks.py/talks.ipynb- Generates talk pages fromtalks.tsv
These scripts read TSV files with structured metadata and create individual markdown files for each entry.
Key Configuration Files
_config.yml- Main Jekyll configuration with site settings, author info, and collection definitions_config.dev.yml- Development-specific overridesGemfile- Ruby gem dependencies including github-pages
Layout Structure
_layouts/- Jekyll layouts (single, talk, archive, etc.)_includes/- Reusable template components_sass/- Sass stylesheets_pages/- Static pages (about, CV, publications list, etc.)
Content Management
When adding new publications or talks:
- Update the corresponding TSV file in 
markdown_generator/ - Run the appropriate Python script to regenerate markdown files
 - Commit the generated files to deploy changes
 
The site is configured for GitHub Pages deployment with the github-pages gem handling Jekyll version and plugin compatibility.