Migration von MkDocs zu docmd
MkDocs ist ein beliebter Python-basierter Generator. docmd bietet eine ähnliche Markdown-First-Erfahrung. Es verwendet Node.js/Bun für unglaublich schnelle Builds ohne komplexe Python-Erweiterungen.
Schritt 1: Migrations-Engine ausführen
Führen Sie den folgenden Befehl im Stammverzeichnis Ihres bestehenden MkDocs-Projekts aus:
npx @docmd/core migrate --mkdocs
Was automatisch passiert
- Backup: Ihr gesamtes Projekt wird sicher in ein neues Verzeichnis
mkdocs-backup/verschoben. - Content-Migration: Ihr
docs/-Ordner wird in das Stammverzeichnis zurückgespielt, damit docmd ihn verwenden kann. - Config-Generierung: Eine
docmd.config.jsonwird generiert, die Ihresite_nameausmkdocs.ymlextrahiert.
Schritt 2: Setup testen
Sobald der Befehl abgeschlossen ist, können Sie Ihre Inhalte in docmd in der Vorschau anzeigen:
npx @docmd/core dev
Ihre Markdown-Dateien werden kompiliert, aber Ihre Navigations-Sidebar wird leer sein.
Schritt 3: Manuelle Konfiguration
MkDocs verwendet mkdocs.yml, um Site-Navigation und Erweiterungen zu definieren. Sie müssen dieses Setup manuell für docmd übersetzen.
1. Navigations-Einrichtung
In MkDocs ist die Navigation streng im Schlüssel nav der mkdocs.yml definiert.
Erforderliche Aktion: Erstellen Sie eine navigation.json in Ihrem docs/-Ordner.
nav:
- Startseite: index.md
- Leitfaden:
- Einrichtung: setup.md
- Verwendung: usage.md
[
{
"title": "Startseite",
"path": "/"
},
{
"title": "Leitfaden",
"collapsible": true,
"children": [
{ "title": "Einrichtung", "path": "/setup" },
{ "title": "Verwendung", "path": "/usage" }
]
}
]
2. Python-Markdown-Erweiterungen ersetzen
Wenn Sie “Material for MkDocs” verwendet haben, haben Sie sich wahrscheinlich auf Python-Markdown-Erweiterungen für Tabs oder Admonitions verlassen.
Erforderliche Aktion: Konvertieren Sie MkDocs-spezifische Erweiterungs-Syntax in docmds native Container.
Beispiel: Admonitions konvertieren
MkDocs (PyMdown):
!!! note "Optionaler Titel"
Dies ist ein Admonition-Inhaltsblock.
MkDocs verwendet !!!-Syntax für Admonitions, die sich von docmds :::-Syntax unterscheidet. Sie müssen diese manuell konvertieren oder ein Suchen-und-Ersetzen-Tool verwenden.
Mapping:
!!! note→::: callout infooder:::note!!! tip→::: callout tipoder:::tip!!! warning→::: callout warningoder:::warning!!! danger→::: callout dangeroder:::danger!!! example→::: callout info
docmd:
::: callout info "Optionaler Titel"
Dies ist ein Admonition-Inhaltsblock.
:::
Beispiel: Tabs konvertieren
MkDocs (SuperFences):
=== "Tab 1"
Inhalt für Tab 1.
=== "Tab 2"
Inhalt für Tab 2.
docmd:
::: tabs
== tab "Tab 1"
Inhalt für Tab 1.
== tab "Tab 2"
Inhalt für Tab 2.
:::
Nächste Schritte
- docmd hat eine native Suche. Sie müssen kein Such-Plugin konfigurieren.
- Erkunden Sie die Theming-Optionen, um Farben an Ihr altes Material-Theme anzupassen.