Skip to content

Commit e111f71

Browse files
committed
Moin Welt
1 parent db2df05 commit e111f71

File tree

18 files changed

+2999
-20
lines changed

18 files changed

+2999
-20
lines changed

.gitignore

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
# Dependencies
2+
node_modules/
3+
npm-debug.log*
4+
yarn-debug.log*
5+
yarn-error.log*
6+
package-lock.json
7+
8+
# Monaco Editor Build (wird dynamisch erstellt)
9+
assets/monaco-editor/
10+
assets/monaco-version.json
11+
assets/monaco-loader.js
12+
13+
# REDAXO spezifische Ignores
14+
cache/
15+
data/
16+
log/
17+
18+
# Development
119
.DS_Store
220
.definition
321
.dislap
@@ -12,3 +30,6 @@ modules.xml
1230
.idea/vcs.xml
1331
.idea/encodings.xml
1432
*.ipr
33+
Thumbs.db
34+
*.tmp
35+
*.temp

MONACO_SETUP.md

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# Monaco Editor Setup für Code Editor AddOn
2+
3+
## Überblick
4+
5+
Das Code Editor AddOn verwendet eine **lokale Monaco Editor Installation** statt CDN, um maximale Verfügbarkeit in Notfallsituationen zu gewährleisten.
6+
7+
## Installation & Setup
8+
9+
### 1. Dependencies installieren
10+
```bash
11+
cd src/addons/code
12+
npm install
13+
```
14+
15+
### 2. Monaco Editor lokal bauen
16+
```bash
17+
npm run build
18+
```
19+
20+
### 3. Monaco Editor aktualisieren
21+
```bash
22+
npm run update-monaco
23+
```
24+
25+
## Ordnerstruktur nach Build
26+
27+
```
28+
src/addons/code/
29+
├── assets/
30+
│ ├── monaco-editor/ # Lokale Monaco Editor Dateien
31+
│ │ └── vs/ # Monaco Core Files
32+
│ ├── monaco-loader.js # Lokaler Monaco Loader
33+
│ ├── monaco-version.json # Version Info
34+
│ ├── code-editor.js # Hauptlogik (mit lokalem Monaco)
35+
│ └── code-editor.css # Styles
36+
├── package.json # NPM Dependencies
37+
├── build.js # Build Script
38+
└── node_modules/ # NPM Dependencies (nicht im Git)
39+
```
40+
41+
## Funktionsweise
42+
43+
1. **Lokaler Load**: AddOn lädt Monaco Editor aus `assets/monaco-editor/`
44+
2. **CDN Fallback**: Falls lokal nicht verfügbar, automatischer CDN-Fallback
45+
3. **Versionskontrolle**: `monaco-version.json` trackt aktuelle Version
46+
4. **Cache-Busting**: Automatische Cache-Invalidierung bei Updates
47+
5. **Vollbild-Modus**: F11 oder Vollbild-Button für bessere Übersicht
48+
49+
## Updates
50+
51+
### Monaco Editor auf neue Version aktualisieren
52+
```bash
53+
npm run update-monaco
54+
```
55+
56+
### Nur Build ohne Update
57+
```bash
58+
npm run build
59+
```
60+
61+
### Nach Updates
62+
- Dateien nach `public/assets/addons/code/` kopieren
63+
- Browser-Cache leeren
64+
- AddOn neu laden
65+
66+
## Vorteile der lokalen Installation
67+
68+
**Offline-Verfügbarkeit** - Funktioniert ohne Internet
69+
**Notfall-sicher** - Kein CDN-Ausfall-Risiko
70+
**Kontrollierte Updates** - Manuelle Version-Upgrades
71+
**Performance** - Lokale Dateien, kein externes Loading
72+
**Sicherheit** - Keine externen Dependencies zur Laufzeit
73+
**Vollbild-Editor** - F11 oder Button für ablenkungsfreies Arbeiten
74+
75+
## Entwicklung
76+
77+
### Monaco Editor Version prüfen
78+
```bash
79+
cat assets/monaco-version.json
80+
```
81+
82+
### Build-Output prüfen
83+
```bash
84+
ls -la assets/monaco-editor/vs/
85+
```
86+
87+
### Fallback testen
88+
```javascript
89+
// In Browser Console
90+
delete window.monaco;
91+
// Seite neu laden - sollte CDN-Fallback verwenden
92+
```
93+
94+
## Troubleshooting
95+
96+
### Problem: Monaco Editor lädt nicht
97+
1. Build ausführen: `npm run build`
98+
2. Dateien nach public kopieren
99+
3. Browser-Cache leeren
100+
101+
### Problem: Veraltete Version
102+
1. `npm run update-monaco`
103+
2. Dateien synchronisieren
104+
3. AddOn neu starten
105+
106+
### Problem: CDN-Fallback aktiviert
107+
- Prüfe ob lokale Dateien existieren: `assets/monaco-editor/vs/loader.js`
108+
- Build neu ausführen
109+
- Dateiberechtigungen prüfen
110+
111+
## Deployment
112+
113+
Für Produktionsumgebung:
114+
1. `npm install --production`
115+
2. `npm run build`
116+
3. Nur `assets/` Ordner deployen
117+
4. `node_modules/` **nicht** deployen

README.md

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,37 @@
1-
# rex_repo_template
2-
REDAXO AddOn english readme
1+
# Code Editor & File Browser AddOn
32

4-
please use in your classes a namespace as
3+
Ein einfacher File Browser mit integriertem Monaco Code Editor für REDAXO, basierend auf dem Design des NextCloud AddOns.
54

6-
```
7-
namespace FriendsOfRedaxo\[AddOnNameWithoutSpacesAndAsCamelCase]
8-
```
5+
## Features
96

10-
in order to use non deprecated features please don't use PlugIns anymore
7+
- **File Browser** - Durchsuchen aller Projektdateien im NextCloud-Design
8+
- **Code Editor** - Monaco Editor (VS Code) Integration
9+
- **Live Suche** - Volltext-Suche in allen Code-Dateien
10+
- **Backup System** - Automatische Backups vor Änderungen
11+
- **REDAXO Integration** - Nutzt PJAX und rex:ready Events
12+
- **Admin Only** - Nur für Administratoren verfügbar
1113

12-
## composer.json
14+
## Verwendung
1315

14-
this composer.json ensures that no vendors used by the core will be installed
16+
1. **File Browser**: Navigieren Sie durch die Dateien wie im NextCloud AddOn
17+
2. **Datei bearbeiten**: Doppelklick oder Edit-Button öffnet den Monaco Editor
18+
3. **Speichern**: Strg+S oder Save-Button
19+
4. **Suchen**: Code-Suche findet Text in allen unterstützten Dateien
20+
5. **Backups**: Automatische Sicherung, Wiederherstellung möglich
21+
22+
## Unterstützte Dateitypen
23+
24+
PHP, HTML, CSS, JavaScript, JSON, XML, SQL, Markdown, YAML, und viele mehr.
25+
26+
## Monaco Editor
27+
28+
- **Version**: 0.45.0 (CDN)
29+
- **Update**: Einfach Version in `main.php` ändern
30+
- **Features**: Syntax Highlighting, IntelliSense, Fehlermarkierung
31+
32+
## Sicherheit
33+
34+
- Nur Admin-Zugriff
35+
- Pfad-Validierung
36+
- Backup vor jeder Änderung
37+
- Htaccess-Schutz für Backups

0 commit comments

Comments
 (0)