2.1 KiB
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>,classificationaus dem Frontmatter). - Die Ablage ignoriert
*/doku/in ihrer.gitignore: die Wahrheit dieser Seiten liegt im Quell-Repo, nicht ein zweites Mal inahmann/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, danachgit pull --rebase. Ein Commit aus SilverBullet landet also Minuten später aufmastervonahmann/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- undlan-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 nurdocs/; indexiert werden nur*.md.