CLAUDE.md

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

Project Overview

Personal blog and portfolio website for David Tran (davidtran.me), built with Jekyll and hosted on GitHub Pages.

Development Commands

bundle install              # Install Ruby dependencies
bundle exec jekyll serve    # Run local dev server (localhost:4000)
bundle exec jekyll build    # Build static site to _site/

Architecture

  • Static site generator: Jekyll with GitHub Pages gem
  • Theme: Minimal Mistakes via remote_theme (dark skin)
  • Templating: Liquid templates with kramdown markdown
  • Styling: SCSS overrides in assets/css/main.scss

Key Directories

  • _posts/ - Published blog posts (YYYY-MM-DD-title.md format)
  • _drafts/ - Unpublished drafts
  • _data/ - Navigation config (navigation.yml)
  • _includes/ - Custom overrides (head/custom.html, footer/custom.html, comments-providers/custom.html, followit.html)
  • tags/ - Tag archive pages
  • assets/images/ - Image files

Content Pages

Root-level markdown files: about.md, running.md, reading.md, media.md, notes.md, podcasts.md

Post Front Matter

Posts use YAML front matter with: title, date, layout: single, category, tags, excerpt, description

Configuration

  • _config.yml - Site settings, plugins, social links, Minimal Mistakes config
  • Permalink format: :title/ (clean URLs)
  • Pagination: 5 posts per page on homepage
  • Search: Built-in Lunr.js search at /search/
  • Comments: Custom provider (Follow.it + Disqus)
  • Analytics: Google gtag