Content speichert nur, was das Schema einer Collection deklariert — dies ist
also die vollständige Liste: Ein nicht deklariertes Feld wird stillschweigend
verworfen, bevor die Seitenleiste oder die Suche es je sieht.

## Was du schreibst

| Feld           | Typ        | Was es tut                                                        |
| :------------- | :--------- | :----------------------------------------------------------------- |
| `title`        | `string`   | Als `<h1>` der Seite gerendert, plus SEO- und Social-Titel          |
| `description`  | `string`   | Die Zusammenfassung — Seitenleiste, Karten, OG-Bild, `llms.txt`     |
| `icon`         | `string`   | Neben dem Eintrag in Seitenleiste, Sektionszeile und Karten gezeigt |
| `navigation`   | `boolean`  | `false` verbirgt die Seite in der Navigation                        |
| `layout`       | `string`   | `landing` rendert die Seite ohne das Doku-Layout                    |
| `redirectFrom` | `string[]` | Alte URLs dieser Seite — siehe [Eine Seite verschieben](/guides/move-a-page) |
| `date`         | `string`   | Wann diese Seite datiert ist, für den Feed                          |

`title` und `description` sind die beiden, vor deren Fehlen der Build warnt.
Keines bricht eine Seite, und beide verschlechtern still das
Inhaltsverzeichnis, die Social Card und `llms.txt`.

::callout{type="tip" title="Kein H1 im Text"}
`title` wird als Überschrift gerendert. Eine `#`-Überschrift am Anfang der Datei
ist das zweite `<h1>` auf der Seite.
::

## Die Schalter der Seite

Acht weitere Felder, von denen jedes ein Stück dessen abschaltet, was duxt
um eine Seite herum zeichnet. Mit ihnen sagt eine Seite, wofür sie *da ist*:
eine API-Referenz, die die volle Breite will, eine Rechtstext-Seite ohne „War
diese Seite hilfreich?“, eine Rumpfseite, die nicht in der Suche auftauchen
soll.

| Feld         | Typ                       | Standard          | Was es steuert                                          |
| :----------- | :------------------------ | :---------------- | :------------------------------------------------------- |
| `toc`        | `false` \| `{ maxDepth }` | an, bis `h3`      | Das Inhaltsverzeichnis, und wie tief es reicht           |
| `breadcrumb` | `boolean`                 | `duxt.breadcrumb` | Die Spur über dem Titel                                  |
| `prevNext`   | `boolean`                 | `true`            | Das Paar Zurück/Weiter unter dem Artikel                 |
| `feedback`   | `boolean`                 | `true`            | Die Zeile „War diese Seite hilfreich?“                   |
| `pageInfo`   | `boolean`                 | `true`            | Bearbeiten-Link, letzte Änderung, Mitwirkende            |
| `copyPage`   | `boolean`                 | `true`            | Seite kopieren, und das Menü zur Übergabe an ein Modell  |
| `fullWidth`  | `boolean`                 | `false`           | `true` entfernt die Begrenzung der Lesebreite            |
| `search`     | `boolean`                 | `true`            | `false` nimmt die Seite aus der Suche                    |

```md
---
title: Nutzungsbedingungen
feedback: false
prevNext: false
search: false
---
```

Sie **lassen sich kombinieren, und keines zieht ein anderes nach sich**.
`fullWidth: true` entfernt das Lesemaß und sonst nichts — die Inhaltsspalte und
der Herkunftsblock bleiben, solange nicht auch die abgeschaltet werden — und
`copyPage: false` lässt den Herkunftsblock in Ruhe. Eine Seite, die keines davon
setzt, sieht genau so aus wie eh und je.

`breadcrumb` ist das eine mit einem seitenweiten Schalter dahinter,
`duxt.breadcrumb`. Die Seite gewinnt überall dort, wo sie sich äußert; eine
Website, die die Spur überall verborgen hat, kann sie also auf der einen Seite
zurückholen, auf der die Spur der Punkt ist.

### Wie tief das Inhaltsverzeichnis reicht

`toc: false` lässt die Spalte weg. Die Objektform setzt die tiefste Überschrift,
die es auflistet, geschrieben als Überschriftenebene — die Liste beginnt immer
bei `h2`, und `h3` ist der Standard.

```md
---
title: Konfiguration
toc:
  maxDepth: 4
---
```

`maxDepth` nimmt `2` bis `6`. Alles andere fällt auf den Standard zurück, statt
die Spalte zu leeren: Es gibt kein `h7`, und `h1` ist der Titel.

### Was `search: false` tut, und was nicht

Es nimmt die Seite von jeder Oberfläche, die duxt zum *Finden* von etwas
anbietet: dem Suchdialog, seinem Rückfall auf Beinahetreffer, dem MCP-Werkzeug
`search_docs` sowie `llms.txt` und `llms-full.txt`.

Es ändert **nichts an der Adresse der Seite**. Die URL, das Canonical, der
Sitemap-Eintrag und die robots-Metadaten bleiben unberührt, die Seite rendert
wie eh und je, und MCPs `read_page` antwortet weiterhin für sie. Die Seite wird
unauffindbar, nicht unveröffentlicht. Um eine Seite stattdessen aus dem
Navigationsbaum zu halten, ist das `navigation: false`; um sie aus einer
Suchmaschine zu halten, ist das Sache des Crawlers und nicht dieses Feldes.

::callout{type="info" title="Eine Seite kann die Seitenleiste nicht verbergen"}
Dafür gibt es bewusst kein Feld. `fullWidth` behält den Kopfbereich und die linke
Navigation, denn eine Seite, die den Weg hinaus entfernt hat, ist eine Seite, auf
der man festsitzt. `layout: landing` bleibt der eine ausdrückliche Ausweg aus der
gesamten Docs-Shell.
::

## Was der Build füllt

| Feld           | Gefüllt von              | Enthält                                          |
| :------------- | :----------------------- | :----------------------------------------------- |
| `lastUpdated`  | dem git-meta-Modul       | Den letzten Commit, der die Datei berührt hat     |
| `contributors` | dem git-meta-Modul       | Name, Commit-Zahl und Benutzername, je Autor      |
| `rawbody`      | dem Collection-Schema    | Das Markdown, wie es geschrieben wurde            |
| `sitemap`      | der Sitemap-Integration  | Das, was die Seite überhaupt in `/sitemap.xml` bringt |

Eines davon von Hand zu schreiben ist zwecklos: Der Build überschreibt sie.
Beide git-Felder brauchen eine echte Historie, eine entfernte Quelle braucht
also `history: true` — siehe [Quellen-Referenz](/reference/sources).

## Der Dateiname trägt zwei weitere Dinge

- **Ein numerisches Präfix ordnet den Baum** und wird aus der URL entfernt:
  `3.guides/2.deploy.md` wird unter `/guides/deploy` ausgeliefert. Umsortieren
  verschiebt nie eine URL.
- **`.draft.md` ist ein Entwurf.** Er wird im Entwicklungsserver ausgeliefert
  und fehlt im Build. Es gibt kein `draft: true`, weil der Inhalt einer
  Collection deklariert wird, bevor irgendeine Datei gelesen wurde — siehe
  [Collections](/concepts/collections).