Praxisprojekt Second Brain · Ergebnisse
Veröffentlichen und exportieren
Lernziele
- Du richtest die Freigabe mit
publish: trueein, bevor du die erste Seite veröffentlichst. - Du prüfst, was dein Werkzeug aus einem Link auf eine private Seite macht.
- Du veröffentlichst aus einer Kopie, die nur freigegebene Seiten enthält, und nie direkt aus dem Vault.
Einen Teil deines Vault · engl. vaultDer Ordner mit allen Markdown-Dateien deines Second Brain, so wie Obsidian ihn öffnet. Jede Seite ist eine eigene Textdatei.Im Glossar willst du anderen zeigen. Den größten Teil willst du für dich behalten. Wie du beides trennst, richtest du ein, bevor du das Erste veröffentlichst.
Entscheiden, was öffentlich ist
Der einfachste verlässliche Weg ist eine ausdrückliche Freigabe: ein Feld publish: true im Frontmatter · engl. frontmatterEin Block mit Metadaten im YAML-Format ganz oben in einer Markdown-Datei, zwischen zwei Zeilen mit drei Bindestrichen. Obsidian zeigt ihn als Eigenschaften der Seite an.Im Glossar. Eine Seite ohne dieses Feld verlässt den Vault nie. Das Feld ergänzt du im Schema aus der Lektion Frontmatter-Schema.
Die Alternative ist der Ausschluss: Alles geht raus, außer du markierst es als privat. Nach unserer Einschätzung ist das ein Fehler. Ein einziges vergessenes Feld veröffentlicht etwas Privates. Der Fehler fällt niemandem auf, und rückgängig machen lässt er sich kaum, weil Suchmaschinen die Seite schon erfasst haben.
Freigabe (opt-in)
- Regel: Nur Seiten mit
publish: truegehen raus. - Vergessenes Feld: Die Seite bleibt privat.
- Fehler bemerkst du: sofort, die Seite fehlt auf der Website.
- Schaden: keiner.
Ausschluss (opt-out)
- Regel: Alles geht raus, außer Seiten mit
private: true. - Vergessenes Feld: Die Seite wird öffentlich.
- Fehler bemerkst du: oft gar nicht.
- Schaden: dauerhaft, sobald die Seite erfasst ist.
Werkzeuge für statische Websites
Drei Werkzeuge sind verbreitet. Obsidian Publish ist der offizielle Dienst und macht die wenigste Arbeit. Quartz und Obsidian Digital Garden sind Open Source. Beide bauen eine statische Website aus deinen Seiten und verstehen Wikilink · engl. wikilinkEin Verweis auf eine andere Seite in doppelten eckigen Klammern, etwa [[Kontextfenster]]. Aus allen Wikilinks eines Vaults entsteht ein Graph.Im Glossar und Backlink · engl. backlinkEin eingehender Link: eine andere Seite verweist auf die Seite, die du gerade liest. Obsidian listet Backlinks im gleichnamigen Bereich.Im Glossar. Das zählt: Ein veröffentlichtes Wiki mit kaputten Links ist nach unserer Einschätzung schlechter als ein Blog.
| Obsidian Publish | Quartz | Digital Garden | |
|---|---|---|---|
| Art | offizieller Dienst | Open Source, Version 5.1.0 | Obsidian-Plugin plus Website-Vorlage, Version 2.103.0 |
| Kosten | 8 USD pro Website und Monat bei jährlicher, 10 USD bei monatlicher Zahlung | kostenlos, Hosting frei wählbar | kostenlos, Hosting über Vercel oder Netlify |
| Freigabe-Feld | publish: true, mit publish: false ausdrücklich privat |
publish: true mit dem Plugin ExplicitPublish, das ab Werk ausgeschaltet ist |
dg-publish: true |
| Link auf eine private Seite | Die Hilfe sagt nur, dass Links dann ins Leere führen können | bleibt ein normaler Link und führt auf die 404-Seite | führt auf eine Seite, die meldet, dass es die Notiz nicht gibt |
Stand: Nov. 2026. Die Angaben stammen aus Hilfe und Repositories der drei Werkzeuge, das Verhalten von Quartz aus einem eigenen Test.
Prüf bei jedem Werkzeug, was aus einem Link auf eine nicht veröffentlichte Seite wird. Er sollte zu Klartext werden. Eine 404-Seite verrät, dass es die Seite gibt, und sie sieht für Lesende wie ein Fehler aus. Quartz und Digital Garden erzeugen ab Werk keinen Klartext, und für Obsidian Publish sagt die Hilfe dazu nichts Genaues.
Den Test mit Quartz haben wir selbst gemacht: der Test-Vault zum Thema Lernen, das Plugin ExplicitPublish eingeschaltet, drei der sieben Seiten ohne Freigabe. Der Build warnt:
ℹ [links] 4 links in 3 pages point to pages that are not on the site
(4 to pages removed by a filter, e.g. drafts):
concepts/leitner-system → concepts/verteiltes-wiederholen (removed by filter ExplicitPublish), …
Auf der fertigen Seite sieht der Link trotzdem aus wie jeder andere:
<a href="../concepts/verteiltes-wiederholen" class="internal internal-link alias">verteilte Wiederholung</a>
Eine Teilmenge sicher veröffentlichen
Das Muster, das funktioniert: Ein Build-Schritt kopiert nur die Seiten mit publish: true in einen eigenen Ordner. Links auf nicht freigegebene Seiten schreibt er dabei in Klartext um. Das Werkzeug baut die Website dann aus dieser Kopie.
Richte ein Werkzeug nie direkt auf deinen Vault. Ein falsch gesetztes Muster für einzuschließende Dateien veröffentlicht alles. Was eine Suchmaschine einmal erfasst hat, bekommst du nur langsam und teilweise zurück. Das Entfernen-Werkzeug von Google blendet eine Adresse für etwa sechs Monate aus. Dauerhaft verschwindet sie erst, wenn die Seite gelöscht, mit einem Passwort geschützt oder mit noindex markiert ist. Das Internet Archive entfernt Seiten auf Antrag und prüft jeden Fall einzeln. Kopien bei anderen Diensten erreichst du gar nicht.
Das folgende Skript erledigt den Build-Schritt. Es braucht nur Python und liest aus wiki/, raw/ fasst es nicht an. Wir haben es am Test-Vault ausprobiert. Im Werkzeugkasten liegt es als scripts/publish.py.
"""Kopiert nur Seiten mit publish: true in einen eigenen Ordner.
Aufruf: python3 publish.py <vault> <zielordner>
Links auf Seiten ohne publish: true werden zu Klartext.
"""
import re
import shutil
import sys
from pathlib import Path
vault, ziel = Path(sys.argv[1]).resolve(), Path(sys.argv[2]).resolve()
if ziel == vault or vault in ziel.parents:
sys.exit("Der Zielordner darf nicht im Vault liegen.")
def ist_oeffentlich(text):
kopf = re.match(r"---\n(.*?)\n---\n", text, re.S)
return bool(kopf and re.search(r"^publish:\s*true\s*$", kopf.group(1), re.M))
seiten = {p: p.read_text(encoding="utf-8") for p in (vault / "wiki").rglob("*.md")}
oeffentlich = {p.stem for p, text in seiten.items() if ist_oeffentlich(text)}
def link(m):
name, text = m.group(2), m.group(4)
if name in oeffentlich:
return m.group(0) # Link bleibt
return text or name # Klartext statt Link
if (ziel / ".publish-kopie").exists():
shutil.rmtree(ziel) # nur eine frühere Kopie löschen
ziel.mkdir(parents=True)
(ziel / ".publish-kopie").touch()
for p, text in seiten.items():
if p.stem not in oeffentlich:
continue
neu = re.sub(r"(!?)\[\[([^\]|#]+)(#[^\]|]*)?(?:\|([^\]]+))?\]\]", link, text)
pfad = ziel / p.relative_to(vault / "wiki")
pfad.parent.mkdir(parents=True, exist_ok=True)
pfad.write_text(neu, encoding="utf-8")
print("veröffentlicht:", p.relative_to(vault))
print(len(oeffentlich), "von", len(seiten), "Seiten")Zeilen 11-13
Liegt der Zielordner im Vault, bricht das Skript ab. Die Kopie soll nie dort landen, wo ein Werkzeug sie zusammen mit dem Rest einsammelt.
$ python3 publish.py ~/vault ~/website-kopie
veröffentlicht: wiki/concepts/Schlaf und Gedächtnis.md
veröffentlicht: wiki/concepts/Abrufübung.md
veröffentlicht: wiki/concepts/Leitner-System.md
veröffentlicht: wiki/sources/Artikel Lernstrategien.md
4 von 7 Seiten
Auf der Seite zum Leitner-System wird aus [[Verteiltes Wiederholen|verteilte Wiederholung]] der Klartext „verteilte Wiederholung“, denn die Seite zum verteilten Wiederholen ist nicht freigegeben. Der Link auf [[Abrufübung]] bleibt. Quartz baust du aus der Kopie mit npx quartz build -d ~/website-kopie. Bei Digital Garden und Obsidian Publish wählst du die Seiten im Plugin aus. Dort hilft das Skript als Vorschau, was die Freigabe-Felder ergeben.
Was Veröffentlichen mit deinem Schreiben macht
Ein öffentliches Wiki verändert, wie du Seiten schreibst, und einiges davon schadet. Du schreibst plötzlich für ein Publikum. Du sicherst Aussagen stärker ab, erklärst mehr und lässt vorläufige Gedanken weg.
Vorläufige Gedanken sind genau das, wofür ein persönlicher Vault da ist. Wenn du veröffentlichst, bleibt dein privater Vault nach unserer Einschätzung das Original. Daraus veröffentlichst du eine bewusst ausgewählte Teilmenge. Machst du den ganzen Vault öffentlich, glättest du ihn mit der Zeit, ohne es zu merken.
Andere Exporte
Für einen einzelnen Bericht reichen PDF oder HTML, direkt aus Markdown mit pandoc:
pandoc output/bericht.md -s -o bericht.html
pandoc output/bericht.md -o bericht.pdf
Für PDF braucht pandoc ein PDF-Programm. Ab Werk nimmt es LaTeX mit pdflatex, andere wählst du mit --pdf-engine, zum Beispiel typst oder weasyprint. Wikilinks erkennt pandoc seit Version 3.0, wenn du die Erweiterung einschaltest: -f markdown+wikilinks_title_after_pipe. Daraus werden Links mit dem Seitennamen als Ziel, ohne Prüfung, ob es die Datei gibt. Stand: pandoc 3.14, Nov. 2026.
Zum Weitergeben eines Dokuments genügt das. Den ganzen Vault exportierst du nur in Formate, die du jederzeit neu erzeugen kannst. Das eigentliche Werk sind die Markdown-Dateien.
Merksätze
- Nur Seiten mit
publish: trueverlassen den Vault. Ein vergessenes Feld lässt eine Seite privat. - Prüf bei jedem Werkzeug, was aus einem Link auf eine private Seite wird. Quartz und Digital Garden machen ab Werk keinen Klartext daraus.
- Veröffentliche aus einer Kopie, die nur freigegebene Seiten enthält und private Links als Klartext zeigt.
- Was eine Suchmaschine erfasst hat, bekommst du nur langsam und teilweise zurück.
- Der private Vault bleibt das Original. Einzelne Berichte exportierst du mit pandoc.
Prüf dich selbst
Denkfrage
Warum ist Ausschluss (alles öffentlich außer markierten Seiten) gefährlicher als Freigabe?
Beim Ausschluss veröffentlicht ein vergessenes Feld eine private Seite, und niemand bemerkt es. Bei der Freigabe führt derselbe Fehler nur dazu, dass eine Seite fehlt. Die Website zeigt dir das sofort, und es entsteht kein Schaden.
Denkfrage
Dein Werkzeug filtert private Seiten heraus. Warum reicht das allein nicht?
Links auf die gefilterten Seiten bleiben oft stehen und führen auf eine 404-Seite. Das sieht wie ein Fehler aus und verrät, dass es die Seite gibt. Außerdem gehen bei manchen Werkzeugen Bilder und PDFs unabhängig vom Filter raus.
Prüf dich selbst
Quellen
- Publish your content
publish: true und publish: false, Verhalten bei Links auf nicht veröffentlichte Notizen.
- Obsidian Pricing
Preis von Obsidian Publish.
- Private Pages
ExplicitPublish, Entwürfe, publishAssets.
- jackyzha0/quartz
- oleeskild/obsidian-digital-garden
dg-publish, Hosting, Links auf nicht veröffentlichte Notizen.
- Pandoc User’s Guide
--pdf-engine, wikilinks_title_after_pipe.
- Remove a page hosted on your site from Google
- How do I request to remove something from archive.org?