summaryrefslogtreecommitdiff
path: root/CLAUDE.md
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-07-09 00:54:06 +0300
committerPaul Buetow <paul@buetow.org>2025-07-09 00:54:06 +0300
commit7c82d9c821a900e8970c8c1c6b1d85ec9bde734a (patch)
tree38d12c1057992259d94f67182e49aa1fec228546 /CLAUDE.md
parent7248767f16f90cf241da2e910bb1f181ad7bba1e (diff)
Update content for html
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md60
1 files changed, 60 insertions, 0 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
new file mode 100644
index 00000000..5a79f3e0
--- /dev/null
+++ b/CLAUDE.md
@@ -0,0 +1,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 \ No newline at end of file