# Verwenden einer YAML-Titelei

Sie können die YAML-Titelei verwenden, um die Versionsverwaltung zu definieren, Metadaten hinzuzufügen und das Layout für Artikel zu steuern.

## Informationen zur YAML-Titelei

Die YAML-Frontmatter ist eine durch Jekyll populär gemachte Konvention zum Verfassen von Inhalten, mit der Sie einer Seite Metadaten hinzufügen können.
Es handelt sich um einen Block von Schlüsselwertinhalten, die sich am Anfang jeder Markdown-Datei befinden GitHub Docs. Weitere Informationen finden Sie in der [Dokumentation zum YAML-Frontmatter](https://jekyllrb.com/docs/front-matter/).

## Werte der YAML-Titelei

Die folgenden Frontmatterwerte haben besondere Bedeutungen und Anforderungen für GitHub Docs.
Es gibt auch ein Schema, mit dem die Test-Suite das Frontmatter aller Seiten validiert.
Weitere Informationen findest du unter [`lib/frontmatter.ts`](https://github.com/github/docs/blob/main/src/frame/lib/frontmatter.ts).

* [`versions`](#versions)

* [`redirect_from`](#redirect_from)

* [`title`](#title)

* [`shortTitle`](#shorttitle)

* [`intro`](#intro)

* [`permissions`](#permissions)

* [`product`](#product)

* [`layout`](#layout)

* [`children`](#children)

* [`childGroups`](#childgroups)

* [`featuredLinks`](#featuredlinks)

* [`showMiniToc`](#showminitoc)

* [`allowTitleToDifferFromFilename`](#allowtitletodifferfromfilename)

* [`changelog`](#changelog)

* [`defaultPlatform`](#defaultplatform)

* [`defaultTool`](#defaulttool)

* [`journeyTracks`](#journeytracks)

* [`type`](#type)

* [`communityRedirect`](#communityredirect)

* [`effectiveDate`](#effectivedate)

### `versions`

* Zweck: Angeben der [Versionen](https://github.com/github/docs/blob/main/src/versions/lib/all-versions.ts), für die eine Seite gilt.
  Weitere Informationen zu den verschiedenen Versionstypen findest du in der [Dokumentation zur Versionsverwaltung](/de/enterprise-server@3.22/contributing/writing-for-github-docs/versioning-documentation).
* Typ: `Object`. Zulässige Schlüssel werden Produktnamen zugeordnet und befinden sich im Objekt `versions` in [`lib/frontmatter.ts`](https://github.com/github/docs/blob/main/src/frame/lib/frontmatter.ts).
* Dieser Frontmatter-Wert ist derzeit für alle Seiten **erforderlich**.
* Mit `*` kennzeichnen Sie alle Releases für die Version.
* Muss für alle `index.md`-Dateien vorhanden sein, aber der tatsächliche Wert wird zur Laufzeit basierend auf den untergeordneten Elementen berechnet.

Dieser Frontmatter-Wert wird von der Dokumentationsseite verwendet, um für jede Version eines Artikels permanente Links zu generieren. Weitere Informationen finden Sie unter [Permalinks](/de/enterprise-server@3.22/contributing/writing-for-github-docs/using-markdown-and-liquid-in-github-docs#permalinks).

Beispiel für Free, Pro, & Team und GitHub Enterprise Server Version 3.11 und höher:

```yaml
title: About your personal dashboard
versions:
  fpt: '*'
  ghes: '>=3.11'
```

Beispiel, das nur für GitHub Enterprise Server gilt:

```yaml
title: Downloading your license
versions:
  ghes: '*'
```

Sie können eine Seite auch für verschiedene Releases versionieren. Dies würde die Seite nur für Free‑, Pro‑ und Team‑Versionen sowie für die Versionen 3.1 und 3.2 von GitHub Enterprise Server versionieren:

```yaml
versions:
  fpt: '*'
  ghes: '>=3.1 <3.3'
```

### `redirect_from`

* Zweck: Auflisten von URLs, die auf diese Seite umleiten sollen.
* Typ: `Array`
* Wahlweise

Beispiel:

```yaml
title: Getting started with GitHub Desktop
redirect_from:
  - /articles/first-launch
  - /articles/error-github-enterprise-version-is-too-old
  - /articles/getting-started-with-github-for-windows
```

Weitere Informationen finden Sie unter [Konfigurieren von Umleitungen](/de/enterprise-server@3.22/contributing/writing-for-github-docs/configuring-redirects).

### `title`

* Zweck: Festlegen eines ansprechenden Titels für die Verwendung im `<title>`-Tag der gerenderten Seite sowie eines `h1`-Elements oben auf der Seite.
* Typ: `String`
* **Erforderlich**.

### `shortTitle`

* Zweck: Verwendung einer kürzeren Variante des Seitentitels für die Verwendung in Breadcrumbs und Navigationselementen.
* Typ: `String`
* Optional. Wenn nicht angegeben, wird `title` verwendet.

| Artikeltyp   | Maximale Zeichenlänge |
| ------------ | --------------------- |
| Artikel      | 31                    |
| Kategorien   | 27                    |
| Kartenthemen | 30                    |

Beispiel:

```yaml
title: Contributing to projects with GitHub Desktop
shortTitle: Contributing to projects
```

### `intro`

* Zweck: Festlegen der Einführung für die Seite. Diese Zeichenfolge wird nach `title` gerendert.
* Typ: `String`
* Optional.

### `permissions`

* Zweck: Festlegen der Berechtigungsanweisung für den Artikel. Diese Zeichenfolge wird nach `intro` gerendert.
* Typ: `String`
* Optional.

### `product`

* Zweck: Festlegen der Produktbezeichnung für den Artikel. Diese Zeichenfolge wird nach den Anweisungen `intro` und `permissions` gerendert.
* Typ: `String`
* Optional.

### `layout`

* Zweck: Rendern des korrekten Seitenlayouts.
* Typ: `String` dieser entspricht dem Namen eines unterstützten Layouts. Siehe `layoutNames` in `src/frame/lib/frontmatter.ts` für die autorisierte Liste (z. B. `discovery-landing`, `journey-landing`, `bespoke-landing`, `category-landing`, `toc-landing`, `inline`).
* Optional. Wenn nicht angegeben, wird `DefaultLayout` verwendet.

### `children`

* Zweck: Auflisten der relativen Links zu Produkt/Kategorie/Kartemthema. Weitere Informationen finden Sie unter [Indexseiten](#index-pages).
* Typ: `Array`. Der Standardwert ist `false`.
* Erforderlich auf Seiten vom Typ `index.md`.

### `childGroups`

* Zweck: Rendern von untergeordneten Elementen in Gruppen auf der Startseite. Weitere Informationen finden Sie unter [Homepage](#homepage).
* Typ: `Array`. Der Standardwert ist `false`.
* Erforderlich für den `index.md`-Wert der Startseite.

### `featuredLinks`

* Zweck: Rendern der Titel und Einführungen von verknüpften Artikeln auf den Angebotsseiten und der Startseite des Produkts.
* Typ: `Object`.
* Optional.

Die Liste der beliebten Links wird auf der Angebotsseite unter dem Titel „Beliebt“ angezeigt. Alternativ können Sie den Titel „Beliebt“ anpassen, indem Sie die Eigenschaft `featuredLinks.popularHeading` auf eine neue Zeichenfolge festlegen.

Beispiel:

```yaml
featuredLinks:
  gettingStarted:
    - /path/to/page
  startHere:
    - /guides/example
  popular:
    - /path/to/popular/article1
    - /path/to/popular/article2
  popularHeading: An alternate heading to Popular
```

### `showMiniToc`

* Zweck: Angeben, ob im Artikel über dem weiteren Inhalt ein Mini-Inhaltsverzeichnis angezeigt werden soll. Weitere Informationen finden Sie unter [Automatisch generierte Kurzverzeichnisse](#autogenerated-mini-tocs).
* Typ: `Boolean`. Der Standardwert lautet `true` für Artikel und `false` für Kartenthemen und Seiten vom Typ `index.md`.
* Optional.

### `allowTitleToDifferFromFilename`

* Zweck: Angeben, ob sich der Titel einer Seite vom Dateinamen unterscheiden darf. Beispiel: Der Titel von `content/rest/reference/orgs.md` lautet `Organizations` anstelle von `Orgs`. Seiten, für die dieser Frontmatter-Wert auf `true` festgelegt ist, werden in Tests nicht gekennzeichnet oder mit `src/content-render/scripts/reconcile-filenames-with-ids.ts` aktualisiert.
* Typ: `Boolean`. Der Standardwert ist `false`.
* Optional.

### `changelog`

* Zweck: Rendern einer Liste von Elementen, die aus [GitHub Changelog](https://github.blog/changelog/) auf Produktzielseiten abgerufen wurden (`components/landing`). Die einzige Ausnahme bildet „Education“, das aus <https://github.blog/category/community/education> abruft.
* Typ: `Object`, verfügt über folgende Eigenschaften:
  * `label` -- muss vorhanden sein und entspricht den Bezeichnungen im [GitHub Changelog](https://github.blog/changelog/)
  * `prefix`: Optionale Zeichenfolge, steht am Anfang aller Änderungsprotokolltitel, die im Dokumentationsfeed nicht angegeben werden sollen. Wenn beispielsweise das Präfix `GitHub Actions: ` angegeben ist, werden Änderungsprotokolltitel wie `GitHub Actions: Some Title Here` als `Some Title Here` im Docs-Feed gerendert.
* Optional.

### `defaultPlatform`

* Zweck: Überschreiben der anfänglichen Plattformauswahl für eine Seite. Wenn dieses Frontmatter weggelassen wird, wird standardmäßig der plattformspezifische Inhalt angezeigt, der dem Betriebssystem des Lesers entspricht. Dieses Verhalten kann für einzelne Seiten geändert werden, für die eine manuelle Auswahl geeigneter ist. Die meisten GitHub Actions Läufer verwenden beispielsweise Linux, und ihr Betriebssystem ist unabhängig vom Betriebssystem des Lesers.
* Typ: `String`, eines von: `mac`, `windows`, `linux`.
* Optional.

Beispiel:

```yaml
defaultPlatform: linux
```

### `defaultTool`

* Zweck: Überschreiben Sie die anfängliche Toolauswahl für eine Seite, bei der das Tool auf die Anwendung verweist, die der Leser verwendet, um mit GitHub (z. B. der Web-UI GitHub.com, der GitHub CLI oder GitHub Desktop) oder den GitHub-APIs zu arbeiten. Weitere Informationen zur Toolauswahl findest du unter [Verwenden von Markdown und Liquid in GitHub Docs](/de/enterprise-server@3.22/contributing/writing-for-github-docs/using-markdown-and-liquid-in-github-docs#tool-tags). Wenn dieser Frontmatter nicht angegeben wird, wird standardmäßig der toolspezifische Inhalt angezeigt, der der GitHub Webbenutzeroberfläche entspricht. Gibt ein Benutzer/eine Benutzerin (durch Klicken auf eine Toolregisterkarte) ein Tool an, wird diese Einstellung anstelle des Standardwerts angewendet.
* Typ: `String`, einer von: `webui`, `cli`, `desktop`, `curl`, `codespaces`, `vscode`, `importer_cli`, `graphql`, `powershell`, `bash`, `javascript`.
* Optional.

```yaml
defaultTool: cli
```

### `journeyTracks`

* Zweck: Definieren von Journeys für Journey-Zielseiten.
* Typ: `Array` von Objekten mit den folgenden Eigenschaften:
  * `id` (erforderlich): Eindeutiger Bezeichner für die Reise. Die ID muss nur für Reisen innerhalb einer einzelnen Reise-Startseite eindeutig sein.
  * `title` (erforderlich): Anzeigetitel für die Reise (unterstützt Liquid-Variablen)
  * `description` (optional): Beschreibung der Reise (unterstützt Liquid-Variablen)
  * `timeCommitment` (optional): Geschätzte Zeit, um die Reise abzuschließen (z. B `2-4 hours`. ). Wird als Badge neben der Artikelanzahl angezeigt.
  * `guides` (erforderlich): Array von Leitfadenobjekten, die diese Reise ausmachen. Jedes Führungsobjekt verfügt über:
    * `href` (erforderlich): Pfad zum Artikel
    * `alternativeNextStep` (optional): Benutzerdefinierter Text, der Benutzer zu alternativen Pfaden in der Reise führt. Unterstützt Liquid-Variablen und `[AUTOTITLE]`.
* Kann nur mit `layout: journey-landing` verwendet werden.
* Optional.

Beispiel:

```yaml
journeyTracks:
  - id: 'getting_started'
    title: 'Getting started with GitHub Actions'
    description: 'Learn the basics of GitHub Actions.'
    timeCommitment: '2-4 hours'
    guides:
      - href: '/actions/quickstart'
      - href: '/actions/learn-github-actions'
        alternativeNextStep: 'Want to skip ahead? See [AUTOTITLE](/actions/using-workflows).'
      - href: '/actions/using-workflows'
  - id: 'advanced'
    title: 'Advanced GitHub Actions'
    description: 'Dive deeper into advanced features.'
    guides:
      - href: '/actions/using-workflows/workflow-syntax-for-github-actions'
      - href: '/actions/deployment/deploying-with-github-actions'
```

### `type`

* Zweck: Angeben des Artikeltyps.
* Typ: `String`, einer der Typen `overview`, `quick_start`, `tutorial`, `how_to`, `reference`, `rai`.
* Optional.

### `communityRedirect`

* Zweck: Legen Sie einen benutzerdefinierten Link- und Linknamen für `Ask the GitHub community` Link in der Fußzeile fest.
* Typ: `Object`. Die Eigenschaften sind `name` und `href`.
* Optional.

### `effectiveDate`

* Zweck: Festlegen eines Gültigkeitsdatums für Artikel zum Thema Nutzungsbedingungen, damit Technikteams Benutzer\*innen automatisch zur erneuten Bestätigung der Nutzungsbedingungen auffordern können.
* Typ: `string` im Format JAHR-MONAT-TAG, „2021-10-04“ entspricht z. B. dem Datum „4. Oktober 2021“.
* Optional.

> \[!NOTE]
> Der `effectiveDate` Frontmatterwert ist ausschließlich für GitHub-Mitarbeiter vorgesehen.

## Escapesequenz für einzelne Anführungszeichen

Zwei einzelne Anführungszeichen hintereinander (`''`) in der YAML-Titelei anstelle eines einzelnen (`'`) stellen die Escapesequenz für ein einzelnes Anführungszeichen im YAML-Format dar.

Alternativ können Sie das Titelei-Feld mit doppelten Anführungszeichen umschließen und die inneren einzelnen Anführungszeichen ohne Escapesequenz belassen.

## Automatisch generierte Mini-Inhaltsverzeichnisse

Jeder Artikel zeigt ein Mini-Inhaltsverzeichnis an, bei dem es sich um einen automatisch generierten Abschnitt "In diesem Artikel" handelt, der Links zu allen `H2` im Artikel enthält. Nur `H2`-Kopfzeilen sind in den Mini-Inhaltsverzeichnissen enthalten. Wenn ein Artikel- `H3` oder `H4`-Kopfzeilen zum Aufteilen von Informationen auf eine Weise verwenden kann, sodass bestimmte Abschnitte nur für eine bestimmte Aufgabe relevant sind, können Sie Personen bei der Navigation zu den inhalten helfen, die für sie am relevantesten sind, indem Sie ein [Abschnitts-Inhaltsverzeichnis](/de/enterprise-server@3.22/contributing/style-guide-and-content-model/style-guide#sectional-tocs) verwenden.

Sie können den [`showMiniToc`](#showminitoc)-Titeleiwert verwenden, der auf `false` festgelegt wurde, um zu verhindern, dass das Mini-Inhaltsverzeichnis für einen Artikel angezeigt wird.

Auf Produkt- und Kategorieangebotsseiten sowie auf Kartenthemaseiten werden keine Miniinhaltsverzeichnisse angezeigt.

Fügen Sie der Markdownquelle keine hartcodierten Abschnitte vom Typ „Inhalt dieses Artikels“ hinzu, damit auf der Seite keine doppelten Miniinhaltsverzeichnisse angezeigt werden.

## Dateinamen

Wenn du einen neuen Artikel hinzufügst, achte darauf, dass der Dateiname eine [großgeschriebene](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles) Version des Titels ist, den du im [`title`](#title) Frontmatter des Artikels verwendest. Dies kann schwierig werden, wenn ein Titel Interpunktion hat (z. B. "Abrechnungspläne von GitHub"). Bei einem Test werden alle Abweichungen zwischen Titel und Dateinamen gekennzeichnet. Wenn Sie diese Anforderung für einen bestimmten Artikel außer Kraft setzen möchten, fügen Sie den Frontmatter-Wert [`allowTitleToDifferFromFilename`](#allowtitletodifferfromfilename) hinzu.

## Indexseiten

Indexseiten sind die Inhaltsverzeichnisdateien für die Dokumentationswebsite. Jedes Produkt, jedes Kategorie- und Kartenthemaunterverzeichnis verfügt über eine `index.md`-Datei, die einen Überblick über den Inhalt und Links zu jedem untergeordneten Artikel bietet. Jeder `index.md`-Wert muss eine Frontmatter-Eigenschaft vom Typ `children` mit einer Liste relativer Links zu den untergeordneten Seiten des Produkts, der Kategorie oder des Kartenthemas enthalten. Indexseiten erfordern eine `versions`-Frontmattereigenschaft, und der tatsächliche Wert wird zur Laufzeit basierend auf den Versionen von untergeordneten Artikeln berechnet.

> \[!NOTE]
> Die Website kennt nur Pfade, die im Frontmatterwert `children` enthalten sind. Ist ein Verzeichnis oder ein Artikel vorhanden, aber **nicht** in `children` enthalten, gibt der Pfad einen 404-Fehler zurück.

## Startseite

Die Startseite stellt die Inhaltsverzeichnis-Hauptdatei für die Dokumentationswebsite dar. Die Startseite muss eine vollständige Liste von `children` enthalten, wie jede [Indexseite](#index-pages), und muss zusätzlich die Frontmatter-Eigenschaft `childGroups` angeben, die im Hauptinhaltsbereich hervorgehoben wird.

`childGroups` ist ein Array von Zuordnungen, das einen `name`-Wert und einen optionalen `icon`-Wert für die Gruppe und ein Array von `children`-Werten enthält. Der `children`-Wert im Array muss in der Frontmatter-Eigenschaft `children` vorhanden sein.