CLAUDE.md

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

Overview

This is a personal academic website for Dingshan Deng (PhD candidate at the University of Arizona), built with Jekyll and deployed to GitHub Pages at https://dingshandeng.github.io. It uses the Minimal Mistakes theme (mint skin).

Local Development

# Install dependencies (first time)
bundle install

# Serve locally with live reload
bundle exec jekyll serve --livereload

# Build without serving
bundle exec jekyll build

The site auto-deploys to GitHub Pages on every push to main via .github/workflows/jekyll.yml.

Site Architecture

Theme: mmistakes/minimal-mistakes@4.26.2 (pulled via remote_theme). The site overrides specific theme components rather than maintaining a full local copy.

Key files:

Content:

Custom CSS Components

All custom styles live in assets/css/custom.css. Current components:

When adding new layout components, add styles to custom.css rather than inline <style> blocks (the home page has some inline styles as legacy; prefer the CSS file for new work).

Adding Content

New research paper — add a <section class="paper-card"> block in _pages/research.md following the existing pattern.

New blog post — create _posts/YYYY-MM-DD-slug.md with front matter:

---
title: "Post Title"
date: YYYY-MM-DD
layout: single
author_profile: true
classes: wide
---

New nav page — add a .md file to _pages/ with a unique permalink, then add an entry to _data/navigation.yml under main.

CV — replace assets/cv.pdf directly; the home page links to it at /assets/cv.pdf.

Icons

Author sidebar and footer use Font Awesome (fas, fab prefixes) and Academicons (ai prefix, loaded via CDN in _includes/head/custom.html). Icon keys like ai ai-ads, ai ai-orcid, ai ai-google-scholar are Academicons classes.