This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is an academic personal website built with Jekyll and hosted on GitHub Pages. It uses the Academic Pages template, which is based on the Minimal Mistakes Jekyll theme. The site showcases academic publications, talks, teaching, portfolio projects, and blog posts.
- Run locally:
bundle exec jekyll liveserve(serves from localhost:4000 with auto-rebuild) - Clean dependencies:
bundle clean - Install dependencies:
bundle install(delete Gemfile.lock if errors occur) - Prerequisites: Requires ruby-dev, bundler, and nodejs
- Build JavaScript:
npm run build:jsornpm run uglify - Watch JavaScript changes:
npm run watch:js
The site uses Jekyll collections for organized content:
_publications/: Academic papers and research publications_talks/: Conference presentations and talks_teaching/: Teaching experiences and courses_portfolio/: Project showcases_posts/: Blog posts_pages/: Static pages (About, CV, etc.)
_data/navigation.yml: Site navigation structure_data/authors.yml: Author information_data/ui-text.yml: UI text translations_data/comments/: Static comments via Staticman
The markdown_generator/ directory contains Jupyter notebooks and Python scripts that convert TSV files into markdown files for publications and talks:
publications.ipynb/publications.py: Generates publication pages from TSV datatalks.ipynb/talks.py: Generates talk pages from TSV dataPubsFromBib.ipynb/pubsFromBib.py: Converts bibliography files to publication pagestalkmap.ipynb/talkmap.py: Creates interactive maps of talk locations
_layouts/: Page templates (single, archive, talk, etc.)_includes/: Reusable components (navigation, analytics, social sharing)_sass/: SCSS stylesheets organized by componentassets/: Static assets (CSS, JS, fonts, images)
_config.yml: Main Jekyll configuration with site metadata, author info, and collections_config.dev.yml: Development-specific overridesGemfile: Ruby gem dependencies for Jekyll and plugins
- The site is configured for GitHub Pages deployment with the
github-pagesgem - Static comments are handled via Staticman (configured but provider set to false)
- Analytics can be enabled via Google Universal Analytics in
_config.yml - The site excludes development files and uses compressed HTML output for production
- Publication and talk data should be managed via the TSV files and generation scripts rather than manually editing markdown files