CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
This is a Jekyll-based blog website for samwize.com, deployed on GitHub Pages. The site uses a custom, dark-first editorial theme and focuses on iOS/Swift development content.
Development Commands
Build and Serve
# Install dependencies
bundle install
# Serve locally with live reload
bundle exec jekyll serve
# Build for production
JEKYLL_ENV=production bundle exec jekyll build
# Deploy to GitHub Pages
./deploy.sh
Content Creation
# Create new blog post (using jekyll-compose)
bundle exec jekyll post "Post Title"
# Create new draft
bundle exec jekyll draft "Draft Title"
# Publish draft
bundle exec jekyll publish _drafts/draft-filename.md
Slides with Marp
# Create slides from markdown and watch for changes
marp _slides/slide-name.md -o slides/slide-name.html -w
Architecture
Directory Structure
_posts/- Published blog posts (markdown files with date prefix)_drafts/- Unpublished draft posts_slides/- Presentation slides using Marp_templates/- Jekyll templates for new posts/drafts/pages_layouts/- HTML templates (default, post, page)_includes/- Reusable HTML components_sass/- Sass/SCSS stylesheetsassets/- Static assets (images, etc.)_config.yml- Jekyll configurationGemfile- Ruby dependencies
Key Configuration
- Theme: Custom editorial theme with dark and light modes
- Timezone: Asia/Singapore
- Deployment: GitHub Pages via
octopress deploy - Main branch:
gh-pages(notmaster) - Pagination: 30 posts per page
- Markdown: Kramdown with Rouge syntax highlighting
Content Guidelines
- Posts use front matter with layout, title, date, categories
- Images referenced as
/images/filename.jpgwith optional{:.border}class - YouTube embeds use iframe with specific parameters
- Code blocks use Rouge syntax highlighting
- Hard wrap enabled for line breaks
Deployment Process
- Build with production environment
- Deploy using Octopress deploy command
- Target branch is
gh-pagesfor GitHub Pages
Writing Style
- Keep blog post short and sweet, with focus on key code snippets