summaryrefslogtreecommitdiff
path: root/CLAUDE.md
blob: 5a79f3e0a40abaf4d7e5f7e99ed655fb0d703ea3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# 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 site generator project that uses **Gemtext** as the source format and generates multiple output formats. The project uses "Gemtexter" (a Bash-based static site generator) to convert Gemtext files into HTML, Markdown, and various feed formats.

**Key Architecture:**
- **Source files**: Gemtext (`.gmi`) and template files (`.gmi.tpl`) in the `/gemtext` directory
- **Generated outputs**: HTML in `../html/`, Markdown in `../md/`, with caching in `../cache/`
- **Content structure**: Blog posts in `gemfeed/`, personal notes in `notes/`, about pages in `about/`
- **Template system**: `.gmi.tpl` files are processed to generate final `.gmi` files with dynamic content

## Build Commands

Since this project uses Gemtexter (a Bash-based static site generator), the build process involves:

**Main generation command:**
```bash
# From the parent directory (/home/paul/git/foo.zone-content/)
# Look for gemtexter script or build scripts in the parent directory
```

**File structure patterns:**
- `.gmi.tpl` → `.gmi` (template processing)
- `.gmi` → `.html` + `.md` + feeds (multi-format generation)

## Content Architecture

**Template System:**
- Files with `.gmi.tpl` extension are templates that get processed
- Templates can include dynamic content like timestamps and automatic content generation
- Example: `index.gmi.tpl` generates `index.gmi` with current timestamp

**Output Formats:**
- **Gemtext**: Native format for Gemini protocol (`.gmi` files)
- **HTML**: Web-ready format with embedded CSS and fonts
- **Markdown**: For GitHub Pages deployment
- **Atom feeds**: For blog subscription (XML format)
- **Gemfeeds**: Gemini-specific feed format

**Content Organization:**
- `gemfeed/`: Blog posts with date-prefixed naming (YYYY-MM-DD-title.gmi)
- `notes/`: Book notes and technical references
- `about/`: Personal information and resource lists

## Development Workflow

1. **Content Creation**: Write new content in Gemtext format (`.gmi` files)
2. **Template Updates**: Modify `.gmi.tpl` files for dynamic content
3. **Generation**: Run Gemtexter to generate all output formats
4. **Multi-format Output**: Content automatically appears in HTML, Markdown, and feed formats

## Important Notes

- The current working directory is `/gemtext` but build tools are likely in the parent directory
- Generated files should not be edited directly - edit source `.gmi` or `.gmi.tpl` files instead
- The project generates a complete multi-format website from simple Gemtext sources
- Cache files in `../cache/` help with performance during regeneration