CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Overview
This is a Jekyll-based academic personal homepage built on the AcadHomepage template. It’s deployed via GitHub Pages at https://zpqiu.github.io.
Development Commands
# Start local development server with live reload
bash run_server.sh
# Or directly:
bundle exec jekyll liveserve
The site will be available at http://127.0.0.1:4000
Prerequisites: Ruby, RubyGems, GCC, Make, and Bundler must be installed. See Jekyll installation guide.
Architecture
Key Directories
_pages/about.md- Main content file (biography, publications, news, etc.)_config.yml- Site configuration (author info, Google Scholar settings, analytics)_layouts/- HTML templates (default.html is the base layout)_includes/- Reusable template components (head, sidebar, scripts)_sass/- SCSS stylesheetsassets/- CSS, JS, and fontsimages/- Profile picture and favicons
Google Scholar Citation System
The site has automatic citation tracking:
- GitHub Action (
.github/workflows/google_scholar_crawler.yaml) runs daily at 08:00 UTC or on page build - Python crawler (
google_scholar_crawler/main.py) fetches data from Google Scholar using theGOOGLE_SCHOLAR_IDsecret - Data is pushed to the
google-scholar-statsbranch as JSON files - Frontend fetches via CDN (jsdelivr) and displays citations
To display paper citations in content, use:
<span class='show_paper_citations' data='PAPER_ID'></span>
Paper ID can be found in Google Scholar URL: citation_for_view=PAPER_ID
Content Conventions
- Publications use
<span class="underlined">Name</span>for supervised interns - Conference/journal badges use double backticks:
``WWW 2024`` - Section anchors use emoji headers:
# 🔥 News,# 📝 Publications - HTML and Markdown can be mixed freely (kramdown with GFM)
Configuration Notes
_config.ymlchanges require server restart (not hot-reloaded)google_scholar_stats_use_cdn: trueenables jsdelivr CDN for citation data- Timezone is set to
Asia/Shanghai