Eine kleine Verwaltungsoberfläche für listenbasierte One-Pager. HTML Header, Footer + Eintragslayout ergibt eine Static Page.
Find a file
2025-11-24 15:40:49 +01:00
config Sicherheitsverbesserungen, Markdown-Option für Textarea 2025-08-09 21:44:01 +02:00
.gitignore fix update process 2025-07-31 14:21:37 +02:00
admin.php Korrektur Markdown-Verarbeitung 2025-11-24 15:40:49 +01:00
configHelper.html Unterstützung für Migrate-Arbeiten bei Update, neuer Feldtyp "select", Kategorietyp = "category" 2025-08-03 18:44:37 +02:00
LICENSE Initial commit 2025-07-31 08:21:31 +02:00
logo.svg added logo 2025-07-31 09:56:10 +02:00
migrate.php Sicherheitsverbesserungen, Markdown-Option für Textarea 2025-08-09 21:44:01 +02:00
README.md Unterstützung für Migrate-Arbeiten bei Update, neuer Feldtyp "select", Kategorietyp = "category" 2025-08-03 18:44:37 +02:00

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.html inkl. 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

  1. Projekt auf Webserver kopieren (mind. PHP 8.0, mit SQLite-Unterstützung).
  2. Konfiguration erstellen (mit dem configHelper)
  3. Layout und Templates erstellen
  4. Im Browser auf admin.php zugreifen.
  5. Passwort einrichten.
  6. Mit vergebenem Passwort einloggen.
  7. Einträge hinzufügen/bearbeiten/löschen.
  8. „Static Site generieren“ klicken → index.html wird 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.