CLAUDE.md
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
This is an Academic Pages Jekyll website template for personal and professional portfolio-oriented websites. It’s designed to showcase academic work including publications, talks, teaching, and portfolio items.
Development Commands
Local Development
# Install Ruby dependencies
bundle install
# If permission issues occur, install gems locally:
bundle config set --local path 'vendor/bundle'
bundle install
# Start local development server
jekyll serve -l -H localhost
# Alternative with specific dependencies:
bundle exec jekyll serve -l -H localhost
JavaScript Build Process
# Build minified JavaScript (uglifies and combines JS files)
npm run build:js
# Watch for JavaScript changes and auto-rebuild
npm run watch:js
# Direct uglify command
npm run uglify
Docker Development
# Set permissions and start with Docker Compose
chmod -R 777 .
docker compose up
Site Architecture
Content Collections
The site uses Jekyll collections for organizing content:
_publications/- Research papers and academic publications_talks/- Conference presentations and talks_teaching/- Teaching experience and courses_portfolio/- Portfolio projects_posts/- Blog posts_pages/- Static pages
Key Configuration Files
_config.yml- Main Jekyll configuration with site settings, author info, and collection definitionsGemfile- Ruby dependencies for Jekyll and GitHub Pagespackage.json- Node.js dependencies for JavaScript build process
Layout System
- Uses Jekyll layouts in
_layouts/directory - Default layouts:
single,talkfor different content types - Author profile sidebar configured in
_config.ymlauthor section
Styling
- SASS files in
_sass/directory - Compressed CSS output for production
- Uses Minimal Mistakes theme as base
Content Management
Publication Categories
Defined in _config.yml:
books- Booksmanuscripts- Journal Articlesconferences- Conference Papers
Automation
- GitHub Actions workflow in
.github/workflows/scrape_talks.ymlautomatically processes talk locations usingtalkmap.ipynb - Workflow runs when files in
talks/ortalkmap.ipynbare modified
Markdown Generation
markdown_generator/folder contains Jupyter notebooks and Python scripts for generating markdown files from TSV data- Useful for bulk importing publications and talks
Site Configuration
- Main site settings in
_config.ymlincluding URL, title, author information - Author profile links (social media, academic profiles) configured in author section
- Analytics, comments, and social sharing options available but may need configuration
File Structure
files/- Upload directory for PDFs and other downloadable filesimages/- Image assetsassets/- Compiled CSS, JavaScript, and other assetstalkmap.pyandtalkmap.ipynb- Geographic visualization of talks/presentations- 这个workspace的docker命令需要sudo,我有sudo权限,可以运行命令后等待我输入密码
