CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
Personal portfolio/blog website built with Pelican (Python SSG). Features a custom minimalist blue-accented theme with pages for About, Projects, Resume, Blog, and Contact.
- Status: Complete — deployed-ready static site
- Requirements: See
readme.txtfor original brief
Tech Stack
| Layer | Choice |
|---|---|
| SSG | Pelican 4.x (Python) |
| Content | Markdown + Frontmatter |
| Theme | Custom Jinja2 templates |
| Code Highlighting | Pygments |
| Deployment | Vercel (static hosting) |
| Version Control | Git |
Project Structure
├── content/
│ ├── pages/ # Static pages (home, about, projects, resume, contact)
│ └── posts/ # Blog posts (hello-world.md)
├── theme/arvin/
│ ├── templates/ # 11 Jinja2 templates
│ └── static/css/ # style.css — complete theme
├── pelicanconf.py # Local dev config
├── publishconf.py # Production config (Vercel uses this)
└── vercel.json # Vercel build/output settings
Build & Development Commands
# Install dependencies
pip install -r requirements.txt
# Local development (auto-reload on http://localhost:8000)
pelican content -s pelicanconf.py --autoreload --listen
# Production build
pelican content -s publishconf.py
# Direct output — static files in output/ directory
Architecture Notes
- Homepage uses
content/pages/home.mdwithtemplate: homeandsave_as: index.html - Blog articles live at
/blog/{slug}/ - Blog listing at
/blog/(viaINDEX_SAVE_AS = 'blog/index.html') - All pages extend
base.html(header nav + footer) - Theme CSS uses system font stack, max-width 680px content, blue (#2563eb) accent color
- Mobile responsive at 600px breakpoint
Deployment
- Vercel:
vercel.jsonconfigured — connect GitHub repo, setSITEURLenv var to your domain - Build command:
pelican content -s publishconf.py - Output directory:
output/
Key Files
readme.txt— Original user requirements (Chinese)pelicanconf.py— Main Pelican configurationtheme/arvin/static/css/style.css— Complete theme stylesheetvercel.json— Deployment configurationdocs/superpowers/specs/2026-05-30-personal-blog-design.md— Design specificationdocs/superpowers/plans/2026-05-30-blog-implementation.md— Implementation plan