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