Zum Hauptinhalt springen

Bereitstellung

Wähle statisches oder Nitro-Hosting, baue die passende Ausgabe und prüfe vor dem Release alle öffentlichen Oberflächen.

Ginko Docs unterstützt statisches Hosting und Nitro-Deployments. Entscheide anhand der benötigten Laufzeitfunktionen: Beide Ziele können dieselben gerenderten Inhalte ausliefern.

Deployment-Ziel wählen

FunktionStatischer HostNitro-Server, Serverless oder Hybrid
Dokumentations- und BlogseitenVorgerendertes HTMLVorgerendert oder durch Nitro gerendert
Navigation und MiniSearchIn generierten Assets enthaltenIn Anwendungs-Assets enthalten
Sitemap, Robots und Social ImagesGenerierte DateienGenerierte Dateien, die mit der Anwendung ausgeliefert werden
/raw/**.mdGenerierte DateienVerfügbar
/llms.txt und /llms-full.txtGenerierte DateienVerfügbar
Lokalisierte Raw- und LLM-RoutenGenerierte DateienVerfügbar
Accept: text/markdown auf einer Seiten-URLNeinJa
Agent-Link- und Content-Signal-Response-HeaderKeine Middleware zur LaufzeitJa
/mcp mit list-pages und get-pageNeinJa
Provider-Zugriffe zur Request-ZeitNein; Inhalte stehen beim Build festJa, wenn der Provider sie unterstützt

Das Menü zum Kopieren von Markdown verwendet die explizite Raw-Route. Es funktioniert auf statischem Hosting, wenn die generierten /raw/**.md-Dateien ausgeliefert werden. Die Einträge für ChatGPT, Claude und MCP sind Darstellungsoptionen; Änderungen an markdownActions aktivieren oder deaktivieren keine Server-Routen.

Statische Website generieren

Starte die Nuxt-Generierung in der konsumierenden Anwendung:

Terminal
pnpm generate

Deploye das vollständige Verzeichnis .output/public. Ginko Content liefert öffentliche Seitenrouten, Raw-Markdown und LLM-Kataloge an den Prerender-Prozess. Der Layer fordert außerdem /sitemap.xml, /robots.txt, /llms.txt und /llms-full.txt explizit an.

Stelle das generierte Verzeichnis vor dem Release über HTTP bereit:

Terminal
pnpm dlx serve .output/public

Das Öffnen einer HTML-Datei über file:// testet weder Host-Routing noch Asset-Pfade, Weiterleitungen oder Fallbacks.

Nitro-Deployment bauen

Baue den Produktionsserver und prüfe ihn lokal:

Terminal
pnpm build
pnpm preview

Deploye .output mit dem vom Host benötigten Nitro-Preset. Provider-Clients und Zugangsdaten gehören ausschließlich in Server-Dateien. Der Dateisystem-Provider verwendet den beim Build erzeugten Content-Snapshot; ein externer Provider kann zur Request-Zeit lesen, wenn Laufzeit und Zugangsdaten am Ziel verfügbar sind.

Markdown-Aushandlung auf derselben URL und /mcp benötigen Nitro für die Verarbeitung des Requests. Ein CDN kann diese Antworten cachen, muss aber den Accept-Header weiterleiten, wenn Markdown-Aushandlung verwendet wird.

Öffentliche URLs konsistent halten

Verwende überall dieselbe Produktions-Origin:

site.json
{
  "name": "Example Docs",
  "description": "Dokumentation für Example.",
  "url": "https://docs.example.com"
}
content.config.ts
import { defineGinkoDocsConfig } from "@lupinum/ginko-docs/content";
import site from "./site.json" with { type: "json" };

export default defineGinkoDocsConfig({
  site,
});
app/app.config.ts
import site from "../site.json";

export default defineAppConfig({
  ginkoDocs: {
    site: {
      url: site.url,
    },
  },
});
nuxt.config.ts
import site from "./site.json" with { type: "json" };

export default defineNuxtConfig({
  extends: ["@lupinum/ginko-docs"],
  site: { url: site.url },
  i18n: { baseUrl: site.url },
});

Ginko Docs verwendet die URL aus App Config für Canonical-, Alternate-, Raw- und MCP-Links. Ginko Content verwendet die URL aus Content Config in Agent-Katalogen.

Ausgelieferte Ausgabe prüfen

Prüfe das Deployment selbst, nicht nur das lokale Build-Log:

  • Lade Startseite, erste Dokumentationsseite, eine verschachtelte Seite und eine fehlende URL direkt.
  • Öffne repräsentative Seiten in jeder konfigurierten Sprache und kontrolliere Canonical- und Alternate-Links.
  • Folge Bereichsumschalter, Sidebar-Links, Vor-/Zurück-Links und Suchergebnissen.
  • Prüfe, ob /sitemap.xml, /robots.txt, /llms.txt und /llms-full.txt mit dem erwarteten Content-Type antworten.
  • Rufe eine generierte /raw/**.md-URL ab und prüfe, dass Entwürfe und private Daten fehlen.
  • Fordere auf Nitro eine Seite mit Accept: text/markdown an und rufe /mcp nur auf, wenn diese Funktionen Teil des Deployment-Vertrags sind.
  • Prüfe Browser- und Server-Logs auf Hydration-Fehler, fehlende Assets und fehlgeschlagene Social-Image-Routen.