Zum Hauptinhalt springen

Einen Blog veröffentlichen

Den integrierten Blog mit einem Content-Schalter und flachen Beitrags- und Autorendateien aktivieren.

Setze blog: true in content.config.ts. Das ist der einzige Schalter für die Blogfunktion: Er erstellt die Collections blog und authors, behält die Blogrouten und ermöglicht der Seitennavigation zu erkennen, dass der Blog vorhanden ist.

content.config.ts
import { defineGinkoDocsConfig } from "@lupinum/ginko-docs/content";

export default defineGinkoDocsConfig({
  site: {
    name: "Acme Docs",
    description: "Documentation for Acme.",
    url: "https://docs.example.com",
  },
  locales: ["en", "de"],
  blog: true,
});

Füge keinen zweiten Blogschalter zu app.config.ts und keine doppelten Blogrouten hinzu. blog: false entfernt die Blog-Collections und die Blogseiten des Layers; die automatische Navigation folgt dem daraus entstehenden Router.

Einen Autor hinzufügen

Lege Autorendatensätze direkt im Verzeichnis authors der jeweiligen Sprache ab:

content/de/authors/acme-team.json
{
  "slug": "acme-team",
  "name": "Acme-Docs-Team",
  "role": "Documentation Engineering",
  "bio": "Das Team pflegt die Produktdokumentation von Acme.",
  "avatar": "/authors/acme-team.png",
  "links": [{ "label": "GitHub", "href": "https://github.com/acme" }]
}

slug, name, role, bio und avatar sind erforderlich. links ist optional. Lege unter content/en/authors/acme-team.json eine passende Datei mit englischem Autorentext an.

Einen Beitrag hinzufügen

Lege Beiträge direkt unter 2.blog ab; der Dateiname wird zum übersetzten Artikelslug:

content/de/2.blog/1.acme-2-verfuegbar.md
---
title: Acme 2 ist verfügbar
description: Was sich mit Acme 2 ändert und wie das Upgrade funktioniert.
badge: Release
date: 2026-07-21
readingTime: 4 Min. Lesezeit
author: authors/acme-team
image: /blog/acme-2.png
---

Beginne mit der Änderung, die Leser verstehen müssen.

## Upgrade-Anforderungen

Beschreibe hier die erforderlichen Arbeiten.

Das Beitragsschema verlangt title, description, date, readingTime und eine author-Referenz. badge und das image für die Übersicht sind optional. Die Autorenreferenz verwendet den Pfad der Data-Collection ohne Dateiendung.

Erstelle die gekoppelte englische Datei unter content/en/2.blog/1.release-2.md. Behalte die numerische Position bei, damit Sprachwechsel, Canonical-Metadaten und Alternate-Links denselben Artikel meinen.

Der Layer veröffentlicht die Blogübersicht unter /blog, sortiert bis zu 50 Beiträge absteigend nach Datum, löst Autorendaten auf und rendert jeden Artikel unter seiner Content-Route.

Per Feed abonnieren

Jede Sprache liefert einen RSS-2.0-Feed an ihrer Blogwurzel: /blog/rss.xml für Englisch und /de/blog/rss.xml für Deutsch. Der Feed enthält die neuesten 50 Beiträge mit absoluten Links, Veröffentlichungsdaten und Autorennamen; die Blogseiten kündigen ihn über einen rel="alternate"-Link an, damit Reader und Crawler ihn automatisch finden. Beide Feeds werden in den statischen Build vorgerendert; mit blog: false verschwinden die Routen zusammen mit den Blogseiten.