content.config.ts
Vollständige Referenz für Content Factory, generierte Collections, Quellen, Routen, Schemas und Agent-Metadaten von Ginko Docs.
content.config.ts legt fest, welche Dateien zur Website gehören und welche öffentlichen Routen Ginko Content daraus ableitet. Ginko Docs exportiert eine Factory für das unterstützte Docs-Modell mit optionalem Blog.
import { defineGinkoDocsConfig } from "@lupinum/ginko-docs/content";
export default defineGinkoDocsConfig({
site: {
name: { en: "Example Docs", de: "Example Docs" },
description: {
en: "Documentation for Example.",
de: "Dokumentation für Example.",
},
url: "https://docs.example.com",
},
locales: ["en", "de"],
blog: true,
});Factory-Optionen
interface GinkoDocsContentOptions {
site: {
name: string | { en: string; de: string };
description: string | { en: string; de: string };
url: string;
};
locales?: readonly ["en"] | readonly ["en", "de"];
blog?: boolean;
}| Option | Typ | Standard | Wirkung |
|---|---|---|---|
site.name | string oder { en: string; de: string } | erforderlich | Lokalisierter Seitentitel in Agent-Metadaten |
site.description | string oder { en: string; de: string } | erforderlich | Lokalisierte Beschreibung in Agent-Metadaten |
site.url | string | erforderlich | Absolute Origin für Agent-Links |
locales | ['en'] oder ['en', 'de'] | ['en'] | Exakt unterstütztes Content-Layout; alle anderen Werte werfen einen Fehler |
blog | boolean | false | Ergänzt blog und authors und hält Blogrouten aktiv |
Generierte Collections
Die Factory erstellt immer docs. Nur mit blog: true ergänzt sie blog und authors.
| Collection | Typ | Quelle | Collection-Routenmount | Sitemap | Agent-Markdown |
|---|---|---|---|---|---|
docs | page | Abhängig vom Sprachmodus | /docs auf Englisch, /dokumentation auf Deutsch | Ja | Bereich optional |
blog | page | 2.blog/*.md | /blog | Ja | Bereich blog |
authors | data | authors/**/*.json | Keine | Nein | Nein |
Alle drei Collections verwenden strict: true. Ungültige Dokumente stoppen die Verarbeitung, statt nur eine Warnung auszugeben.
Einsprachige Quellen
Im unterstützten englischen Einsprachenmodus verwendet die Factory diese Struktur:
content/
├── docs/**/*.md
├── 2.blog/*.md # nur mit blog: true
└── authors/**/*.json # nur mit blog: trueDocs liegen unter /docs, Blogbeiträge unter /blog. Collection-i18n bleibt ungesetzt.
Zweisprachige Quellen
Mit mehr als einer Sprache aktiviert die Factory Collection-i18n und verwendet diese sprachrelativen Globs:
content/
├── en/
│ ├── 1.docs/**/*.md
│ ├── 2.blog/*.md # nur mit blog: true
│ └── authors/**/*.json # nur mit blog: true
└── de/
├── 1.dokumentation/**/*.md
├── 2.blog/*.md # nur mit blog: true
└── authors/**/*.json # nur mit blog: trueDas exakte Docs-Quellmuster lautet {1.docs,1.dokumentation}/**/*.md. Routen mounten unter /docs für en und /dokumentation für de. Die Blogroute lautet in beiden Sprachen /blog.
Mit der unterstützten englischen Standardsprache und der Nuxt-I18n-Strategie ergeben sich daraus die öffentlichen Docs-Roots /docs und /de/dokumentation.
Generierte Agent-Konfiguration
Die Factory leitet die Agent-Site aus site ab, aktiviert Metadaten-Frontmatter und verwendet diese Felder in der angegebenen Reihenfolge:
title, description, url, route, locale, section, collection, source, updatedSie erstellt den lokalisierten Bereich optional mit der Reihenfolge 100. Mit blog: true kommt der lokalisierte Bereich blog mit der Reihenfolge 40 hinzu. Landingpages bleiben Eigentum der App und werden nicht als synthetische Content-Einträge dupliziert.
Collection-Invarianten
Das generierte Modell hält eine eindeutige Quelle der Wahrheit:
docsundblogsind routenbasierte Page-Collections.authorsenthält abfragbare Daten und erhält weder öffentliche Route noch Sitemap-Eintrag oder Agent-Seite.- Docs- und Blogseiten aktivieren normalisiertes Raw-Markdown,
llms.txtundllms-full.txt. - Entwürfe sind in der Entwicklung sichtbar, fehlen aber in Produktions-Agent-Ausgabe und öffentlicher Navigation.
- Partials werden nicht zu öffentlichen Seiten.
Verwende defineGinkoDocsConfig() als vollständige Content-Konfiguration. Eine zusätzliche Neudeklaration derselben Collections erzeugt konkurrierende Schemas und Routenregeln.