larpaso-website/admin/public/index.html
Pascal Scholz 93178a24e3 Add login-protected admin editor for content and design
Adds a self-service editor at admin.larpaso.de so texts, images, links,
Impressum/Datenschutz, fonts, font sizes and colors can be changed without
a developer. All homepage/legal content moves into content/site.json and
a new content/theme.json drives every CSS color/font/size token; the
Astro pages read from these at build time.

The admin/ service (Node/Express) provides bcrypt+session login with
rate limiting, a schema-driven form UI (including a hex/RGB/alpha color
picker), image upload, and a publish action that runs the Astro build
and republishes into a volume shared with the nginx website container -
so edits go live without redeploying that container.

See DEPLOYMENT_ADMIN.md for the server-side setup steps.
2026-09-21 21:35:09 +02:00

35 lines
1.1 KiB
HTML

<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="robots" content="noindex, nofollow" />
<title>larpaso · Editor</title>
<link rel="stylesheet" href="/admin/style.css" />
</head>
<body>
<header class="topbar">
<h1>larpaso · Editor</h1>
<div class="topbar-actions">
<span id="status" class="status" aria-live="polite"></span>
<button id="save-btn" type="button">Speichern</button>
<button id="publish-btn" type="button" class="btn-accent">Speichern &amp; veröffentlichen</button>
<form method="POST" action="/admin/logout"><button type="submit" class="btn-ghost">Abmelden</button></form>
</div>
</header>
<nav id="section-nav" class="section-nav" aria-label="Abschnitte"></nav>
<main id="sections"></main>
<div id="log" class="build-log" hidden>
<div class="build-log-header">
<span>Build-Ausgabe</span>
<button id="log-close" type="button" class="btn-ghost">Schließen</button>
</div>
<pre id="log-output"></pre>
</div>
<script src="/admin/app.js"></script>
</body>
</html>