Product Logo

Architektur

easyWebsite ist ein Werkzeug-Ökosystem, mit dem aus Markdown-Dateien barrierefreie, statische Webseiten im KERN-UX- oder Bundes-Design entstehen. Diese Seite erklärt die Architekturentscheidungen und warum es zwei Nutzungsvarianten gibt.

Zwei Nutzungsvarianten

easyWebsite richtet sich an zwei unterschiedliche Zielgruppen mit grundlegend verschiedenen Anforderungen — und bietet deshalb zwei klar getrennte Varianten:

Easy ModeDeveloper Mode
ZielgruppeRedakteur:innen, Autor:innenEntwickler:innen
VoraussetzungKein technisches Vorwissen nötigKenntnisse in Next.js und React
AnpassbarkeitEingeschränkt (CLI-Optionen)Vollständig
SetupCI/CD-Pipeline konfigurierenEigenes Next.js-Projekt

Easy Mode

Wer Inhalte veröffentlichen möchte, ohne sich mit Code zu befassen, nutzt den Easy Mode. Hier schreibt man Markdown-Dateien, konfiguriert das Projekt über Umgebungsvariablen in der GitLab CI/CD-Pipeline — den Rest übernimmt die markdown-webbook CLI automatisch:

  1. Erstellt ein temporäres Next.js-Projekt aus einem internen Template
  2. Kopiert die Markdown-Inhalte hinein
  3. Generiert Konfigurationsdateien (theme.config.tsx, next.config.mjs, _app.tsx, _document.tsx)
  4. Führt den Next.js-Build aus
  5. Liefert statisches HTML

Architekturschaubild des Easy Modes

Autor:innen sehen zu keinem Zeitpunkt generierten Code. Dafür sind Anpassungen auf die verfügbaren CLI-Optionen beschränkt — eigene Komponenten oder abweichende Layouts sind nicht möglich.

Developer Mode

Wer volle Kontrolle über Layout, Komponenten und Verhalten braucht, setzt ein eigenes Next.js-Projekt auf und bindet die easyWebsite-Packages direkt als npm-Abhängigkeiten ein:

  • @document-writing-tools/kernux-theme — Layout, Navigation, Suche, Feedback, MDX-Komponenten
  • @document-writing-tools/kernux-react — Kern UX Design System React-Komponenten

Architekturschaubild des Developer Modes

Das eigene Projekt kann beliebig erweitert werden: zusätzliche Seiten, eigene React-Komponenten, angepasstes Styling. Im Gegenzug ist technisches Wissen über Next.js und React Voraussetzung.

Technologie-Stack

easyWebsite baut auf folgenden Open-Source-Technologien auf:

TechnologieRolle
Next.jsReact-Framework, SSG, Routing
ReactUI-Bibliothek
KERN-UXDesign-System der öffentlichen Verwaltung
Tailwind CSSUtility-first CSS-Framework
FlexsearchClient-seitige Volltextsuche
ZodSchema-Validierung

Package-Registrierung

Alle Packages werden sowohl auf npm als auch in der GitLab Package Registry auf openCode veröffentlicht.

npm — keine zusätzliche Konfiguration nötig, direkt installierbar:

openCode GitLab Registry — erfordert einen Eintrag in der .npmrc: