# 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.

Source: https://www.jpkc.com/db/blog/quarkdown-dokumenttypen-themes/

In [Teil 2](https://www.jpkc.com/db/blog/quarkdown-funktionen-skripting/) 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](https://quarkdown.com/wiki/page-break) 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](https://quarkdown.com/wiki/slides-fragment)-Zustand — zu einer eigenen Seite.
- **`docs`** — navigationsorientiertes Layout mit Sidebars, Kopfzeile samt Suchleiste und Footer-Navigation. Nutzt [Subdocuments](https://quarkdown.com/wiki/subdocuments) und eine clientseitige Volltextsuche. Die offizielle Quarkdown-Wiki ist selbst ein `docs`-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).

```markdown
.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:

```markdown
.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.

```markdown
.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](https://quarkdown.com/wiki/multi-column-layout) aktivieren. Besonders elegant ist das **seitenbezogene Formatieren** in `paged`-Dokumenten: gespiegelte Ränder für Bücher oder Sonderformate für die ersten Seiten.

```markdown
.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](https://www.jpkc.com/db/blog/quarkdown-funktionen-skripting/); den Einstieg liefert [Teil 1](https://www.jpkc.com/db/blog/quarkdown-einstieg/). 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](https://quarkdown.com/wiki).

