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-mistakes remote 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

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 the bec sidebar 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 in symmetry/css/ and JS in symmetry/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 in genealogy/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 Framework dist/ 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/alibrary
    

    Then 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.yaml is excluded from Jekyll processing (see _config.yml exclude list)