CLAUDE.md
Project Overview
Personal and professional academic website for Dr. Brian E. Chapman, Ph.D. — Associate Professor at UT Southwestern Medical Center. Hosted on GitHub Pages at https://chapmanbe.github.io.
Tagline: “Pushing Against Ignorance: My Personal Quest to Improve Healthcare”
Tech Stack
- Static site generator: Jekyll with
mmistakes/minimal-mistakesremote theme (sunrise skin) - Hosting: GitHub Pages
- Key JS libraries: p5.js, Leaflet.js, D3.js, Observable Framework, math.js
- Plugins:
jekyll-feed,jekyll-sitemap,jekyll-titles-from-headings,jekyll-include-cache
Site Structure
/ # Home page (index.md)
/about/ # Professional biography, CV link
/research/ # Research information
/teaching/ # Course materials, informatics education
/talks/ # 30+ PDF presentations (2009–present)
/medical_narratives/ # Personal health case studies + LLM explorations
/genealogy/ # Interactive Leaflet.js ancestor map (data in data.js)
/symmetry/ # p5.js digital art generator (standalone HTML)
/alibrary/ # Observable Framework library timeline visualization
/contact/ # Contact information
/notes/ # Notes and documentation
Navigation
Defined in _data/navigation.yml under the bec key. Sidebar nav is applied site-wide via _config.yml defaults.
Content Conventions
- Most pages use Jekyll front matter with
layout: single,author_profile: true, and thebecsidebar nav - Markdown files (
.md) for standard pages; standalone HTML for interactive visualizations - Talks are PDF files stored in
/talks/ - The
_site/directory is Jekyll build output — do not edit directly
Interactive Visualizations
/symmetry/index.html— Standalone HTML/CSS/JS (no Jekyll). Uses p5.js and math.js. Has its own CSS insymmetry/css/and JS insymmetry/js/. Managed in a separate repo: https://github.com/chapmanbe/CreatingSymmetry — copy updated files from there rather than editing here directly./genealogy/index.html— Standalone HTML. Uses Leaflet.js + leaflet.geodesic. Genealogy data lives ingenealogy/data.js.-
/alibrary/— Built with Observable Framework. Has its own build process separate from Jekyll. Managed in a separate repo: https://github.com/chapmanbe/studylibrary — copy the Observable Frameworkdist/output from there rather than editing here directly.Important: Jekyll silently drops directories starting with
_. Use the deploy script in the studylibrary repo to build and copy correctly — it handles all renaming and patching automatically:cd ~/Code/Rust/studylibrary/observable-timeline ./deploy-to-site.sh ~/Documents/chapmanbe.github.io/alibraryThen commit and push from this repo as usual.
Local Development
bundle exec jekyll serve
The site builds to _site/. GitHub Pages builds automatically on push to master.
Notes
medical_narratives/others/medical_narratives.yamlis excluded from Jekyll processing (see_config.ymlexclude list)