Das @docmd/plugin-openapi-Plugin konvertiert OpenAPI 3.x-Spezifikationsdateien (JSON oder YAML) in strukturierte, durchsuchbare API-Referenzseiten. Gemäß der Zero-JS-Laufzeitphilosophie von Docmd wird jeder Endpunkt, jede Parametertabelle und jedes Schemamodell während der Build-Verarbeitung in statisches HTML kompiliert.
Konfigurationsoptionen
Konfigurieren Sie globale OpenAPI-Rendering-Parameter in docmd.config.json:
| Option | Typ | Standard | Technische Beschreibung |
|---|---|---|---|
info |
boolean |
true |
Zeigt API-Titel, Version und Beschreibung aus dem info-Block der Spezifikation an. |
download |
boolean |
false |
Fügt einen direkten Download-Link für die rohe JSON/YAML-Spezifikationsdatei hinzu. |
summaryOnly |
boolean |
false |
Rendert Methoden- und Pfadzusammenfassungen auf hoher Ebene ohne vollständige Parameterschemas. |
allowRawHtml |
boolean |
false |
Erlaubt unmaskiertes rohes HTML in Spezifikationsbeschreibungszeichenfolgen. |
Globales Konfigurationsbeispiel
{
"plugins": {
"openapi": {
"info": true,
"download": true,
"summaryOnly": false
}
}
}
Verwendung & Syntax
Betten Sie OpenAPI-Spezifikationen mithilfe von umzäunten Codeblöcken ein, die mit openapi versehen sind. Geben Sie relative Dateipfade an, die von Ihrem Dokumentationsquellstamm aus gehen:
```openapi
assets/openapi.json
```
Live Gerenderte Ausgabe
Nachfolgend finden Sie ein interaktives Live-Rendering von assets/docmd-api.json:
docmd Plugin API
The official OpenAPI spec for docmd plugin developers. Use this to integrate docmd with your AI tools or custom build systems.
/hooks
List available hooks
Returns a list of all lifecycle hooks available for plugins.
Responses
| Status | Description |
|---|---|
| 200 | A list of hooks array[string] |
/render
Render markdown
Triggers the rendering engine for a specific markdown string.
Request Body *
application/json
| Field | Type | Description | Example |
|---|---|---|---|
content |
string | ||
context |
object |
Responses
| Status | Description |
|---|---|
| 200 | Rendered HTML string |
Spezifikationsausgabe
Das Plugin parst und rendert:
- HTTP-Methoden-Badges: Farbcodierte Badges (
GET,POST,PUT,PATCH,DELETE). - Endpunkt-Pfade: Parametrisierte Pfadzeichenfolgen.
- Parameter-Tabellen: Name, Position (
path,query,header,cookie), Datentyp, Pflichtfeld-Flag und Beschreibungen. - Anfrage- & Antwort-Modelle: Strukturierte Schematabellen mit Feldtypen, Datenformaten, Einschränkungen und Standardwerten.
- Beispiele & Nutzdaten: Multi-Format-Beispiele für Request-Body und Response-Payloads (
application/json,application/xmlusw.). - Isoliertes Schema-Scrolling: Tief verschachtelte Schematabellen scrollen sauber innerhalb ihres
.oa-table-wrap-Containers, ohne das Seitenlayout horizontal zu verzerren. - Deprecation-Banner: Inline-Warnungen für Endpunkte, die mit
deprecated: truegekennzeichnet sind.
Alle OpenAPI-Spezifikationen werden während der Kompilierung in statisches HTML geparst. Zur Laufzeit werden keine schweren clientseitigen JavaScript-Bibliotheken geladen, was die Seitenladezeiten minimal hält und eine vollständige Suchindizierbarkeit gewährleistet.
Technische Kompatibilität
| Spezifikationsfunktion | Kompatibilitätsstufe |
|---|---|
| OpenAPI 3.x (JSON) | Native Unterstützung |
| OpenAPI 3.x (YAML) | Unterstützt (js-yaml-Abhängigkeit) |
| Swagger 2.0 | Veraltet (Vor dem Build auf OpenAPI 3.x konvertieren) |
| Request- & Response-Beispiele | Vollständige Unterstützung (Einzel- und Mehrfachbeispiele) |
Interne $ref-Schemas |
Vollständige Auflösung |
Polymorphe oneOf / anyOf |
Werden als Union-Typen gerendert |
| Veraltete Operationen | Inline unterstützt |