Files
km/docs/quellen.md
T
2026-09-04 20:03:07 +02:00

51 lines
2.1 KiB
Markdown

# Quellen — fremde Git-Repos als Checkout in der Ablage
Festlegung Andreas, 2026-09-04: die `info`-Doku kommt als zweite Quelle in
km — **vorerst komplett**, ohne Filter nach Klassifikation. *„Sobald
hive.corp steht, trennen wir die Quellen."* Konfiguration `KM_SOURCES`, Code
in `gitrepo.py` (`sources_of`) und `runner.py`.
## Bauform
Jede Quelle ist ein eigener Git-Checkout **in** der Ablage:
```
<ablage>/<ns>/doku/<name>/ ← z. B. familie/doku/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).
## Konfiguration
```
KM_SOURCES=info=https://git.home/ahmann/info.git@master
```
`name=url[@branch]`, mehrere durch Komma. Zugang: dieselben `KM_GIT_USER`/
`KM_GIT_PASSWORD` wie für die Ablage; die `.netrc` bekommt jeden Remote-Host.
## Lesen: statische Seite
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 für die Ablage
selbst; für die Doku ist die gebaute Seite der 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).
- Der Checkout enthält das ganze Repo (`ai/`, `deployment/`, …), nicht nur
`docs/`; indexiert werden nur `*.md`.