Nimm die Quellen-Checkouts aus der Ablage heraus

Andreas 04.09.: "nimm den info-checkout aus silverbullet raus". Die
Quellen liegen jetzt unter <data>/quellen/<name> neben der Ablage — die
Oberfläche sieht sie nicht mehr. Der Index führt sie unter dem
virtuellen Pfad <ns>/doku/<name>/…, read löst ihn auf die Datei im
Checkout auf (mit Wurzelprüfung). Kein Zurückschreiben mehr: geändert
wird im Quell-Repo, gelesen über die gebaute MkDocs-Seite.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-09-04 22:14:59 +02:00
co-authored by Claude Fable 5.1
parent a8704fcddd
commit 279d022afd
6 changed files with 58 additions and 41 deletions
+15 -17
View File
@@ -7,21 +7,20 @@ in `gitrepo.py` (`sources_of`) und `runner.py`.
## Bauform
Jede Quelle ist ein eigener Git-Checkout **in** der Ablage:
Jede Quelle ist ein eigener Git-Checkout **neben** der Ablage — außerhalb
von SilverBullet (Andreas, 04.09.: „nimm den info-checkout aus silverbullet
raus"):
```
<ablage>/<ns>/doku/<name>/ ← z. B. familie/doku/info/ = Clone von ahmann/info
<data>/quellen/<name>/ ← z. B. /srv/km/data/quellen/info = Clone von ahmann/info
```
- SilverBullet sieht die Seiten wie alle anderen; der Index nimmt sie mit
(`typ: doku`, `projekt: <name>`, `classification` aus dem Frontmatter).
- Die Ablage ignoriert `*/doku/` in ihrer `.gitignore`: die Wahrheit dieser
Seiten liegt im Quell-Repo, nicht ein zweites Mal in `ahmann/km`.
- **Je Takt:** Änderungen aus der Oberfläche werden im Checkout committet
(„km: Änderungen aus der Oberfläche", Autor `KM_GIT_NAME`) und **in das
Quell-Repo gepusht**, danach `git pull --rebase`. Ein Commit aus
SilverBullet landet also Minuten später auf `master` von `ahmann/info`
ohne PR und ohne Umlaut-Riegel. Das ist gewollt (Auto-Commit und Push).
- Im Index erscheinen die Seiten unter dem virtuellen Pfad
`<ns>/doku/<name>/<pfad>` (`typ: doku`, `projekt: <name>`,
`classification` aus dem Frontmatter); `read` löst ihn auf die Datei im
Checkout auf.
- **Je Takt:** `git pull --rebase`, danach der statische Bau (unten). Es
wird nichts zurückgeschrieben — geändert wird im Quell-Repo.
## Konfiguration
@@ -37,14 +36,13 @@ KM_SOURCES=info=https://git.home/ahmann/info.git@master
Hat die Quelle ein `mkdocs.yml`, baut km sie nach jedem Pull mit Änderung
mit `python -m mkdocs build` nach `<data>/site/<name>` — die gewohnte
MkDocs-Darstellung, read-only, ohne laufenden Dienst. Caddy liefert sie unter
`/doku/<name>/` aus (deploy/README.md). SilverBullet bleibt r die Ablage
selbst; für die Doku ist die gebaute Seite der Leseweg.
`/doku/<name>/` aus (deploy/README.md). SilverBullet zeigt nur die Ablage
selbst; für die Doku ist die gebaute Seite der einzige Leseweg.
## Was Andreas wissen sollte
- **Alles ist drin**, auch `corp`- und `lan`-Seiten — bis die Quellen
getrennt werden, ist die Familien-Oberfläche damit nicht nur Familie.
- **Admonitions** (`!!! warning`) aus MkDocs zeigt SilverBullet als Rohtext
(Test vom 04.09., spine/core#8).
getrennt werden, zeigt die gebaute Seite der Familie damit nicht nur Familie.
- Der Checkout enthält das ganze Repo (`ai/`, `deployment/`, …), nicht nur
`docs/`; indexiert werden nur `*.md`.
`docs/`; indexiert werden alle `*.md`, gebaut wird nur, was `mkdocs.yml`
kennt.