Starlight ist ein auf Astro basierendes Dokumentations-Theme. docmd bietet eine ähnliche Standard-Zero-JavaScript-Erfahrung, ohne vollständige Web-Framework-Konfigurationen oder komplexe Astro-Integrationen zu erfordern.
1. Ausführen der Migrations-Engine
Führen Sie den folgenden Befehl im Stammverzeichnis Ihres bestehenden Starlight-Projekts aus:
npx @docmd/core migrate --starlight
pnpm dlx @docmd/core migrate --starlight
yarn dlx @docmd/core migrate --starlight
bunx @docmd/core migrate --starlight
Was automatisch passiert
- Backup: Ihr gesamtes Projektverzeichnis (ausgenommen
node_modules,.git,package.jsonund Lockfiles) wird sicher in ein neuesstarlight-backup/-Verzeichnis gesichert. - Inhalts-Migration: Starlight speichert die Dokumentation in
src/content/docs/. Die Migrations-Engine extrahiert diesen Ordner und verschiebt dessen Inhalt in den Stammordnerdocs/. - Konfigurations-Generierung: Eine
docmd.config.jsonwird generiert, die Ihren Website-titleaus der Starlight-Integration inastro.config.mjsoderastro.config.tsextrahiert.
2. Vorschau der Migrations-Ausgabe
Zeigen Sie Ihre Markdown-Inhalte sofort in docmd an:
npx @docmd/core dev
pnpm dlx @docmd/core dev
yarn dlx @docmd/core dev
bunx @docmd/core dev
3. Manuelle Konfiguration & Komponenten-Ersatz
Navigations-Einrichtung
Starlight definiert die Seitenleisten-Navigation in astro.config.mjs über das Array sidebar. Erstellen Sie eine navigation.json in Ihrem docs/-Verzeichnis:
Starlight (astro.config.mjs):
sidebar: [
{
label: "Guides",
items: [
{ label: "Setup", link: "/guides/setup/" }
]
}
]
docmd (navigation.json):
[
{
"title": "Guides",
"collapsible": true,
"children": [
{ "title": "Setup", "path": "/guides/setup" }
]
}
]
Ersetzen von Astro-Komponenten (MDX / Markdoc)
Starlight verwendet Astro-Komponenten, die über MDX oder Markdoc eingebettet werden. Ersetzen Sie diese durch native docmd- Container.
Konvertierung von Tab-Komponenten
Starlight:
import { Tabs, TabItem } from '@astrojs/starlight/components';
<Tabs>
<TabItem label="Stars">Sirius, Vega, Betelgeuse</TabItem>
<TabItem label="Moons">Io, Europa, Ganymede</TabItem>
</Tabs>
docmd:
::: tabs
== tab "Stars" icon:sparkles
Sirius, Vega, Betelgeuse
== tab "Moons" icon:moon
Io, Europa, Ganymede
::: /tabs
Konvertierung von Asides (Admonitions)
Starlight:
:::note[Optional Title]
Some note content.
:::
docmd:
::: callout info title:"Optional Title"
Some note content.
::: /callout
Frontmatter-Zuordnung
Starlight erzwingt eine strikte Frontmatter-Typisierung über Astro-Content-Collections. Wenn Sie hero- oder banner-Frontmatter-Eigenschaften für Landingpages verwendet haben, ersetzen Sie diese durch native Hero-Bereiche von docmd, die direkt im Markdown-Fließtext geschrieben werden.
Nächste Schritte
- Erkunden Sie das integrierte Such-Plugin von
docmd. Während Starlight auf eine Pagefind-Integration angewiesen ist, enthältdocmddirekt einen schnellen, Zero-Config-lokalen Such-Indexierer.