# Kapitel hinzufügen (Scaffold)

Die Seite ist **datengetrieben** — genau wie die Vorlage-Engine es vorsieht. Ein neues Kapitel hinzuzufügen sind zwei Schritte; kein Engine-Code muss angefasst werden außer einer Zeile im `DOCS`-Array.

## Schritt 1 — Markdown-Datei anlegen

Lege die Datei unter `docs/de/` (und optional `docs/en/` für die englische Fassung) ab. Dateiname-Konvention: `NN_NAME.md` (Reihenfolge über die Nummer), oder ein Buchstaben-Präfix für Anhänge (`A_`, `C_`).

```
docs/de/04_MEIN_KAPITEL.md
docs/en/04_MEIN_KAPITEL.md   (optional — Fallback auf DE, wenn fehlt)
```

Markdown wird via `marked` gerendert. Eingebettetes HTML wird durchgereicht — so entstehen z. B. die Schrift-Specimens im Typografie-Kapitel. Tabellen brechen automatisch in einen scrollbaren `.table-wrap`.

## Schritt 2 — Eintrag im `DOCS`-Array

In `server.js` (Sektion `const DOCS = [ … ]`) eine Zeile ergänzen:

```js
{ file: '04_MEIN_KAPITEL.md',
  title:   'Mein Kapitel',          // DE-Titel (Sidebar)
  titleEn: 'My Chapter',            // EN-Titel
  cat:     'Fundament',             // DE-Kategorie (gruppiert die Sidebar)
  catEn:   'Foundation',            // EN-Kategorie
  confidential: false },            // true → Schloss-Icon + Vertraulich-Badge
```

Felder:

| Feld | Pflicht | Bedeutung |
|---|---|---|
| `file` | ja | Dateiname in `docs/<lang>/` |
| `title` / `titleEn` | ja / optional | Sidebar-Titel pro Sprache |
| `cat` / `catEn` | ja / optional | Kategorie — gleiche Werte werden gruppiert |
| `confidential` | optional | `true` markiert das Kapitel als besonders vertraulich |

Neue Kategorien erscheinen automatisch in der Sidebar. Für ein eigenes Kategorie-Icon den Wert in `CAT_ICON` ergänzen (sonst Fallback-Icon).

## Schritt 3 — Deploy (nach der Policy)

Änderungen werden **zuerst auf Staging** (bbe-demo) ausgerollt und render-verifiziert (Desktop + Mobile, Fonts laden, CI korrekt), dann per Operator-Gate auf Live promotet. Siehe Kapitel **Domain & Deployment Concept**.

```
# auf Staging deployen, Service neu starten, verifizieren
rsync … → bbe-demo:/srv/zabazingo-docs/
systemctl restart zabazingo-docs
curl -fsS https://demo.docs.zabazingo.eu/health   # {"status":"ok",...}
```

## Konventionen

- **Keine Emojis.** Nur premium / animiertes SVG für Icons (BBE-Designregel).
- **Body min. 16px.** Display = Noto Serif Display, Sans = PP Neue Montreal.
- **Nichts erfinden.** Was wahr ist, wird belegt; Annahmen werden als `[ANNAHME]` gekennzeichnet.
- **Keine Secrets** in der Doku — Schlüssel/Tokens bleiben im Vault.
