# 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"): ``` /quellen// ← z. B. /srv/km/data/quellen/info = Clone von ahmann/info ``` - Im Index erscheinen die Seiten unter dem virtuellen Pfad `/doku//` (`typ: doku`, `projekt: `, `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 `/site/` — die gewohnte MkDocs-Darstellung, read-only, ohne laufenden Dienst. Caddy liefert sie unter `/doku//` 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.