Files
eltonandClaude Fable 5.1 279d022afd 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>
2026-09-04 22:14:59 +02:00

49 lines
1.9 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 **neben** der Ablage — außerhalb
von SilverBullet (Andreas, 04.09.: „nimm den info-checkout aus silverbullet
raus"):
```
<data>/quellen/<name>/ ← z. B. /srv/km/data/quellen/info = Clone von ahmann/info
```
- 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
```
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 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, zeigt die gebaute Seite der Familie damit nicht nur Familie.
- Der Checkout enthält das ganze Repo (`ai/`, `deployment/`, …), nicht nur
`docs/`; indexiert werden alle `*.md`, gebaut wird nur, was `mkdocs.yml`
kennt.