|
Some checks are pending
CI / PHP Lint (push) Waiting to run
CI / PHP Lint (pull_request) Waiting to run
CI / PHP Lint-1 (pull_request) Waiting to run
CI / PHP Lint-1 (push) Waiting to run
CI / Unit Tests & Static Analysis (pull_request) Waiting to run
CI / Unit Tests & Static Analysis (push) Waiting to run
Jede Display-Seite bringt jetzt ihr eigenes Erscheinungsbild mit – der Empfang sieht anders aus als der Tagungsraum nebenan: - eigenes Logo (leer = Logo aus den Einstellungen) - formatfüllendes Hintergrundbild mit einstellbarer Abdunklung (0–90 %), damit die Karte auf hellen Fotos lesbar bleibt - eigene Akzentfarbe für den Knopf (leer = Farbe aus dem Design-Tab) - Karte wahlweise hell oder dunkel; auf Fotos wirkt dunkel meist ruhiger Logo und Hintergrund lassen sich hochladen oder als URL hinterlegen; beim Löschen einer Display-Seite verschwinden die hochgeladenen Dateien mit. Nebenbei aufgeräumt: das Bildfeld (Vorschau + Upload + URL + Entfernen) lag als Funktion in admin/settings.php und wird jetzt von beiden Seiten genutzt – Ui::imageField() für die Darstellung, Upload::resolveField() für die Auswertung. Sicherheit: die Akzentfarbe landet in einem style-Attribut, deshalb wird sie sowohl beim Speichern als auch beim Ausgeben auf eine echte Hex-Farbe geprüft; ein Test hält das fest. Migration 0006, database.sql nachgezogen, 4 neue Tests (42 gesamt), Screenshots ergänzt, Version 2.8.0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| demo | ||
| runner | ||
| .htaccess | ||
| README.md | ||
| screenshots.py | ||
Werkzeuge
Demo-Instanz (tools/demo/build.py)
Baut aus dem Projekt eine lauffähige Kopie ohne Datenbank: Database und
Auth werden durch Stubs mit festen Beispieldaten ersetzt (tools/demo/overlay/).
Das Original bleibt unverändert.
python3 tools/demo/build.py /tmp/uvt-demo
php -S 127.0.0.1:8123 -t /tmp/uvt-demo
Nützlich für:
- Screenshots für die Dokumentation – immer mit denselben Daten
- Smoke-Test – jede Seite einmal rendern, ohne MySQL aufzusetzen
Demo-spezifische Zustände werden über Query-Parameter erreicht:
| Parameter | Wirkung |
|---|---|
?demo=result / ?demo=bulk |
Voucher-Ergebnis bzw. Bulk-Liste auf index.php |
?demo=new |
frisch erzeugter Schlüssel auf admin/api_keys.php |
?anon=1 |
nicht angemeldet (für die Login-Seite) |
?theme=dark |
erzwingt den Dark Mode |
?brand=custom / ?brand=nopanel |
Beispiel-Branding der Login-Seite |
Screenshots (tools/screenshots.py)
Rendert die Bilder aus docs/screenshots/ neu. Voraussetzung ist ein
headless Chromium; der Pfad kommt aus $CHROME_BIN oder wird in den
üblichen Verzeichnissen gesucht.
python3 tools/demo/build.py /tmp/uvt-demo
php -S 127.0.0.1:8123 -t /tmp/uvt-demo &
CHROME_BIN=/usr/bin/chromium python3 tools/screenshots.py
Actions-Runner (tools/runner/)
Compose-Datei und Anleitung, um einen Forgejo-Actions-Runner einzurichten.
Ohne Runner bleiben ci.yml und release.yml in der Warteschlange stehen.
Details: tools/runner/README.md.
Die Skripte sind Hilfsmittel für die Entwicklung – im Betrieb werden sie nicht
benötigt und sind per .htaccess nicht über HTTP erreichbar.