41 lines
1.9 KiB
Markdown
41 lines
1.9 KiB
Markdown
# CLAUDE.md
|
|
|
|
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
|
|
## Project
|
|
|
|
Static website for W5ISP (amateur radio callsign) built with [Zola](https://www.getzola.org/), a Rust-based static site generator.
|
|
|
|
## Commands
|
|
|
|
- `zola serve --drafts` - Local dev server with live reload, including drafts (default: http://127.0.0.1:1111). Always pass `--drafts` in dev so future-dated and draft posts are visible while working on them.
|
|
- `zola build` - Build site to `public/` directory (drafts excluded, which is what deploys need)
|
|
- `zola check` - Validate links and templates
|
|
|
|
## Architecture
|
|
|
|
This is a standard Zola project:
|
|
|
|
- **`content/`** - Markdown pages and blog posts. Zola uses `_index.md` for section pages and regular `.md` files for individual pages.
|
|
- **`templates/`** - Tera templates (Jinja2-like syntax). Key templates: `base.html` (layout), `index.html` (homepage), `page.html` (single page), `section.html` (section listing).
|
|
- **`sass/`** - SCSS stylesheets, auto-compiled by Zola (enabled in config).
|
|
- **`static/`** - Static assets served as-is (images, fonts, etc.).
|
|
- **`themes/`** - Zola themes (if using one).
|
|
|
|
## Deployment
|
|
|
|
- CI/CD via Forgejo Actions at `git.mcintire.me`
|
|
- Workflow: `.forgejo/workflows/deploy.yml`
|
|
- Triggers on push to `main`: builds with Zola, deploys via rsync over SSH
|
|
- Deploy target: `graham@skippy.w5isp.com:/home/graham/apps/w5isp.com/`
|
|
- Caddy serves the site from that directory
|
|
- Requires `DEPLOY_SSH_KEY` secret in Forgejo repo settings (ed25519 private key)
|
|
- Theme (`themes/zolanight`) is a git submodule — checkout needs `submodules: true`
|
|
- Zola version in workflow must match `zola.toml` format (0.22.1+, since older versions expect `config.toml`)
|
|
|
|
## Configuration
|
|
|
|
- Sass compilation: enabled
|
|
- Search index: disabled
|
|
- Syntax highlighting theme: Catppuccin Mocha
|
|
- Custom variables go in `[extra]` section of `zola.toml`
|