CLAUDE.md
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Overview
This is a Jekyll-based static website for the DeWitt Lab at the University of Washington. The site serves as the lab’s online presence showcasing research, publications, team members, and teaching materials.
Development Environment Setup
Prerequisites
Set up the Jekyll development environment using conda:
conda create -n jekyll -c conda-forge ruby c-compiler compilers cxx-compiler
conda activate jekyll
Installation and Local Development
Install dependencies:
bundle install
Serve the site locally:
bundle exec jekyll serve
The site will be available at http://localhost:4000
Site Architecture
Jekyll Configuration
- Theme: Uses the
minimal-mistakes
remote theme - Configuration:
_config.yml
contains all site settings and metadata - Collections: Custom
teaching
collection for course materials - Plugins: GitHub Pages compatible plugins including jekyll-feed, jekyll-sitemap
Content Structure
- Pages: Static pages in
_pages/
directory (about, research, papers, etc.) - Posts: Blog posts in
_posts/
directory - Teaching: Course materials in
_teaching/
collection - Data: Site data in
_data/
directory (authors, lab members, navigation) - Assets: CSS, JavaScript, and images in
assets/
andimages/
directories
Key Files
_config.yml
: Jekyll configuration and site metadata_data/lab_members.yml
: Lab member information_data/authors.yml
: Author profiles for publications_data/navigation.yml
: Site navigation structureassets/css/main.scss
: Custom styling (modifies avatar display)assets/js/
: JavaScript for publications and BibTeX parsing
Content Management
- Publications: Managed through BibTeX files and JavaScript parsing
- Lab Members: Defined in YAML data files
- Images: Stored in
images/
directory - Teaching Materials: Organized in
_teaching/
collection with support for PDF slides and Jupyter notebooks
Customizations
The site includes several custom JavaScript components:
- BibTeX parser for publication listings
- Dynamic publication filtering and display
- Custom CSS modifications for the Minimal Mistakes theme
Build Process
The site is built using Jekyll and GitHub Pages:
- Source files are processed by Jekyll
- Built site is output to
_site/
directory - GitHub Pages automatically builds and deploys the site
Important Notes
- The site uses GitHub Pages which has specific plugin restrictions
- All custom JavaScript and CSS should be placed in the
assets/
directory - The
_site/
directory is auto-generated and should not be edited directly - Changes to
_config.yml
require a server restart during development