CLAUDE.md

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

Project Overview

Personal website for justin.how, built with Eleventy and hosted on Cloudflare Pages.

Commands

Architecture

Static Site Generator: Eleventy 3.x configured in .eleventy.js

Content Sources:

Templates:

Data:

Pixelfed Integration

Photos are automatically synced from Pixelfed to the photography/ folder via GitHub Actions.

How it works:

  1. .github/workflows/sync-pixelfed.yml runs daily at 06:00 UTC (or manually via workflow_dispatch)
  2. scripts/fetch-pixelfed.js fetches recent media posts from Pixelfed API
  3. New images are downloaded to photography/ with naming pattern pixelfed-{statusId}-{mediaId}.{ext}
  4. _data/pixelfed.json tracks processed post IDs to avoid duplicates
  5. Changes are auto-committed and pushed, triggering Cloudflare Pages rebuild

Required GitHub secrets:

Collections (defined in .eleventy.js):

Static Assets:

Build Output: _site/ (git-ignored, deployed automatically by Cloudflare Pages)

Formatting

Prettier config: 2 spaces, no semicolons, trailing commas, 100-char width.