aYOUne
translate
Not in your language

This page is not yet available in en. You're reading the de version.

Hub Module

Das Hub-Modul liefert die Inhalte für die Self-Documentation — Wiki-Pages, FAQs, Glossare, Knowledge-Bases. Es ist der Backbone hinter ayoune.com/de/docs/.... Routing: hub-api.ayoune.app.

Hauptentitäten

KnowledgeBases

Eine KB ist ein Buch — sie bündelt zusammengehörige WikiPages.

Feld Hinweis
slug URL-Pfad-Segment, z.B. developer-portal
title Display
description 1-2 Zeilen
theme Farb-Schema (indigo, emerald, amber, ...)
icon Material-Icon
published bool
order Sortierung in Hub-Sidebar

Beispiel-KBs (siehe kbSeeder.ts INITIAL_KBS):

Slug Theme Icon
cli slate terminal
developer-portal indigo code
admin-handbook emerald shield
self-hosting amber server
api-reference teal plug
release-notes violet calendar

WikiPages

Einzelne Markdown-Seiten innerhalb einer KB.

Feld Hinweis
kbslug KB-Zugehörigkeit (auch im Frontmatter erlaubt)
slug unique pro KB
parentSlug Hierarchie (optional)
order Sort within Parent (10er-Schritten)
title H1
locale de, en, ...
contentFormat markdown / html
body Roh-Inhalt
bodyHtml Gerendert (von worker-content-modifications)
tags string[]
published bool

FAQs

Q&A-Format. Enger als WikiPages — gedacht für Schnellinfos.

slug: how-do-i-reset-password
question: "Wie setze ich mein Passwort zurück?"
answer: "Auf der Login-Seite ..."
category: account

Glossaries

Glossar-Einträge, die im Wiki-Render automatisch verlinkt werden (siehe linkGlossaryTerms im Render-Worker).

Feld Hinweis
term "AY Singleton"
definition Markdown
aliases ["AY", "ay-instance"]

Routen

GET  /knowledgebases
GET  /knowledgebases/:slug
GET  /wikipages
GET  /wikipages?kbslug=developer-portal
GET  /wikipages/:id
POST /wikipages
PATCH /wikipages/:id
POST /wikipages/:id/actions/publish
POST /wikipages/:id/actions/translate

GET  /faqs
GET  /glossaries

Suche

Hub nutzt Atlas-Search (siehe Self-Hosting → Kubernetes). Index: hub_search über wikipages + faqs + glossaries.

GET /search?q=auth+jwt&kbslug=developer-portal

Antwort enthält Highlights, Score und Cross-Refs.

Render-Pipeline

Wenn eine WikiPage gespeichert wird, läuft worker-content-modifications:

  1. Markdown → HTML
  2. Sanitize (XSS-Schutz)
  3. Glossar-Linking
  4. Mermaid → SVG
  5. TOC-Generation
  6. Cross-Link-Auflösung (wiki:<kb>/<slug> → URL)
  7. Hash-Check (Idempotenz)
  8. bodyHtml aktualisiert
  9. Pub/Sub wikipage.renderedconsumer-app invalidiert Cache

CLI-Workflow

ay create wikipages "Mein Beitrag" \
  --set kbslug=developer-portal \
  --set slug=mein-beitrag \
  --set body="# Hi" \
  --set published=true

ay exec hub:seed --file ./tooling/cli/docs/pages/de/...   # Bulk-Import

Der Seeder liest kbslug aus dem Frontmatter — sonst zweites Pfad-Segment, sofern in der Whitelist (developer-portal | admin-handbook | self-hosting | api-reference | release-notes).

Verbindungen