Deutsch
Über dieses Handbuch

Dieses Handbuch gehört zum Quartz-Plugin quartz-layout-box. Und es ist mit ihm gebaut: Diese Box hier ist eine Layout-Box.

Sie kommt aus einer Markdown-Datei, nicht aus der Konfiguration — welcher Weg wann der bessere ist, steht in Der Schnipsel.

1.3 – Was beim Bauen passiert

Quartz lädt das Plugin als reine Komponente. Aus jedem Eintrag in der quartz.config.yaml, der einen layout-Block hat, wird eine eigene Instanz mit ihren eigenen Optionen. Ein Eintrag ohne layout-Block verschwindet dabei nicht: Quartz stellt jede Komponente, die keine Stelle nennt, an die Vorgabe ihres Manifests — bei diesem Plugin links, mit priority: 15. Beim Bau jeder Seite läuft dann derselbe Ablauf:

  1. Frontmatter prüfen — Ist die Box auf dieser Seite ausgeblendet? Wurde ein anderes Schnipsel gewählt? Hat die Seite eine Sprache, für die byLang etwas kennt?
  2. Quelle bestimmen — html aus der Konfiguration hat Vorrang, sonst die Datei aus dir und file.
  3. Datei lesen — Der Pfad muss innerhalb von dir liegen. Gelesen wird mit Zwischenspeicher: neu geladen nur, wenn sich die Änderungszeit geändert hat.
  4. Markdown umwandeln — Endet die Datei auf .md, wird sie zu HTML. Auch das Ergebnis wird zwischengespeichert.
  5. Platzhalter ersetzen — Seiten- und Site-Werte werden eingesetzt und dabei maskiert.
  6. Ausgeben — Ein div mit der Klasse layout-box, wahlweise mit Überschrift oder als aufklappbares details.

Warum das Nachladen ohne Neustart geht

Schritt 3 fragt bei jedem Rendern die Änderungszeit der Datei ab. Ist sie dieselbe wie beim letzten Mal, kommt der Inhalt aus dem Zwischenspeicher; ist sie neuer, wird gelesen.

Damit greift eine Änderung am Schnipsel im Modus --serve sofort, und es braucht dafür keinen Dateibeobachter, den jemand einrichten und wieder abräumen müsste. Im normalen Bau kostet dasselbe Verfahren pro Seite genau eine Abfrage beim Dateisystem — messbar, aber neben dem Rest eines Baus ohne Gewicht.

Was daraus folgt

Der Zwischenspeicher hängt an der Änderungszeit, nicht am Inhalt. Wer eine Datei mit demselben Zeitstempel zurückschreibt — etwa beim Zurückspielen aus einem Archiv —, sieht die alte Fassung, bis die Zeit sich ändert.

Reine Komponente, kein Transformer

Das Plugin greift nicht in die Inhaltspipeline ein. Es sieht keine Notiz, verändert keinen Text und läuft nicht über den Vault. Es wird nur gefragt, wenn Quartz das Layout einer Seite zusammensetzt.

Das ist der Grund, warum ein Markdown-Schnipsel keine Wikilinks auflöst: Die Stelle, an der Quartz so etwas tut, hat die Box längst hinter sich.