CLAUDE.md

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

About This Site

This is a Jekyll-based academic personal website using the Academic Pages template, deployed via GitHub Pages. The user is a PhD student in AI/Computer Vision applied to histopathological images. The goal is to customize personal information only — not to modify the template structure.

Local Development

# Install Ruby dependencies (first time only)
bundle install

# Run local server with live reload at http://localhost:4000
bundle exec jekyll serve -l -H localhost

# Or with Docker
docker compose up

VS Code DevContainer is also available — it auto-serves the site on port 4000.

Initial Setup (GitHub Pages)

  1. Fork and rename the repository to [username].github.io
  2. Set url and repository in _config.yml
  3. Push — GitHub Pages builds and deploys automatically

Key Files to Customize

Personal Information

  • _config.yml — The main file to edit: name, bio, avatar, email, institution, and all social/academic links (Google Scholar, ORCID, GitHub, LinkedIn, ResearchGate, etc.)
  • _pages/about.md — Homepage content (bio, research description)
  • images/profile.png — Profile photo (replace this file)
  • _data/navigation.yml — Controls which sections appear in the top menu. Comment out entries to hide sections.

Content Collections

Each collection lives in its own directory. Files use YYYY-MM-DD-slug.md naming:

DirectoryContent
_publications/Research papers (category: manuscripts, conferences, books)
_talks/Conference talks, seminars
_posts/Blog posts
_teaching/Courses taught
_portfolio/Projects

Frontmatter fields for publications:

---
title: "Paper Title"
collection: publications
category: manuscripts  # or conferences, books
permalink: /publication/YYYY-MM-DD-slug
excerpt: 'One-line summary'
date: 2024-01-01
venue: 'Journal or Conference Name'
paperurl: 'https://...'
citation: 'Author et al. (2024) ...'
---

Files and Assets

  • files/ — Upload PDFs here; accessible at https://[username].github.io/files/filename.pdf
  • _config.ymlsite_theme — Change color theme (default, air, sunrise, mint, dirt, contrast)

Bulk Content Generation

For importing many publications/talks from a spreadsheet:

# Edit the TSV files in markdown_generator/, then run:
python markdown_generator/publications.py
python markdown_generator/talks.py

CV

Two CV formats are supported:

  • _pages/cv.md — Hand-written Markdown CV
  • _data/cv.json + _pages/cv-json.md — Structured JSON-driven CV

To convert the markdown CV to JSON:

python scripts/cv_markdown_to_json.py

Architecture Notes

  • Jekyll collections (_publications, _talks, etc.) are auto-processed into archive pages defined in _pages/*.html
  • _layouts/ and _includes/ are the theme templates — avoid editing these
  • _sass/ contains styles; _sass/_themes.scss defines the color themes
  • _data/navigation.yml and _data/ui-text.yml are the only data files typically needing customization
  • The site uses Kramdown (Markdown) with MathJax support — LaTeX equations work out of the box with $$...$$