Von Docusaurus migrieren zu docmd
Docusaurus ist ein beliebtes Dokumentations-Framework, das auf React basiert. docmd bietet eine schnelle, konfigurationsfreie Alternative, die wesentlich schneller kompiliert und keine React-Komponenten erfordert, um umfangreiche Funktionen zu rendern.
Schritt 1: Führen Sie die Migrations-Engine aus
Führen Sie den folgenden Befehl im Hauptverzeichnis Ihres bestehenden Docusaurus-Projekts aus (dort, wo sich Ihre docusaurus.config.js oder docusaurus.config.ts befindet):
npx @docmd/core migrate --docusaurus
Was passiert automatisch
- Backup: Ihr gesamtes Projekt (mit Ausnahme von
node_modulesund.git) wird sicher in ein neuesdocusaurus-backup/-Verzeichnis verschoben. - Inhaltsmigration: Ihr
docs/-Ordner wird im Stammverzeichnis wiederhergestellt, damitdocmdihn verwenden kann. - Konfigurationsgenerierung: Eine
docmd.config.jswird generiert, die Ihren Website-titleaus Ihrer Docusaurus-Konfiguration extrahiert.
Schritt 2: Testen Sie das Setup
Sobald der Befehl abgeschlossen ist, können Sie Ihre Markdown-Inhalte sofort in docmd in der Vorschau anzeigen:
npx @docmd/core dev
Ihre Markdown-Dateien werden kompiliert, aber Ihre Navigations-Sidebar bleibt zunächst leer.
Schritt 3: Manuelle Konfiguration
Docusaurus verfügt über komplexe programmatische Konfigurationen, die docmd nicht zu erraten versucht. Diese müssen Sie manuell zuordnen.
1. Navigations-Setup
Docusaurus-Sidebars werden häufig automatisch generiert oder in der sidebars.js konfiguriert.
Aktion erforderlich: Erstellen Sie eine navigation.json in Ihrem neuen docs/-Verzeichnis, um Ihre docmd-Sidebar zu strukturieren. Weitere Informationen finden Sie im Navigations-Leitfaden.
2. MDX-Komponenten ersetzen
Docusaurus verlässt sich stark auf MDX (.mdx), um benutzerdefinierte React-Komponenten (wie Tabs, Admonitions oder benutzerdefinierte UI-Elemente) darzustellen. docmd wird rein über Markdown gesteuert und verwendet kein React.
Aktion erforderlich: Sie müssen alle benutzerdefinierten <MyReactComponent />-Tags in Standard-Markdown konvertieren oder die nativen Container von docmd verwenden.
Beispiel: Admonitions (Callouts) konvertieren
Docusaurus:
:::tip My Tip
This is a helpful tip.
:::
docmd: (Keine Änderung erforderlich! docmd unterstützt von Haus aus Admonitions im Docusaurus-Stil als Callouts).
::: tip "My Tip"
This is a helpful tip.
:::
Beispiel: Tabs konvertieren
Docusaurus:
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
<Tabs>
<TabItem value="apple" label="Apple" default>
This is an apple.
</TabItem>
<TabItem value="orange" label="Orange">
This is an orange.
</TabItem>
</Tabs>
docmd: (Konvertieren in die native docmd-Tab-Container-Syntax)
::: tabs
== tab "Apple"
This is an apple.
== tab "Orange"
This is an orange.
:::
3. Lokalisierung (i18n)
Wenn Sie die i18n-Funktionen von Docusaurus verwendet haben, befanden sich Ihre übersetzten Dateien wahrscheinlich in i18n/locale/docusaurus-plugin-content-docs/current/.
Aktion erforderlich: Verschieben Sie diese Dateien in die Verzeichnisstruktur von docmd (docs/en/, docs/de/ usw.) und konfigurieren Sie die Sprachen in der docmd.config.js. Weitere Informationen finden Sie im Lokalisierungs-Leitfaden.
Nächste Schritte
- Entdecken Sie die Layout & UI-Einstellungen, um Ihr Docusaurus-Theme nachzubilden.
- Konvertieren Sie React-basierte Hero-Header in
docmdHero-Container.