Zum Inhalt springen

Admin-UI

Das Admin-UI ist die Browser-Oberfläche, über die Redakteure Inhalte bearbeiten, Bilder hochladen und Änderungen veröffentlichen.

Übersicht

Das Admin-UI wird automatisch unter dem in adminPath konfigurierten Pfad bereitgestellt (Standard: /admin). Es läuft vollständig im Browser und kommuniziert über serverseitige API-Routen mit dem GitHub-Adapter.

Page Builder

Sections einer Seite verwalten und anordnen.

Section-Editor

Felder bearbeiten, Bilder hochladen, Vorschau sehen.

Collections

Wiederholbare Einträge (Blog, Produkte, etc.) verwalten.

Login

Beim ersten Aufruf von /admin wird der Nutzer zum Login weitergeleitet. Setzkasten unterstützt zwei Auth-Provider:

GitHub OAuth

Der User muss Schreibrechte auf das konfigurierte Repository haben. Keine weitere Konfiguration nötig.

Google OAuth

Zugriff wird über die allowedEmails-Liste gesteuert. Ideal für Teams ohne GitHub-Accounts.

Page Builder

Der Page Builder zeigt alle Sections einer Seite in der Reihenfolge an, wie sie im Astro-Template definiert sind. Von hier aus kannst du:

  • Sections adoptieren — Eine .astro-Section wird erkannt und kann vom CMS verwaltet werden.
  • Inhalte bearbeiten — Klick auf eine Section öffnet den Section-Editor.
  • Live-Preview — Änderungen werden in Echtzeit in der Vorschau angezeigt.

Section-Editor

Im Section-Editor werden alle Felder einer Section angezeigt, gruppiert nach dem Schema aus setzkasten.config.ts. Der Editor unterstützt:

  • Textfelder — Einzeilig, mehrzeilig oder mit Formatierung (MiniRTE).
  • Bilder hochladen — Drag & Drop oder Datei-Auswahl, automatisch in assetsPath committed.
  • Arrays — Einträge hinzufügen, entfernen und per Drag & Drop sortieren.
  • Speichern — Änderungen werden als Git-Commit ins Repository geschrieben.

Collections

Collections sind wiederholbare Inhaltstypen wie Blog-Posts, Teammitglieder oder Produkte. Im Admin-UI können Redakteure:

  • Neue Einträge erstellen
  • Bestehende Einträge bearbeiten und löschen
  • Einträge filtern und durchsuchen