All checks were successful
Build OCI Image / docker (push) Successful in 36s
81 lines
2.4 KiB
Markdown
81 lines
2.4 KiB
Markdown
# 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](https://zine-ssg.io/), 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
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# Generate static site for deployment
|
|
zine release
|
|
```
|
|
|
|
### Environment Setup
|
|
```bash
|
|
# Enter development shell with zine available
|
|
nix develop
|
|
```
|
|
|
|
## Project Structure
|
|
|
|
### Content Files (.smd)
|
|
- `content/` - All site content in SuperMD format
|
|
- `index.smd` - Homepage
|
|
- `about.smd` - About page
|
|
- `blog/` - Blog posts and index
|
|
- `devlog/` - Microblog entries
|
|
|
|
### Layout Templates (.shtml)
|
|
- `layouts/` - SuperHTML templates
|
|
- `templates/base.shtml` - Base template with site navigation
|
|
- `index.shtml`, `page.shtml`, `post.shtml` - Page-specific layouts
|
|
- `blog.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
|
|
1. **Pages** - Individual content files with frontmatter and layout assignment
|
|
2. **Blog** - Traditional blog with separate pages per post
|
|
3. **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. |