Frontmatter Referenz
Du kannst einzelne Markdown- und MDX-Seiten in Starlight anpassen, indem du Werte in deren Frontmatter setzt. Zum Beispiel könnte eine normale Seite die Felder title
und description
setzen:
Frontmatter-Felder
title
(erforderlich)
Typ: string
Du musst für jede Seite einen Titel angeben. Dieser wird oben auf der Seite, in Browser-Tabs und in den Seiten-Metadaten angezeigt.
description
Typ: string
Die Seitenbeschreibung wird für die Metadaten der Seite verwendet und wird von Suchmaschinen und in der Vorschau von sozialen Medien angezeigt.
slug
Typ: string
Setzt den Slug der Seite außer Kraft. Siehe „Benutzerdefinierte Slugs definieren“ in der Astro-Dokumentation für weitere Details.
editUrl
Typ: string | boolean
Überschreibt die globale editLink
-Konfiguration. Setze die Konfiguration auf false
, um den Link Seite bearbeiten
für eine bestimmte Seite zu deaktivieren oder gibt eine alternative URL an, unter der der Inhalt dieser Seite bearbeitet werden kann.
head
Typ: HeadConfig[]
Du kannst zusätzliche Tags zum <head>
deiner Seite hinzufügen, indem du das Feld head
Frontmatter verwendest. Dies bedeutet, dass du benutzerdefinierte Stile, Metadaten oder andere Tags zu einer einzelnen Seite hinzufügen kannst. Ähnlich wie bei der globalen head
Option.
tableOfContents
Typ: false | { minHeadingLevel?: number; maxHeadingLevel?: number; }
Überschreibt die globale tableOfContents
-Konfiguration.
Passe die einzuschließenden Überschriftsebenen an oder setze sie auf false
, um das Inhaltsverzeichnis auf dieser Seite auszublenden.
template
Typ: 'doc' | 'splash'
Standard: 'doc'
Legt die Layoutvorlage für diese Seite fest.
Seiten verwenden standardmäßig das 'doc'
-Layout.
Setze den Typen auf 'splash'
, um ein breiteres Layout ohne Seitenleisten zu verwenden, welches spezifisch für Startseiten entwickelt wurde.
hero
Typ: HeroConfig
Fügt eine Hero-Komponente oben auf der Seite ein. Kann sehr gut mit template: splash
kombiniert werden.
Zum Beispiel zeigt diese Konfiguration einige übliche Optionen, einschließlich des Ladens eines Bildes aus deinem Repository.
Du kannst verschiedene Versionen der Hero-Komponente im hellen und dunklen Modus anzeigen.
HeroConfig
banner
Typ: { content: string }
Zeigt ein Ankündigungsbanner oben auf dieser Seite an.
Der Wert content
kann HTML für Links oder andere Inhalte enthalten.
Auf dieser Seite wird beispielsweise ein Banner mit einem Link zu example.com
angezeigt.
lastUpdated
Typ: Date | boolean
Überschreibt die globale Option lastUpdated
. Wenn ein Datum angegeben wird, muss es ein gültiger YAML-Zeitstempel sein und überschreibt somit das im Git-Verlauf für diese Seite gespeicherte Datum.
prev
Typ: boolean | string | { link?: string; label?: string }
Überschreibt die globale Option pagination
. Wenn eine Zeichenkette angegeben wird, wird der generierte Linktext ersetzt und wenn ein Objekt angegeben wird, werden sowohl der Link als auch der Text überschrieben.
next
Typ: boolean | string | { link?: string; label?: string }
Dasselbe wie prev
, aber für den Link zur nächsten Seite.
pagefind
Typ: boolean
Standard: true
Legt fest, ob diese Seite in den Pagefind-Suchindex aufgenommen werden soll. Setze das Feld auf false
, um eine Seite von den Suchergebnissen auszuschließen:
draft
Typ: boolean
Standard: false
Legt fest, ob diese Seite als Entwurf betrachtet werden soll und nicht in Produktions-Builds und Autogenerierte Link-Gruppen aufgenommen werden soll. Setze die Eigenschaft auf true
, um eine Seite als Entwurf zu markieren und sie nur während der Entwicklung sichtbar zu machen.
sidebar
Typ: SidebarConfig
Steuert, wie diese Seite in der Seitenleiste angezeigt wird, wenn eine automatisch generierte Linkgruppe verwendet wird.
SidebarConfig
label
Typ: string
Standard: der Seitentitel (title
)
Legt die Bezeichnung für diese Seite in der Seitenleiste fest, wenn sie in einer automatisch erzeugten Linkgruppe angezeigt wird.
order
Typ: number
Steuere die Reihenfolge dieser Seite beim Sortieren einer automatisch erstellten Gruppe von Links. Niedrigere Nummern werden in der Linkgruppe weiter oben angezeigt.
hidden
Typ: boolean
Standard: false
Verhindert, dass diese Seite in eine automatisch generierte Seitenleistengruppe aufgenommen wird.
badge
Typ: string | BadgeConfig
Füge der Seite in der Seitenleiste ein Abzeichen hinzu, wenn es in einer automatisch generierten Gruppe von Links angezeigt wird.
Bei Verwendung einer Zeichenkette wird das Abzeichen mit einer Standard-Akzentfarbe angezeigt.
Optional kann ein BadgeConfig
Objekt mit den Feldern text
, variant
and class
übergeben werden, um das Abzeichen anzupassen.
attrs
Typ: Record<string, string | number | boolean | undefined>
HTML-Attribute, die dem Seitenlink in der Seitenleiste hinzugefügt werden, wenn er in einer automatisch generierten Gruppe von Links angezeigt wird.
Frontmatter-Schema anpassen
Das Frontmatter-Schema für die Starlight-Inhaltssammlung docs
wird in src/content/config.ts
mit dem docsSchema()
-Helper konfiguriert:
Mehr über Schemata für Inhaltssammlungen erfährst du in „Definieren eines Sammelschemas“ in den Astro-Dokumenten.
docsSchema()
nimmt die folgenden Optionen an:
extend
Typ: Zod-Schema oder Funktion, die ein Zod-Schema zurückgibt
Standard: z.object({})
Erweitere das Schema von Starlight um zusätzliche Felder, indem du extend
in den docsSchema()
Optionen setzt.
Der Wert sollte ein Zod-Schema sein.
Im folgenden Beispiel geben wir einen strengeren Typ für description
an, um es zur Pflicht zu machen und fügen ein neues optionales Feld category
hinzu:
Um die Vorteile der Astro image()
-Hilfe zu nutzen, verwende eine Funktion, die deine Schemaerweiterung zurückgibt: