Wer mit QuartzControl arbeitet, hat mit vier Programmen zu tun. Bedienen muss man nicht alle vier — zwei davon nimmt QuartzControl einem ab —, aber wissen sollte man, was jedes tut.
Obsidian — hier wird geschrieben
Obsidian ist ein Programm für Notizen. Es speichert jede Notiz als gewöhnliche Textdatei mit der
Endung .md, geschrieben in Markdown. Ein Ordner voller
solcher Dateien heißt in Obsidian Vault.
Obsidian ist nicht Voraussetzung. Jeder Ordner mit Markdown-Dateien tut es, egal womit sie geschrieben wurden. Aber der Weg ist auf Obsidian hin gebaut: QuartzControl kann den Content-Ordner direkt auf einen Vault zeigen lassen, und Quartz versteht Obsidians Wikilinks, Callouts und eingebettete Bilder.
Quartz — hieraus wird eine Website
Quartz ist ein Static-Site-Generator: ein Programm, das aus einem Ordner voller Markdown-Dateien einen Ordner voller HTML-Seiten macht. Diesen Vorgang nennt man Build. Das Ergebnis ist eine fertige Website ohne Datenbank und ohne Programm dahinter, die man auf jeden Webspace legen kann.
Quartz besteht aus Plugins — jedes mit einer Aufgabe: Eines
baut den Explorer links, eines das Inhaltsverzeichnis rechts, eines die Suche, eines liest das
Datum einer Datei. Welche aktiv sind und wie sie eingestellt sind, steht in quartz.config.yaml
im Projekt. Genau diese Datei bearbeitet QuartzControl an mehreren Stellen.
QuartzControl — hier wird bedient
Was QuartzControl tut, steht auf der vorigen Seite. Für dieses Kapitel zählt vor allem eins: Ein Projekt ist ein Ordner mit einer Quartz-Installation, und QuartzControl kann mehrere davon verwalten. Die Startseite ist die Liste dieser Projekte; alles andere gilt jeweils für eines davon.
git — hier wird die Geschichte geführt
git ist ein Programm, das die Geschichte von Dateien aufzeichnet. Jeder gespeicherte Stand heißt Commit und trägt Datum, Urheber und eine Beschreibung; man kann jeden früheren Stand wiederherstellen. Ein Ordner, dessen Geschichte git führt, heißt Repository.
Bedienen muss man git nicht. Es kommt an vier Stellen vor, und an dreien davon unsichtbar:
- Ein neues Projekt entsteht, indem Quartz von GitHub geholt wird — das tut git.
- Ein Plugin aus einer git-Quelle wird geholt und gebaut — auch das.
- Jeder Snapshot ist ein Commit, aber in einer eigenen Geschichte, die nur QuartzControl kennt und die die eigene nicht berührt.
- Sichtbar wird git nur unter Git-Sync und beim Veröffentlichen über einen Branch — dort geht es wirklich um Push und Pull.
QuartzControl benutzt das git des Rechners, sobald dort eines antwortet — dann gelten die eigene
.gitconfig und die eigenen Zugangshelfer weiter. Ist keines da, bringt QuartzControl eines mit.
Wie sie zusammenhängen
Obsidian ─schreibt─▶ Vault ◀─Verknüpfung─ Projekt ─Quartz baut─▶ Website ─▶ Webspace
▲ ▲
└───── QuartzControl ───┘
Der Vault ist die Quelle. Das Projekt zeigt mit einer Verknüpfung darauf, Quartz liest den Inhalt hindurch und baut daraus die Website, und QuartzControl steuert beide Enden: was Quartz tut, und wohin das Ergebnis geht.
Der Vault muss nicht außerhalb liegen. Wer keinen hat, lässt QuartzControl einen leeren Content-Ordner im Projekt anlegen und schreibt darin — dann fehlt in der Zeichnung oben schlicht der Pfeil nach links.