Product Logo

Theme-Konfiguration

Diese Referenz wird automatisch aus den Theme-Typdefinitionen und Default-Werten generiert.

EigenschaftTypErforderlichDefaultBeschreibung
matomo{ url: string; siteId: string; privacyUrl: string; }false—Optionale Konfiguration für consent-basiertes Matomo-Tracking.
matomo.urlstringtrue—Basis-URL der Matomo-Instanz.
matomo.siteIdstringtrue—Matomo-Site-ID.
matomo.privacyUrlstringtrue—URL oder Pfad zur Datenschutzerklärung.
glossaryPagestringfalse—URL-Pfad zur Glossar-Seite (z. B. /glossar). Aktiviert die automatische Verlinkung von Glossarbegriffen im Text.
links{ externalIcon?: boolean; }false—Darstellung von Links in Markdown-Inhalten und Theme-Komponenten.
links.externalIconbooleanfalsetrueZeigt ein Symbol hinter externen Textlinks. Standardmäßig deaktiviert; reine Bild- und Icon-Links bleiben unverändert.
feedbackFeedbackPropsfalse—Konfiguration des Feedback-Formulars. Alle Felder sind in FeedbackProps beschrieben.
feedback.feedbackServerUrlstringtrue—URL des Feedback-Servers, an den die Rückmeldungen gesendet werden.
feedback.gitlabProjectIdstringtrue—GitLab-Projekt-ID, unter der die Feedback-Issues erstellt werden.
feedback.headlinestringfalse—Überschrift des Feedback-Formulars.
feedback.descriptionstringfalse—Beschreibungstext des Feedback-Formulars (nur der Text innerhalb des Absatzes).
feedback.buttonTextstringfalse—Beschriftung der Absende-Schaltfläche.
feedback.labelsstring[] | [ ]true—GitLab-Labels, die den erstellten Feedback-Issues zugewiesen werden.
feedback.requiredTextstringtrue—Hinweistext, der die Kennzeichnung von Pflichtfeldern erläutert.
feedback.fieldsFeedbackFieldstrue—Konfiguration der einzelnen Formularfelder (siehe FeedbackFieldConfig).
feedback.fields.emailFeedbackFieldConfigfalse—Konfiguration des E-Mail-Feldes (optional).
feedback.fields.messageFeedbackFieldConfigtrue—Konfiguration des Nachrichten-Feldes (Pflichtfeld).
feedback.shouldCreateConfidentialIssuebooleanfalse—Erstellt das GitLab-Issue als vertraulich (confidential), wenn true. Nur im Developer Mode verfügbar.
feedback.notice{ title: string; body: string; link: { href: string; label: string; }; }false—Optionaler Hinweiskasten, der im Feedback-Formular angezeigt wird.
feedback.notice.titlestringtrue—Titel des Hinweiskastens.
feedback.notice.bodystringtrue—Textkörper des Hinweiskastens.
feedback.notice.link{ href: string; label: string; }true—Weiterführender Link im Hinweiskasten.
feedback.notice.link.hrefstringtrue—Ziel-URL des Links.
feedback.notice.link.labelstringtrue—Beschriftung des Links.
feedback.privacyConsent{ textBeforeLink: string; link: { label: string; href: string; }; textAfterLink: string; }true—Datenschutz-Einwilligung mit Checkbox und Link, die vor dem Absenden bestätigt werden muss.
feedback.privacyConsent.textBeforeLinkstringtrue—Text vor dem Datenschutz-Link.
feedback.privacyConsent.link{ label: string; href: string; }true—Datenschutz-Link (z. B. zur Datenschutzerklärung).
feedback.privacyConsent.link.labelstringtrue—Beschriftung des Datenschutz-Links.
feedback.privacyConsent.link.hrefstringtrue—Ziel-URL des Datenschutz-Links.
feedback.privacyConsent.textAfterLinkstringtrue—Text nach dem Datenschutz-Link.
feedback.afterSubmit{ successText: string; errorText: string; buttonLabel?: string; }true—Texte, die nach dem Absenden des Formulars angezeigt werden.
feedback.afterSubmit.successTextstringtrue—Meldung bei erfolgreichem Absenden.
feedback.afterSubmit.errorTextstringtrue—Meldung bei fehlgeschlagenem Absenden.
feedback.afterSubmit.buttonLabelstringfalse—Beschriftung der Schaltfläche im Bestätigungsdialog.
feedback.classNamestringfalse—CSS-Klasse für den äußeren Container des Feedback-Formulars.
feedback.headlineClassNamestringfalse—CSS-Klasse für die Überschrift.
feedback.descriptionClassNamestringfalse—CSS-Klasse für den Beschreibungstext.
feedback.inputClassNamestringfalse—CSS-Klasse für die Eingabefelder.
feedback.inputLabelClassNamestringfalse—CSS-Klasse für die Feldbeschriftungen.
feedback.textareaClassNamestringfalse—CSS-Klasse für mehrzeilige Textfelder.
feedback.checkboxClassNamestringfalse—CSS-Klasse für die Checkbox.
feedback.btnClassNamestringfalse—CSS-Klasse für die Absende-Schaltfläche.
layoutComponent(props: PropsWithChildren) => ReactNodefalse—Benutzerdefinierte Layout-Komponente, die alle Seiten umschließt.
docsRepositoryBasestringfalse—Veraltet: Basis-URL des Quell-Repositories. Verwenden Sie stattdessen project.link.
project{ link?: string; icon?: ReactNode | FC; }false—Projekt-Link und optionales Icon für die obere Navigation.
project.linkstringfalse—URL zum Quell-Repository (z. B. GitLab-Projektseite).
project.iconReactNode | FCfalse—Icon-Komponente, die neben dem Projekt-Link angezeigt wird.
umbrellaFooterbooleanfalsefalseAktiviert den Dachmarken-Footer (openCode / ZenDiS).
umbrellaHeaderbooleanfalsefalseAktiviert den Dachmarken-Header (openCode / ZenDiS).
i18n{ uiElementTranslation?: { [locale: string]: Partial<typeof messages.en>; }; }false—Übersetzungen für UI-Elemente der Theme-Oberfläche.
i18n.uiElementTranslation{ [locale: string]: Partial<typeof messages.en>; }false—Sprachspezifische Übersetzungen der UI-Bezeichnungen, gegliedert nach Locale-Schlüssel.
bannerFCfalse—Optionale Banner-Komponente, die oberhalb der gesamten Navigation angezeigt wird.
header{ component?: ReactNode | FC; centerElement?: ReactNode | FC; lowerBadgeLogoPath?: string; }false—Konfiguration der Kopfzeile.
header.componentReactNode | FCfalse—Eigene Kopfzeilen-Komponente, die die Standard-Kopfzeile ersetzt.
header.centerElementReactNode | FCfalse—Element, das in der Mitte der Kopfzeile angezeigt wird (z. B. Suchfeld oder Logo).
header.lowerBadgeLogoPathstringfalse—Pfad zum Logo im unteren Badge-Bereich der Kopfzeile.
disableSearchbooleantruefalseDeaktiviert die globale Suchfunktion.
hidePrimaryMenubooleantruefalseBlendet das primäre Navigationsmenü in der Kopfzeile aus.
primaryMenu{ title: string; iconEnabled?: boolean; }false—Konfiguration des primären Navigationsmenüs.
primaryMenu.titlestringtrue—Bezeichnung des primären Menüs.
primaryMenu.iconEnabledbooleanfalse—Zeigt Icons neben den Menüeinträgen an.
faviconGlyphstringfalse—Zeichen oder Emoji, das als Favicon verwendet wird.
accessibilityLanguages{ leichteSpracheHref?: string; gebaerdenSprachenHref?: string; }false—Links zur Leichten Sprache und zur Gebärdensprachen-Version der Website.
accessibilityLanguages.leichteSpracheHrefstringfalse—URL zur Leichte-Sprache-Version.
accessibilityLanguages.gebaerdenSprachenHrefstringfalse—URL zur Gebärdensprachen-Version.
footer{ component?: ReactNode | FC<{ menu: boolean; }>; links?: Array<{ name: string; href: string; column: string; }>; headingLevel?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6"; logo?: ReactNode | FC; description?: ReactNode | FC; copyright?: ReactNode | FC; }true—Konfiguration des Footers.
footer.componentReactNode | FC<{ menu: boolean; }>false[ref:Footer]Eigene Footer-Komponente, die den Standard-Footer ersetzt.
footer.linksArray<{ name: string; href: string; column: string; }>false[array]Footer-Links mit Name, URL und Spaltenzuordnung.
footer.headingLevel"h1" | "h2" | "h3" | "h4" | "h5" | "h6"false—HTML-Überschriftenebene für Spaltenüberschriften im Footer (z. B. "h2").
footer.logoReactNode | FCfalse—Logo-Komponente im Footer.
footer.descriptionReactNode | FCfalsenullBeschreibungstext im Footer (z. B. Kurzbeschreibung der Organisation).
footer.copyrightReactNode | FCfalse[complex]Copyright-Hinweis im Footer.
toc{ disable?: boolean; title?: string; headingLevel?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6"; iconEnabled?: boolean; footer?: ReactNode; }false—Konfiguration des seiteninternen Inhaltsverzeichnisses (TOC).
toc.disablebooleanfalse—Deaktiviert das Inhaltsverzeichnis global für alle Seiten.
toc.titlestringfalse—Überschrift des Inhaltsverzeichnisses.
toc.headingLevel"h1" | "h2" | "h3" | "h4" | "h5" | "h6"false—HTML-Überschriftenebene für den TOC-Titel (z. B. "h2").
toc.iconEnabledbooleanfalse—Zeigt Icons neben den Einträgen im Inhaltsverzeichnis an.
toc.footerReactNodefalse—Inhalt, der unterhalb der TOC-Einträge angezeigt wird (z. B. ein Link oder Hinweis).
headReactNodefalse—Zusätzliche Elemente, die in den HTML-<head> der Seite eingefügt werden (z. B. Meta-Tags).
logoReactNode | FCfalse[jsx]Logo-Komponente, die in der Kopfzeile angezeigt wird.
logoDarkReactNode | FCfalse—Logo für den Dunkelmodus. Ohne Angabe wird logo in beiden Modi genutzt.
logoTextstringfalse""Text, der neben dem Logo angezeigt wird.
logoLinkboolean | stringtruetrueURL des Logo-Links. Mit false wird der Link deaktiviert.
notFound{ content?: ReactNode | FC; labels?: string; }false—Konfiguration der 404-Fehlerseite.
notFound.contentReactNode | FCfalse—Eigener Inhalt der 404-Seite. Hat Vorrang vor der eingebauten, übersetzten Beschreibung; ohne Angabe wird die lokalisierte Standardbeschreibung angezeigt.
notFound.labelsstringfalse—GitLab-Labels, die beim automatischen Erstellen von Issues für fehlerhafte Links vergeben werden.
search{ component?: ReactNode | FC<{ className?: string; }>; emptyResult?: ReactNode | FC; error?: string | (() => string); loading?: ReactNode | FC; placeholder?: string | (() => string); renderResult?: FC<SearchResultRendererProps>; }true—Konfiguration der Suchfunktion.
search.componentReactNode | FC<{ className?: string; }>false[ref:Flexsearch]Eigene Such-Komponente, die die Standard-Suche ersetzt.
search.emptyResultReactNode | FCfalse[complex]Anzeige, wenn keine Suchergebnisse gefunden wurden.
search.errorstring | (() => string)false—Fehlermeldung bei einem Suchfehler.
search.loadingReactNode | FCfalse—Ladeanzeige während der Suche.
search.placeholderstring | (() => string)false—Platzhaltertext im Suchfeld.
search.renderResultFC<SearchResultRendererProps>false—Eigener Renderer für einzelne Suchergebnis-Einträge. Erhält Titel, Inhalt, Route und den aktuellen Suchbegriff.
sidebar{ disable: boolean; autoCollapse?: boolean; defaultMenuCollapseLevel: number; toggleButton: boolean; }true—Konfiguration der Seitenleiste.
sidebar.disablebooleantruetrueDeaktiviert die Seitenleiste global.
sidebar.autoCollapsebooleanfalse—Klappt beim Öffnen eines Bereichs alle anderen automatisch zu.
sidebar.defaultMenuCollapseLevelnumbertrue2Einrückungstiefe, ab der Untermenüs standardmäßig eingeklappt werden.
sidebar.toggleButtonbooleantruetrueZeigt die Schaltfläche zum Ein- und Ausblenden der Seitenleiste an.
editPage{ enabled: boolean; description?: string; repoBaseUrl: string; icon?: "auto" | "edit" | "github" | "opencode" | "gitlab" | "none"; }true—Konfiguration des „Seite bearbeiten"-Links.
editPage.enabledbooleantruefalseAktiviert den „Seite bearbeiten"-Link auf jeder Seite.
editPage.descriptionstringfalseDiese Seite bearbeitenBeschriftung des „Seite bearbeiten"-Links.
editPage.repoBaseUrlstringtrue""Basis-URL zum Quell-Repository (z. B. https://gitlab.example.com/org/repo/-/blob/main/dokument).
editPage.icon"auto" | "edit" | "github" | "opencode" | "gitlab" | "none"falseautoIcon-Stil für den „Seite bearbeiten"-Link. auto wählt anhand der repoBaseUrl automatisch.
themeThemeProviderPropsfalse—Konfiguration des Farbschemas (hell/dunkel/System) über next-themes.

FeedbackFieldConfig

EigenschaftTypErforderlichBeschreibung
labelstringtrueBeschriftung, die über dem Feld angezeigt wird.
placeholderstringtruePlatzhaltertext innerhalb des Eingabefelds.
requiredbooleanfalseWenn true, muss das Feld ausgefüllt werden, bevor das Formular abgesendet werden kann.
typeHTMLInputTypeAttribute | "textarea" | "select" | "multiselect"falseEingabetyp des Feldes. Zusätzlich zu den Standard-HTML-Eingabetypen werden "textarea", "select" (Einfachauswahl) und "multiselect" (Mehrfachauswahl) unterstützt. Ohne Angabe wird ein einfaches Textfeld verwendet.
descriptionReactNodefalseOptionaler Hilfetext, der neben dem Feld angezeigt wird.
optionsstring[]falseAuswählbare Werte. Nur relevant, wenn type auf "select" oder "multiselect" gesetzt ist.
allowCustombooleanfalseNur wirksam, wenn type auf "multiselect" gesetzt ist. Fügt der Auswahlliste einen Eintrag „Sonstige“ hinzu; bei dessen Auswahl erscheint ein Freitextfeld, über das Nutzende einen eigenen, nicht in options enthaltenen Wert angeben können. Bei allen anderen Feldtypen wird die Option ignoriert.