All checks were successful
Build OCI Image / docker (push) Successful in 36s
2.4 KiB
2.4 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
This is a static website built with Zine, a static site generator written in Zig. The site uses:
- SuperMD (.smd) for content pages - a Markdown superset with embedded templating
- SuperHTML (.shtml) for layout templates - HTML with templating extensions
- Nix for development environment and dependency management
Development Commands
Development Server
# Start development server with live reload (default: localhost:1990)
zine
# Start with custom host/port
zine --port 8080 --host 0.0.0.0
# Include draft pages
zine --drafts
Build for Production
# Generate static site for deployment
zine release
Environment Setup
# Enter development shell with zine available
nix develop
Project Structure
Content Files (.smd)
content/- All site content in SuperMD formatindex.smd- Homepageabout.smd- About pageblog/- Blog posts and indexdevlog/- Microblog entries
Layout Templates (.shtml)
layouts/- SuperHTML templatestemplates/base.shtml- Base template with site navigationindex.shtml,page.shtml,post.shtml- Page-specific layoutsblog.shtml,devlog.shtml- Section layouts*.xml- RSS feed templates
Configuration
zine.ziggy- Site configuration (title, URLs, asset paths)flake.nix- Nix development environment with Zine binary
Assets
assets/- Static assets (CSS, JS, images)- Includes math rendering (Temml) and syntax highlighting
Architecture Notes
Content Types
- Pages - Individual content files with frontmatter and layout assignment
- Blog - Traditional blog with separate pages per post
- Devlog - Microblog format with multiple entries on single page
Templating System
- Uses Scripty expression language for logic
- SuperHTML templates extend base template via
<extend template="base.shtml"> - Content rendered via
$page.content(), metadata via$page.title, etc. - Site-wide variables available via
$site.*
Asset Handling
- Static assets referenced via
$site.asset('filename').link() - Page-specific assets stored alongside content files
- CSS and JS assets included in base template
The development server automatically rebuilds on file changes with configurable debounce timing.