Skip to content

FriendsOfREDAXO/github_installer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GitHub Installer

Bidirektionale GitHub-Integration fΓΌr REDAXO - Installiere Module, Templates und Classes aus GitHub-Repositories und lade deine eigenen Inhalte zu GitHub hoch.

πŸš€ Features

πŸ“₯ Installation von GitHub

  • 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

πŸ“€ Upload zu GitHub

  • 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

πŸ“ Repository-Struktur

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)

πŸ“ config.yml Format

Module Konfiguration

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+"

Template Konfiguration

title: "Main Layout Template"
description: "Basis-Layout fΓΌr die Website"
author: "Developer Name"
version: "1.2.0"
redaxo_version: "5.13+"

Class Konfiguration

title: "Demo Helper Class"
description: "Hilfsklasse fΓΌr Demo-Funktionen"
author: "Developer Name"
version: "1.0.0"
redaxo_version: "5.13+"
namespace: "Demo"

πŸ› οΈ Installation & Konfiguration

1. Addon installieren

  1. GitHub Installer in REDAXO installieren
  2. Addon aktivieren

2. Upload-Einstellungen konfigurieren (optional)

FΓΌr das Hochladen zu GitHub:

  1. Backend β†’ Addons β†’ GitHub Installer β†’ Einstellungen
  2. 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

3. GitHub-Token fΓΌr private Repositories (optional)

  1. GitHub β†’ Settings β†’ Developer settings β†’ Personal access tokens
  2. Token mit Repository-Berechtigung erstellen
  3. Token in den Addon-Einstellungen hinterlegen

🎯 Verwendung

Module/Templates/Classes installieren

  1. Backend β†’ Addons β†’ GitHub Installer β†’ Installieren (Module/Templates/Classes)
  2. Repository hinzufΓΌgen (z.B. username/repository)
  3. VerfΓΌgbare Module/Templates/Classes durchsuchen
  4. Installieren oder Neu laden klicken
  5. Assets werden automatisch nach /assets/modules/{key}/ kopiert
  6. Classes werden nach project/lib/ installiert (mit Verzeichnis-Struktur)

Module/Templates/Classes hochladen

  1. Backend β†’ Addons β†’ GitHub Installer β†’ Upload
  2. Modul, Template oder Class aus der Liste auswΓ€hlen
  3. Upload klicken
  4. Beschreibung und Version eingeben
  5. 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}.php oder /classes/{classname}/ mit Struktur

πŸ”§ Asset-Management

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.

🎨 Beispiel-Repository

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

πŸ†• Changelog

Version 1.3.0

  • βœ… 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

Version 1.2.0

  • βœ… 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

Version 1.1.0

  • βœ… Asset-Installation: CSS/JS-Dateien werden automatisch kopiert
  • βœ… Verbesserte UI: Bessere Darstellung von Modulen mit Assets
  • βœ… Cache-Optimierung: Schnellere Repository-Browsing

Version 1.0.0

  • βœ… Basis-Installation: Module und Templates aus GitHub installieren
  • βœ… Repository-Management: GitHub-Repositories verwalten
  • βœ… Multi-Language: Deutsch/Englisch Support

About

Install modules, templates and Classes with Assets from GitHub or upload your own

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages