CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Development Commands
Ruby/Jekyll Commands
bundle install- Install Ruby dependenciesbundle exec jekyll serve- Start local development server at http://localhost:4000rm -rf _site/ ; bundle exec jekyll serve --incremental- Clean build and serve with incremental regeneration
NPM Commands
npm run build- Build all assets (JS, CSS, scripts)npm run watch- Watch and rebuild JS/CSS during developmentnpm run dev- Start both asset watching and Jekyll servernpm run clean- Remove built JS assetsnpm run format- Format JavaScript files with Prettier
Content Management
ruby ./tools/tag-gen.rb- Regenerate tag pages from writing post frontmatter
Architecture Overview
Jekyll Site Structure
- Main content: Writing posts in
professional/_posts/with YAML frontmatter - Collections: Projects in
_projects/, tags in_tags/ - Layouts: Page templates in
_layouts/ - Includes: Reusable components in
_includes/ - Data: Site data in
_data/ - Assets: Images and files in
assets/, compiled JS/CSS output
Theme Integration
- Uses Hydejack Pro theme with extensive customization
- Theme components in
_includes/directories (body, head, styles, components, scripts, templates) - Custom styling in
_sass/ - JavaScript source in
_js/compiled via Webpack toassets/js/
Build Process
- Jekyll processes Markdown/HTML and builds to
_site/ - Webpack compiles JavaScript from
_js/src/toassets/js/hydejack-*.js - CSS built from Sass files in
_sass/ - Site configuration in
_config.yml
Content Types
- Writing posts: Professional writing in
professional/_posts/with tags - Projects: Portfolio items in
_projects/ - Static pages: Resume, hypotheses, etc. as
.mdfiles in root - Tags: Auto-generated tag pages in
_tags/via Ruby script
Development Notes
- Posts use YAML frontmatter for metadata, tags, and layout selection
- Tag system generates individual tag pages automatically
- Site supports dark mode, responsive design, and offline capabilities
- Uses Google Analytics and Disqus comments integration