CLAUDE.md
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Site Overview
This is Hui Guan’s academic homepage — a Jekyll site based on the AcademicPages fork of Minimal Mistakes, hosted on GitHub Pages at https://guanh01.github.io.
Build & Serve Commands
bundle install # Install Ruby dependencies (first time or after Gemfile changes)
bundle exec jekyll liveserve # Build and serve at localhost:4000 with live reload
bundle exec jekyll serve # Build and serve without live reload
Development config override: _config.dev.yml sets localhost:4000, expanded SASS, and disables analytics.
Publication Workflow
Publications are generated from a spreadsheet, not edited as markdown directly:
- Edit
markdown_generator/publications.xlsx - Export to
markdown_generator/publications.csv(columns:pub_date,authors,title,venue,url_slug,paper_url) - Run
cd markdown_generator && python pub2md.pyto regenerate all_publications/*.mdfiles
The pub_date must be YYYY-MM-DD format. Output files are named YYYY-MM-DD-[url_slug].md.
Architecture
_config.yml— Main site config: author profile, collections, social links, plugin settings_pages/— Top-level pages (about, publications, teaching, students, services).about.mdserves as the homepage viapermalink: /_publications/— Auto-generated publication markdown files (do not hand-edit; regenerate viapub2md.py)_teaching/— Course entries with frontmatter (title, type, link, excerpt)_projects/— Project pages in HTML format_layouts/— Page templates;default.html→single.htmlis the common chain_includes/— Template partials (author profile sidebar, SEO, archive display variants)_data/navigation.yml— Controls the top navigation bar links_sass/— SCSS stylesheets compiled toassets/css/main.cssfiles/— PDFs and downloadable files, served at/files/[filename]images/— Image assets organized by subdirectory
Collections
Three Jekyll collections are configured in _config.yml: teaching, publications, projects (all with output: true).
Key Conventions
- Publication frontmatter fields:
title,collection,date,venue,paperurl,authors - Pages use YAML frontmatter with
layout,title,permalink; most uselayout: archiveorlayout: single - Navigation is managed in
_data/navigation.yml, not in individual page files - The site uses the
github-pagesgem for dependency management, ensuring GitHub Pages compatibility
