Das docmd 0.7.0 Release ist ein großer Schritt nach vorn — es führt native Multi-Sprachen-Unterstützung (i18n) mit einem integrierten Übersetzungssystem und echte Zero-Config-Standardwerte ein, bei denen alle Core-Plugins standardmäßig aktiv sind.
✨ Highlights
🌍 Internationalisierung (i18n)
docmd bietet nun erstklassige i18n-Unterstützung. Konfigurieren Sie mehrere Sprachen (Locales), und docmd baut für jede Sprache eine vollständige, lokalisierte Version Ihrer Website — mit sprachengebundenen URLs (/de/, /zh/), übersetzten UI-Strings und automatischer Spracherkennung.
Jede Sprache lebt in ihrem eigenen Unterverzeichnis — einschließlich der Standardsprache. Dies hält Ihr Quellverzeichnis sauber und macht die Struktur auf einen Blick verständlich:
docs/
en/ ← Standard-Sprache (gerendert unter /)
de/ ← Deutsch (gerendert unter /de/)
zh/ ← Chinesisch (gerendert unter /zh/)
Die Sprach-IDs, Ordnernamen und die Standardsprache sind völlig frei wählbar — en, de, fr, ja oder jede andere ID, die Sie bevorzugen.
Dies beinhaltet pro Sprache separate Suchindizes, die automatisch über Ihre Versionen hinweg erstellt werden, sowie übersetzte UI-Komponenten für offizielle Plugins wie Suche und Threads!
🚀 Zero-Config Core-Plugins
In 0.7.0 verfolgt docmd eine echte Zero-Config-Philosophie. Alle offiziellen Core-Plugins (search, seo, sitemap, pwa, analytics, llms, mermaid) sind nun standardmäßig automatisch enthalten. Sie müssen sie nicht mehr manuell in Ihrem plugins-Array deklarieren, um sie zu nutzen.
Wenn Sie ein Core-Plugin deaktivieren möchten, können Sie es einfach auf false setzen.
📝 Vollständiger Changelog
🌍 i18n-Architektur
- Saubere Sprachverzeichnisse: Jede Sprache (einschließlich der Standardeinstellung) lebt in ihrem eigenen Unterverzeichnis innerhalb von
src. - Sprachgebundene URL-Generierung: Der Build-Prozess erstellt nun verschachtelte Verzeichnisse für jede konfigurierte Sprache.
- Fallback pro Datei: Nicht-Standard-Sprachen übernehmen Seiten aus der Standardsprache, wenn eine Übersetzung fehlt, ergänzt durch einen automatischen Warnhinweis.
- Navigation pro Sprache: Jedes Sprachverzeichnis kann eine eigene
navigation.jsonhaben. - Versionierung + i18n: Alte Versionen ohne Sprachverzeichnisse werden nur in der Standardsprache gerendert.
- Übersetzte UI-Strings: Natives Übersetzungssystem für alle UI-Elemente und Templates unter Verwendung von JSON-Sprachdateien.
- Plugin i18n-API: Plugins unterstützen nun einen neuen
translations(localeId)-Hook. - Global Search Locales: Der lokale MiniSearch-Index wird nun pro Sprache erstellt.
- String Mode (
stringMode: true): Ein neuer i18n-Modus für noStyle-Seiten — generieren Sie lokalspezifisches HTML aus einer einzigen Quelldatei mittelsdata-i18n-Attributen.
🔌 Plugin-System & Engine
- Auto-Aktivierung von Core-Plugins: Zero-Config-Standards bieten die komplette docmd-Suite ohne Konfigurationsaufwand.
- Optimierung der Asset-Generierung: Statische Ressourcen werden nur noch einmal im Root-Verzeichnis gebaut.
🎨 UI & Container
- Container
icon:Parameter: Callouts, Cards, ausklappbare Abschnitte und Buttons akzeptieren jetzt einenicon:Parameter für Lucide-Icons. titleAppendFrontmatter-Option: Ermöglicht das Unterdrücken des automatischen Seiten-Suffixes im<title>-Tag.- Pillen-Design für Versionen & Sprachen: Dropdowns in der Seitenleiste werden nun als kompakte Pillen-Buttons nebeneinander gerendert.
- Konfigurations-Hot-Reload: Änderungen an der
docmd.config.jslösen im Entwicklungsmodus nun automatisch einen Rebuild aus.
🐛 Fehlerbehebungen (Bug Fixes)
- Konflikte zwischen Versionierung und i18n bei alten Verzeichnissen ohne Sprachunterordner gelöst.
- Fehlerhafte URL-Duplikation beim Sprachwechsel in alten Versionen korrigiert.
- Diverse Korrekturen an der automatischen Navigationssuche und der Titel-Generierung.
🧪 Qualitätssicherung
Das 0.7.0 Release hat eine umfassende Test-Suite mit über 25 Szenarien und 85 Einzelprüfungen erfolgreich bestanden.
⚠️ Breaking Changes
- Kurznamen von Drittanbieter-Plugins werden nicht mehr automatisch aufgelöst (vollständiger Paketname erforderlich).
pnpm onboardwurde entfernt und inpnpm prepintegriert.- Das PWA-Plugin ist nun ein optionales Plugin und nicht mehr standardmäßig enthalten (nutzen Sie
docmd add pwa).
Migrationleitfaden
Aktualisieren Sie mittels npm install docmd@latest. Dann:
- Entfernen Sie Core-Plugins aus Ihrem
plugins-Array, sofern diese mit Standardeinstellungen genutzt wurden. - Aktualisieren Sie Drittanbieter-Plugins auf ihren vollständigen Paketnamen.