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.

6.2 – Was nicht geht

Das Frontmatter kann eine Box ausblenden, ihr Schnipsel tauschen und ihren Titel ändern. Was es nicht kann: eine Box einschalten, die es sonst nicht gäbe.

Der Grund liegt in der Bauart. Eine Instanz entsteht aus einem Eintrag in der Konfiguration und läuft auf jeder Seite; das Frontmatter wird gelesen, wenn sie schon da ist. Es gibt keinen Weg, aus einer Seite heraus eine Instanz zu erzeugen, die die Konfiguration nicht kennt.

Der Umweg: leer als Grundeinstellung

Gefragt ist er, sobald eine Box nur auf einer Seite stehen soll — eine Download-Box auf der Startseite etwa. Sie überall einzublenden und auf 200 Seiten wieder auszublenden, ist keine Lösung.

Die Umkehrung ist eine: Die Box bekommt als Grundeinstellung ein leeres Schnipsel, und die eine Seite tauscht es gegen den Inhalt.

# in der Konfiguration
options:
  file: leer.html                 # eine Datei mit 0 Bytes
  frontmatterKey: layoutBoxDownload
---
# nur auf der Startseite
layoutBoxDownload: download.html
---

Das funktioniert, weil eine Box ohne Inhalt gar nichts ausgibt — kein leeres div, keinen Abstand, kein Element im HTML. Auf den anderen 199 Seiten ist die Instanz da und schweigt.

Zwei Fälle, in denen doch eine Hülle bleibt

Quartz wickelt eine Komponente mit display: desktop-only oder mobile-only in ein eigenes div, und jedes Mitglied einer group in ein div der Flex-Reihe. Diese Hüllen entstehen, bevor die Box gefragt wird, und bleiben deshalb stehen, auch wenn sie nichts liefert — ein leeres div also, gemessen. Ohne display und ohne group stimmt der Satz oben genau.

Warum eine leere Datei und kein leeres html

html: "" in der Konfiguration wäre der kürzere Weg und funktioniert nicht: html hat Vorrang vor file, auch wenn es leer ist — der Tausch im Frontmatter über file käme nie zum Zug. Die leere Datei lässt den Weg über file offen.

Genau so steht die Download-Box auf der Startseite von QuartzControl, während die eingebettete Fassung desselben Handbuchs ihn nicht kennt.

Was ebenfalls nicht geht

  • Eine Box je Ordner. Es gibt keine Regel „gilt für alles unter notizen/“. Was hilft: ein Feld im Frontmatter der betroffenen Seiten, oder eine Vorlage im Vault, die es mitbringt.
  • Bedingungen. Keine Ausdrücke, keine Vergleiche. Das Frontmatter nennt Werte, keine Regeln.
  • Reihenfolge je Seite. priority gilt für die Site.