Praxisprojekt Second Brain · Ergebnisse

Veröffentlichen und exportieren

Lektion 3/410 Min. LesezeitFortgeschritten

Lernziele

  • Du richtest die Freigabe mit publish: true ein, 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: true gehen 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: true verlassen 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?

Denkfrage

Dein Werkzeug filtert private Seiten heraus. Warum reicht das allein nicht?

Prüf dich selbst

  1. 1Welche Regel für die Freigabe empfiehlt die Lektion?
  2. 2Was macht Quartz 5.1.0 mit eingeschaltetem ExplicitPublish aus einem Link auf eine Seite ohne publish: true?
  3. 3Warum richtest du ein Werkzeug für die Website nicht direkt auf deinen Vault?
  4. 4Eine private Seite wurde veröffentlicht und von Google erfasst. Was stimmt?
  5. 5Du willst einen einzelnen Bericht als PDF weitergeben. Was reicht?

Quellen

  1. Publish your content · Obsidian, Stand: Nov. 2026

    publish: true und publish: false, Verhalten bei Links auf nicht veröffentlichte Notizen.

  2. Obsidian Pricing · Obsidian, Stand: Nov. 2026

    Preis von Obsidian Publish.

  3. Private Pages · Quartz, Stand: Nov. 2026

    ExplicitPublish, Entwürfe, publishAssets.

  4. jackyzha0/quartz · Jacky Zhao, Version 5.1.0, Nov. 2026
  5. oleeskild/obsidian-digital-garden · oleeskild, Version 2.103.0, Okt. 2026

    dg-publish, Hosting, Links auf nicht veröffentlichte Notizen.

  6. Pandoc User’s Guide · John MacFarlane, Version 3.14, Nov. 2026

    --pdf-engine, wikilinks_title_after_pipe.

  7. Remove a page hosted on your site from Google · Google, Stand: Nov. 2026
  8. How do I request to remove something from archive.org? · Internet Archive, Stand: Nov. 2026
Dein Fortschritt bleibt nur in diesem Browser gespeichert.