Zum Inhalt springen
CtrlK

Inhaltsquellen

Markdown und MDX außerhalb von app/routes veröffentlichen und die Originaldatei als einzige Quelle behalten.

Auf dieser Seite

Nutze Inhaltsquellen, wenn dein Markdown bereits an einer anderen Stelle im Repository liegt: ADRs, Paketanleitungen, Änderungsprotokolle oder gemeinsame Dokumentation. Ardo erzeugt beim Build eine schreibgeschützte Routensicht; die Originaldatei bleibt die maßgebliche Quelle.

Ein Verzeichnis zuordnen

import { defineArdoConfig } from "ardo/config"

export default defineArdoConfig({
  title: "Workspace Docs",
  content: [{ from: "../../adr", to: "decisions" }],
})

Aus ../../adr/0001-routing.md wird /decisions/0001-routing. Vorhandenes Frontmatter bleibt erhalten. Andernfalls leitet Ardo den Titel aus der ersten Überschrift oder dem Dateinamen ab und nutzt einen numerischen Dateinamenpräfix für die Reihenfolge in der Seitenleiste.

Einbindung in den Build

Zugeordnetes Markdown und MDX wird zu gewöhnlichen generierten Routen. Es fließt in Seitenleiste, Abschnittssuche, Sitemap, LLM-Textexporte, Weiterleitungen, interne Linkprüfung und Frontmatter-Validierung ein.

Grenze für generierte Dateien

Ardo schreibt die Dateien in das gewählte to-Verzeichnis und kennzeichnet es als generiert. Bearbeite die Originalquelle, niemals die daraus erzeugte Route. Das Plugin löscht kein nicht leeres, von Hand angelegtes Zielverzeichnis. Verwende deshalb einen eigenen Präfix wie decisions/.

Bewusste Grenzen

Inhaltsquellen laden keine entfernten URLs, ersetzen kein CMS und wandeln keine beliebigen Dateitypen um. Sie ordnen lokale Dateien zu. Schema-basierte Sammlungen ergänzen Validierung und typisierte Datensätze.

Schema-basierte Sammlungen

Nutze collections, wenn dieselben lokalen Markdown-Dateien sowohl als Routen erscheinen als auch einer eigenen React-Route als typisierte Build-Daten zur Verfügung stehen sollen:

import { defineArdoConfig } from "ardo/config"
import { defineCollection } from "ardo/vite"

const recipes = defineCollection<{ title: string }>({
  from: "../../recipes",
  to: "recipes",
  schema: (data) => ({ title: String(data.title) }),
})

export default defineArdoConfig({ title: "Docs", collections: { recipes } })

Importiere getCollection<T>() aus virtual:ardo/collections in einer eigenen Route, um typisierte generierte Datensätze zu lesen:

import { getCollection } from "virtual:ardo/collections"

const recipes = getCollection<{ title: string }>("recipes")

Sammlungen bleiben lokal und statisch: Das Schema läuft beim Build; die generierten Seiten durchlaufen anschließend die üblichen Abläufe für Seitenleiste, Suche, Sitemap, Weiterleitungen und LLM-Exporte. Quellpfade sind relativ zum Projekt. Das virtuelle Modul legt daher keine absoluten Dateisystempfade des Autors offen.

Ergänze diese Optionen im versionsgleichen Basic-Beispiel. Die verfassten Dateien bleiben maßgeblich: Der Build erzeugt daraus die Seiten unter /recipes/*; eine eigene React-Route kann dieselben Datensätze anzeigen.

Diese Seite auf GitHub bearbeitenZuletzt aktualisiert: 28. Oktober 2026