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 Hao Li’s academic personal website built with Jekyll using the “Academic Pages” template. It’s a static site generator for creating academic portfolio websites with support for publications, talks, teaching, and CV management.
Content Generation
# Convert markdown CV to JSON format
./scripts/update_cv_json.sh
# Generate publication/talk pages from TSV files
cd markdown_generator
python3 publications.py # Generate from publications.tsv
python3 talks.py # Generate from talks.tsv
Architecture
Jekyll Collections Structure
_publications/
- Academic papers with PDF/BibTeX links_talks/
- Conference presentations and talks_teaching/
- Teaching experience entries_portfolio/
- Project portfolio items_posts/
- Blog posts (standard Jekyll)_pages/
- Static pages (about, CV, etc.)
Content Management
- Publications: Individual markdown files in
_publications/
with YAML frontmatter - Files: PDFs and BibTeX files stored in
files/
directory - CV Dual Format: Maintain both
_pages/cv.md
(markdown) and_data/cv.json
(structured data)
Theme Architecture
- Base: Academic Pages theme (fork of Minimal Mistakes)
- Styling: Modular SCSS in
_sass/
with theme variants (default/dark) - JavaScript: Minified bundle with jQuery, plugins, and custom scripts
Configuration
_config.yml
- Main site configuration (author info, collections, SEO)_config_docker.yml
- Docker-specific overrides_data/cv.json
- Structured CV data (auto-generated from markdown)
Content Workflows
Adding Publications
- Create markdown file in
_publications/
with YAML frontmatter - Add PDF and BibTeX files to
files/
directory - Reference files in frontmatter:
paperurl
,citation
Bulk Content Generation
- Edit TSV files in
markdown_generator/
(publications.tsv, talks.tsv) - Run corresponding Python scripts to generate markdown files
- Review and commit generated files
CV Management
- Edit primary CV in
_pages/cv.md
- Run
./scripts/update_cv_json.sh
to generate JSON version - JSON version enables alternative CV layouts and export formats
Key Files
_config.yml
- Site configuration and author profile_pages/about.md
- Homepage with research focusscripts/cv_markdown_to_json.py
- CV format convertermarkdown_generator/
- Bulk content generation tools
Deployment
This site is automatically built and deployed by GitHub Pages CI when changes are pushed to the master branch. No local build or deployment process is required.