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.