Quarkdown: Eine Quelle, vier Dokumente — Typen, Themes & Seiten-Setup
Teil 3 der Quarkdown-Reihe: Wie .doctype aus derselben Quelle Webseite, Paper, Buch oder Präsentation macht — plus Themes, Metadaten und Seitenformat.
von Jean Pierre Kolb ·
In Teil 2 ging es um die Logik unter der Haube. Jetzt schauen wir auf das sichtbare Ergebnis — und auf Quarkdowns größtes Versprechen: eine Quelle, mehrere Ausgaben. Eine einzige Zeile entscheidet, ob aus deinem .qd-Dokument eine fließende Webseite, ein paginiertes Paper, eine Präsentation oder ein durchsuchbares Wiki wird. Dazu kommen Themes, Metadaten und das Seitenformat — die Stellschrauben, mit denen ein Dokument seinen Charakter bekommt.
Die vier Dokumenttypen
Den Typ setzt .doctype {…} ganz am Anfang. Jeder Typ bringt sein eigenes Verhalten mit:
plain(Default) — linearer Fluss ohne Seitenumbrüche, responsives Layout im Stil von Notion oder Obsidian. Ideal für Webseiten und Wissensmanagement. Fußnoten erscheinen als Randnotizen rechts neben ihrer Referenz; beim PDF-Export entsteht eine einzige, durchgehende Seite.paged— klassisches Layout mit Seiten. Umbrüche entstehen explizit oder automatisch, wenn der Inhalt überläuft. Fußnoten stehen am Seitenfuß. Das ist der Typ für Artikel, wissenschaftliche Papers und Bücher.slides— Präsentation, eine Folie pro Bildschirm, horizontal zentriert. Folienumbrüche nur explizit. Beim PDF-Export wird jede Folie — und jeder Fragment-Zustand — zu einer eigenen Seite.docs— navigationsorientiertes Layout mit Sidebars, Kopfzeile samt Suchleiste und Footer-Navigation. Nutzt Subdocuments und eine clientseitige Volltextsuche. Die offizielle Quarkdown-Wiki ist selbst eindocs-Dokument.
Derselbe Inhalt, vier völlig verschiedene Artefakte — ohne dass du den Text anfasst. Genau das hebt Quarkdown von Werkzeugen ab, die jeweils nur ein Ausgabeformat beherrschen.
Metadaten
Per Konvention stehen die Metadaten ganz oben. Sie folgen einem „modify-or-echo"-Prinzip: mit Argument setzen sie den Wert, ohne Argument geben sie ihn zurück (praktisch im Fließtext).
.docname {Mein Dokument}
.doctype {paged}
.doclang {German}
.docauthors
- Jean Pierre Kolb
- email: jpk@example.com.doclang ist mehr als Kosmetik: Es bestimmt die Ziel-Locale für Lokalisierung, locale-spezifische Schriften und das HTML-lang-Attribut — relevant für Silbentrennung und Barrierefreiheit. .dockeywords wiederum fließt beim HTML-Export in die SEO-Metadaten ein. Für einen einzelnen Autor genügt die Kurzform .docauthor {Name}.
Themes: Farbe trennt sich von Layout
Ein Theme bestimmt Look and Feel — und Quarkdown trennt dabei sauber zwischen Farb- und Layout-Theme. Beide kombinierst du frei:
.theme {paperwhite} layout:{latex}| Farb-Themes | Layout-Themes |
|---|---|
paperwhite (Default) | latex (Default) |
darko | hyperlegible |
galactic | minimal |
beaver | beamer |
Bewährte Kombinationen: paperwhite+latex (akademischer LaTeX-Look, stark für paged), galactic+hyperlegible (das Theme der Wiki, mit besonders gut lesbarer Schrift), darko+minimal (dunkel und reduziert) und beaver+beamer (Beamer-Stil für Präsentationen). Weil Farbe und Struktur entkoppelt sind, ergeben vier mal vier schon sechzehn Ausgangspunkte — eigene Schriften richtest du zusätzlich über .font ein.
Das Seitenformat
.pageformat steuert die Geometrie der Seite. Alle Parameter sind optional; mehrere Aufrufe stapeln sich, spätere überschreiben frühere.
.pageformat {A4} margin:{2cm}Du kannst eine benannte Größe wählen (A0–A10, B0–B5, letter, legal, ledger) oder width/height exakt vorgeben, die Ausrichtung (portrait/landscape) drehen, einen Hintergrund oder Rahmen setzen und mit columns einen mehrspaltigen Satz aktivieren. Besonders elegant ist das seitenbezogene Formatieren in paged-Dokumenten: gespiegelte Ränder für Bücher oder Sonderformate für die ersten Seiten.
.pageformat size:{A4}
.pageformat side:{left} margin:{2cm 3cm 2cm 1cm}
.pageformat side:{right} margin:{2cm 1cm 2cm 3cm}So bekommen linke (verso) und rechte (recto) Seiten unterschiedliche Innen- und Außenränder — der klassische Buchsatz, in vier Zeilen.
FAQ
Kann ich den Dokumenttyp nachträglich wechseln?
Ja — das ist der ganze Witz. Du änderst nur die .doctype-Zeile und kompilierst neu. Inhalte, die typabhängig sind (etwa Seitenumbrüche oder Randnotizen), verhalten sich dann automatisch passend zum neuen Typ.
Welcher Typ passt zu einem Blog oder einer Website?
plain für einzelne Seiten im Fließtext-Stil, docs für eine ganze Wissensbasis mit Navigation und Suche. Beide exportieren als statisches HTML und lassen sich direkt deployen — den Weg dahin behandle ich in einem späteren Teil.
Brauche ich für ein PDF einen bestimmten Typ?
Nein. Jeder der vier Typen lässt sich als PDF exportieren; das Ergebnis entspricht dem jeweiligen HTML-Layout. Ein paged-Dokument wird zum mehrseitigen PDF, ein plain-Dokument zu einer einzigen langen Seite, eine Präsentation zu einer Folie pro Seite.
Weiterlesen
Zurück zur Logik geht es in Teil 2: Funktionen, Variablen, Skripting; den Einstieg liefert Teil 1. Als Nächstes nehme ich das Layout auseinander — Stacks, Container, Boxen, Grids und Float, die Bausteine, mit denen du Inhalt auf der Seite anordnest. Details zu allen hier genannten Funktionen stehen in der offiziellen Wiki.