Bidirektionale GitHub-Integration fΓΌr REDAXO - Installiere Module, Templates und Classes aus GitHub-Repositories und lade deine eigenen Inhalte zu GitHub hoch.
- Browse und installiere Module/Templates/Classes aus GitHub-Repositories
- Asset-UnterstΓΌtzung: CSS/JS-Dateien werden automatisch kopiert nach
/assets/modules/{key}/bzw./assets/templates/{key}/ - Class-Support: PHP-Classes werden nach
project/lib/installiert mit Verzeichnis-Struktur - File-basiertes Caching fΓΌr bessere Performance
- UnterstΓΌtzung fΓΌr private Repositories mit GitHub-Tokens
- Multi-Language Support (Deutsch/Englisch)
- Sauberes Repository-Management
- Bidirektionale Synchronisation: Lade deine lokalen REDAXO Module/Templates/Classes zu GitHub hoch
- Settings-Integration: Einmalige Repository-Konfiguration (Owner, Repository, Branch, Author)
- Intelligente Ordnernamenerkennung: Verwendet Modul-Keys (z.B. "gblock") statt IDs
- VollstΓ€ndiger Upload: input.php, output.php, config.yml, README.md werden automatisch generiert
- Class-Upload: PHP-Classes aus
project/lib/mit Verzeichnis-Struktur - Γberschreiben: Vorhandene Module/Templates/Classes werden aktualisiert
Dein GitHub-Repository sollte folgende Struktur haben:
repository/
βββ modules/
β βββ module_key/ # z.B. "gblock", "text-simple"
β βββ config.yml # Modul-Konfiguration
β βββ input.php # Eingabe-Template
β βββ output.php # Ausgabe-Template
β βββ README.md # Dokumentation (optional)
β βββ assets/ # CSS/JS-Dateien (optional)
β βββ styles.css
β βββ script.js
βββ templates/
β βββ template_key/ # z.B. "main-layout"
β βββ config.yml # Template-Konfiguration
β βββ template.php # Template-Inhalt
β βββ README.md # Dokumentation (optional)
β βββ assets/ # CSS/JS-Dateien (optional)
β βββ template.css
β βββ template.js
βββ classes/
βββ SimpleClass.php # Einzelne Class-Datei
βββ SimpleClass.md # Dokumentation (optional)
βββ ComplexClass/ # Class mit Verzeichnis-Struktur
βββ ComplexClass.php # Haupt-Class-Datei
βββ README.md # Dokumentation (optional)
βββ config.yml # Class-Konfiguration (optional)
title: "01 - Gridblock (gruppierte BlΓΆcke)"
description: "Flexibles Spaltenraster-System fΓΌr REDAXO"
author: "Falko MΓΌller"
version: "1.0.0"
redaxo_version: "5.13+"title: "Main Layout Template"
description: "Basis-Layout fΓΌr die Website"
author: "Developer Name"
version: "1.2.0"
redaxo_version: "5.13+"title: "Demo Helper Class"
description: "Hilfsklasse fΓΌr Demo-Funktionen"
author: "Developer Name"
version: "1.0.0"
redaxo_version: "5.13+"
namespace: "Demo"- GitHub Installer in REDAXO installieren
- Addon aktivieren
FΓΌr das Hochladen zu GitHub:
- Backend β Addons β GitHub Installer β Einstellungen
- Upload-Repository konfigurieren:
- Owner: Dein GitHub-Username (z.B.
skerbis) - Repository: Repository-Name (z.B.
stuff) - Branch: Ziel-Branch (z.B.
main) - Author: Dein Name fΓΌr die Metadaten
- Owner: Dein GitHub-Username (z.B.
- Private Repositories: Zugriff auf nicht-ΓΆffentliche Repositories
- HΓΆhere Rate-Limits: GitHub erlaubt mehr API-Anfragen mit Token
- Upload-FunktionalitΓ€t: Zum Hochladen von Modulen/Templates/Classes zu GitHub
-
GitHub β Settings β Developer settings β Personal access tokens β Fine-grained tokens
-
Generate new token
-
Token-Name vergeben (z.B. "REDAXO GitHub Installer")
-
Repository access auswΓ€hlen:
- All repositories (fΓΌr alle Repositories) oder
- Only select repositories (fΓΌr bestimmte Repositories)
-
Erforderliche Berechtigungen auswΓ€hlen:
Repository permissions:
Nur zum Installieren (Lesen):
- β
Contents:
Read-only(Repository-Inhalte lesen) - β
Metadata:
Read-only(automatisch gesetzt)
Zum Installieren UND Hochladen:
- β
Contents:
Read and write(Repository-Inhalte lesen und schreiben) - β
Metadata:
Read-only(automatisch gesetzt)
Alle anderen Berechtigungen sind NICHT erforderlich:
- β Actions
- β Administration
- β Codespaces
- β Commit statuses
- β Discussions
- β Environments
- β Issues
- β Pull requests
- β etc.
- β
Contents:
-
Expiration festlegen (empfohlen: 90 Tage oder weniger)
-
Token generieren und sofort kopieren (wird nur einmal angezeigt!)
-
Token in REDAXO einfΓΌgen: Backend β Addons β GitHub Installer β Einstellungen
β οΈ Token niemals ΓΆffentlich teilen oder in Code committen- π Token mit minimalen Berechtigungen erstellen
- π Token regelmΓ€Γig erneuern (Ablaufdatum setzen)
- ποΈ Ungenutzte Token lΓΆschen
- Backend β Addons β GitHub Installer β Installieren (Module/Templates/Classes)
- Repository hinzufΓΌgen (z.B.
username/repository) - VerfΓΌgbare Module/Templates/Classes durchsuchen
- Installieren oder Neu laden klicken
- Assets werden automatisch nach
/assets/modules/{key}/kopiert - Classes werden nach
project/lib/installiert (mit Verzeichnis-Struktur)
- Backend β Addons β GitHub Installer β Upload
- Modul, Template oder Class aus der Liste auswΓ€hlen
- Upload klicken
- Beschreibung und Version eingeben
- Das System erstellt automatisch:
- Module:
/modules/{key}/config.yml,input.php,output.php,README.md - Templates:
/templates/{key}/config.yml,template.php,README.md - Classes:
/classes/{classname}.phpoder/classes/{classname}/mit Struktur
- Module:
Das Addon unterstΓΌtzt automatisches Asset-Management:
- Bei Installation: CSS/JS-Dateien werden von
{repository}/modules/{key}/assets/nach/assets/modules/{key}/kopiert - Bei Upload: Lokale Assets werden automatisch mit hochgeladen
- UnterstΓΌtzte Dateien: .css, .js, .scss, .less, .jpg, .png, .gif, .svg, etc.
Siehe: https://github.com/skerbis/stuff
stuff/
βββ modules/
β βββ gblock/
β β βββ config.yml
β β βββ input.php
β β βββ output.php
β β βββ assets/
β β βββ gblock.css
β βββ text-simple/
β βββ config.yml
β βββ input.php
β βββ output.php
βββ templates/
β βββ main-layout/
β βββ config.yml
β βββ template.php
β βββ assets/
β βββ layout.css
β βββ layout.js
βββ classes/
βββ SimpleHelper.php
βββ DemoHelper/
βββ DemoHelper.php
βββ README.md
βββ config.yml
- β Class-Support: VollstΓ€ndige UnterstΓΌtzung fΓΌr PHP-Classes
- β Verzeichnis-Struktur: Classes werden mit korrekter Ordner-Struktur installiert
- β Architecture-Refactor: Getrennte Install- und Update-Manager
- β UI-Verbesserungen: Konsistente BenutzeroberflΓ€che fΓΌr alle Typen
- β Terminologie: "Neu laden" statt "Aktualisieren" fΓΌr bessere Klarheit
- β Bidirektionale Synchronisation: Upload-FunktionalitΓ€t hinzugefΓΌgt
- β Asset-UnterstΓΌtzung: Automatisches Kopieren von CSS/JS-Dateien
- β Settings-Integration: Repository-Konfiguration im Backend
- β Intelligente Ordnernamen: Verwendet Modul-Keys statt IDs
- β VollstΓ€ndiger Upload: Automatische Generierung von config.yml und README.md
- β Asset-Installation: CSS/JS-Dateien werden automatisch kopiert
- β Verbesserte UI: Bessere Darstellung von Modulen mit Assets
- β Cache-Optimierung: Schnellere Repository-Browsing
- β Basis-Installation: Module und Templates aus GitHub installieren
- β Repository-Management: GitHub-Repositories verwalten
- β Multi-Language: Deutsch/Englisch Support