Eine kleine Verwaltungsoberfläche für listenbasierte One-Pager. HTML Header, Footer + Eintragslayout ergibt eine Static Page.
| config | ||
| .gitignore | ||
| admin.php | ||
| configHelper.html | ||
| LICENSE | ||
| logo.svg | ||
| migrate.php | ||
| README.md | ||
miniEeeas
- Extensible
- Environment for
- Easy
- Admin &
- Scripting
Eine kleine Verwaltungsoberfläche für listenbasierte One-Pager. HTML Header, Footer + Eintragslayout ergibt eine Static Page.
Features
- Passwortgeschützter Adminbereich
- Konfigurierbare Felder über
config/config.json - Felder: Dateiuploads (z.B. Bilder), Text, Textarea, Number, Select
- optionale Kategorisierung von Einträgen (Einträge ohne Kategorie werden automatisch am Ende unter „Sonstige“ einsortiert)
- Sortierung innerhalb von Kategorien über ein
order-Feld oder Drag & Drop - Filterfunktion in der Eintragsliste
- Flexible Schema-Erweiterung beim Start (neue Felder in
config.json→ automatische Migration) - Generierung einer statischen
index.htmlinkl. Templates - CSRF Schutz
- Update Funktion
Struktur
/
├── admin.php # Hauptbackend
├── logo.svg # Logo als png oder svg-Datei
├── config/
├── config.json # Felddefinition + Kategorien
├── layout.html # Template für jeden Eintrag
├── header.html # Layout Seitenbeginn
├── footer.html # Layout Seitenende
└── category.html # Optional: Template Trenner zwischen Kategorien (z.B. <h2>{{category}}</h2>)
├── version.txt # Datei mit Version-String (automatisch erstellt)
├── uploads/ # Uploadverzeichnis für Dateien (automatisch erstellt)
├── index.html # Generierte statische Seite (automatisch erstellt)
├── db/
└── db.db # SQLite-Datenbank (automatisch erstellt)
└── _backup/ # Backupverzeichnis für Dateistände vor Aktualisierung (automatisch erstellt)
Beispiel: config/config.json
{
"title": { "label": "Titel", "type": "text" },
"desc": { "label": "Beschreibung", "type": "textarea" },
"status": { "label": "Status", "type": "select", "options": ["Online", "Offline"] },
"image": { "label": "Bild", "type": "file", "mimetypes": ["image/jpeg","image/png"] },
"category": { "label": "Kategorie", "type": "categoy" },
"order": { "label": "Reihenfolge", "type": "number" },
"_categories": ["Tools", "Skripte", "Vorlagen"]
}
- Ein Feld "title" ist erforderlich.
- Ein Feld "order" (optional) aktiviert die Sortierbarkeit.
- Ein Feld "category" (optional) aktiviert die Kategorisierbarkeit, sofern "_categories" (Array) definiert sind.
Nutzung
- Projekt auf Webserver kopieren (mind. PHP 8.0, mit SQLite-Unterstützung).
- Konfiguration erstellen (mit dem configHelper)
- Layout und Templates erstellen
- Im Browser auf
admin.phpzugreifen. - Passwort einrichten.
- Mit vergebenem Passwort einloggen.
- Einträge hinzufügen/bearbeiten/löschen.
- „Static Site generieren“ klicken →
index.htmlwird erstellt.
Platzhalter
- Reguläre Platzhalter sind die Variablennamen in doppelten geschweiften Klammern
{{title}}. - Zusätzlich gibt es eine Systemvariable
{{id}} - Die Klammer
[[if desc]] [[endif]]gibt die umklammerten Daten nur aus, wenn !empty(desc) - Der Platzhalter
{{category}}ist im category.html Template nutzbar
Lizenz
MIT – frei nutzbar und veränderbar.