Ordner-Meta
Konfiguriere eine Sidebar-Gruppe mit einer meta.ts-Datei neben ihren Seiten — lege Titel, Icon und Reihenfolge der Gruppe sowie die Reihenfolge der darin verschachtelten Seiten fest.
Jeder Ordner in deinem Content-Baum wird zu einer Sidebar-Gruppe. Lege eine meta.ts neben die Seiten, um zu steuern, wie diese Gruppe aussieht und wie ihre Kinder sortiert werden. Das ist völlig optional: ohne eine solche Datei ist die Bezeichnung der Gruppe der lesbar aufbereitete Ordnername, und ihre Seiten werden nach Index, numerischem Präfix und dann alphabetisch sortiert.
Meta definieren
Exportiere ein defineMeta-Objekt für eine vollständig typisierte Konfiguration. Lege die Datei im Wurzelverzeichnis des Ordners ab, den sie konfiguriert — guides/meta.ts konfiguriert die Gruppe Guides:
import { defineMeta } from "blume";
export default defineMeta({
title: "Guides",
icon: "book-open",
order: 2,
collapsed: false,
pages: ["configuration", "theming", "deployment"],
});
Jedes Feld ist optional — setze nur das, was du überschreiben möchtest.
Felder
| Feld | Typ | Beschreibung |
|---|---|---|
title |
string |
Die Bezeichnung der Gruppe. Standardmäßig der lesbar aufbereitete Ordnername. |
icon |
string |
Icon, das neben der Bezeichnung angezeigt wird. |
order |
number |
Position unter gleichrangigen Gruppen und Seiten. Niedrigere Zahlen werden zuerst einsortiert. |
collapsed |
boolean |
Legt im Anzeigemodus group fest, ob die Gruppe eingeklappt startet. |
pages |
string[] |
Explizite Reihenfolge der Kinder der Gruppe, nach Slug. |
Das pages-Array listet die Kinder nach Slug auf — dem Ordner- oder Dateinamen ohne numerisches Präfix und ohne Klammern (aus 01-quickstart.mdx wird also "quickstart"). Kinder, die du weglässt, erscheinen trotzdem, und zwar nach den aufgeführten.
Wie Gruppen dargestellt werden — als flache Überschriften, aufklappbare Bereiche oder Drill-in-Panels — ist eine sidebarweite Einstellung, nicht pro Ordner: siehe Anzeigemodi.
Berechnetes Meta
Da meta.ts ein echtes Modul ist, kannst du das Meta berechnen — übergib statt eines Objekts eine Funktion (synchron oder async), um es beim Scan aufzubauen. Praktisch, um Seiten anhand einer externen Quelle zu sortieren:
import { defineMeta } from "blume";
export default defineMeta(async () => ({
title: "Guides",
pages: await orderFromCms(),
}));
Reihenfolge innerhalb einer Gruppe
Das pages-Array legt die Reihenfolge der Kinder einer Gruppe fest. Alles, was es auslässt, fällt auf das sidebar.order im Frontmatter der jeweiligen Seite zurück und danach auf das Dateisystem (zuerst eine index-Seite, dann numerische Präfixe, dann alphabetisch). Die vollständige Sidebar-Rangfolge — einschließlich einer expliziten Sidebar-Konfiguration — findest du unter Navigation › Reihenfolge.
Um Seiten zu gruppieren, ohne ein URL-Segment hinzuzufügen, brauchst du überhaupt keine meta.ts: verwende einen geklammerten Ordnernamen — siehe Seiten › Gruppenordner.
Internationalisierung
Unter i18n wird Ordner-Meta pro Locale aufgelöst: lege eine meta.ts unter fr/guides/ ab, um die französische Gruppe unabhängig zu sortieren.
Für Ordner-Meta, das in jeder Sprache identisch ist, füge eine $-Markierung hinzu, damit eine Datei ohne Duplizierung alle Locales bedient:
docs/guides/meta.$.ts (folder meta applied to every locale)
Eine locale-spezifische meta.ts überschreibt die gemeinsame meta.$.ts für diese Sprache weiterhin.