55 lines
1.8 KiB
Markdown
55 lines
1.8 KiB
Markdown
# Atlas
|
|
|
|
Atlas is the documentation system. It turns structured data into browsable documentation.
|
|
|
|
**Mapeando el recorrido** -- mapping the journey.
|
|
|
|
---
|
|
|
|
## Components
|
|
|
|
Atlas has three components:
|
|
|
|
| Component | Purpose |
|
|
|-----------|---------|
|
|
| **Books** | Documentation libraries. Standalone HTML or template-generated. |
|
|
| **Templates** | Documentation patterns. Define how content is structured and rendered. |
|
|
| **Depots** | Data storage. Connect templates to actual content. |
|
|
|
|
A book can be standalone -- just HTML files served directly. Or it can be template-backed, where a template defines the structure and a depot provides the data.
|
|
|
|
## How It Works
|
|
|
|
Atlas runs as a FastAPI app inside soleprint. It serves books at `/book/{slug}/`, fetches data from the soleprint hub, and renders content using Jinja2 templates or static HTML.
|
|
|
|
Books are registered in `books.json`. Templates and depots connect through the book's directory structure.
|
|
|
|
## Room-Specific Books
|
|
|
|
Core books live in `soleprint/atlas/books/`. Room-specific books live in `cfg/<room>/atlas/books/`.
|
|
|
|
At build time, room-specific books are merged into the output:
|
|
|
|
```
|
|
soleprint/atlas/books/ # Core books (all rooms)
|
|
cfg/amar/atlas/books/ # Amar-specific books
|
|
↓ build.py
|
|
gen/amar/soleprint/atlas/books/ # Merged output
|
|
```
|
|
|
|
Core books ship with every room. Room books add to or override them. The build copies the core first, then overlays the room-specific content.
|
|
|
|
## Data Templates
|
|
|
|
Template data files live in `cfg/<room>/data/template/`. These define the structure that depot content must follow.
|
|
|
|
## Current State
|
|
|
|
| Component | Item | Status |
|
|
|-----------|------|--------|
|
|
| Book | Feature Flow Pipeline | ready |
|
|
| Template | Feature Form | ready |
|
|
| Depot | Feature Forms | ready |
|
|
|
|
See [Books](atlas-books.md) and [Templates](atlas-templates.md) for details on each pattern.
|