CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
This is a single-page Jekyll academic portfolio site deployed via GitHub Pages at https://ffengc.github.io/. It is based on the AcadHomepage template (influenced by minimal-mistakes and academicpages).
Commands
# Serve locally (with live reload)
bundle exec jekyll serve
# Or use the convenience script
bash run_server.sh
# Build for production
bundle exec jekyll build
The site auto-deploys to GitHub Pages on push to the main branch. Development happens on dev.
Architecture
Single-page site. All visible content lives in _pages/about.md. There are no other content pages.
Navigation is driven by _data/navigation.yml. Each entry has a title and url. The URL anchors are auto-generated by Jekyll/kramdown from the section headings in about.md:
- Emoji at the start of a heading becomes a leading
-in the anchor - Spaces become
-, special characters (like&) are stripped - Example:
# 🌐 Open Source & Community→/#-open-source--community
When adding a new # section to about.md, also add a corresponding entry to _data/navigation.yml.
Sidebar author profile is configured in _config.yml under the author: key (name, avatar, email, social links). The template is _includes/author-profile.html.
Paper/project cards use this HTML pattern in about.md:
<div class='paper-box'>
<div class='paper-box-image'><div>
<div class="badge">Venue</div>
<img src='images/foo.png' alt="sym" width="100%">
</div></div>
<div class='paper-box-text' markdown="1">
[Paper Title](url)
Author One, **Fengcheng Yu**, Author Three
- **Keywords:** ...
- Contribution description.
</div>
</div>
Images for papers/projects go in images/. The _site/ directory is auto-generated and not committed.