diff --git a/.vscode/DEBUG_ANLEITUNG.md b/.vscode/DEBUG_ANLEITUNG.md new file mode 100644 index 0000000..cffd92c --- /dev/null +++ b/.vscode/DEBUG_ANLEITUNG.md @@ -0,0 +1,71 @@ +# DokuWiki S5 Plugin - Debugging Anleitung + +## Entwicklungsumgebung + +Die VSCode-Entwicklungsumgebung ist nun eingerichtet mit: + +### Dateien erstellt: +- `.vscode/tasks.json` - PHP Server Tasks +- `.vscode/settings.json` - PHP & Xdebug Einstellungen +- `.vscode/launch.json` - Debug-Konfigurationen (aktualisiert) +- `.vscode/extensions.json` - Empfohlene Extensions + +## Voraussetzungen + +1. **PHP Xdebug Extension installieren:** + ```bash + sudo apt-get install php-xdebug + ``` + +2. **Xdebug konfigurieren** (`/etc/php/*/mods-available/xdebug.ini`): + ```ini + zend_extension=xdebug.so + xdebug.mode=debug + xdebug.start_with_request=yes + xdebug.client_port=9003 + xdebug.client_host=localhost + xdebug.idekey=VSCODE + ``` + +3. **VSCode Extensions installieren:** + - PHP Debug (xdebug.php-debug) + - PHP Intelephense (bmewburn.vscode-intelephense-client) + +## Verwendung + +### Option 1: Manueller PHP Server Start +1. Terminal öffnen und starten: + ```bash + php -S localhost:8080 -t /home/lotzm/dokuwik-dev/dokuwiki + ``` +2. Debug-Konfiguration "Listen for Xdebug" wählen +3. F5 drücken zum Starten des Debuggers + +### Option 2: Automatischer Start mit VSCode Task +1. **Strg+Shift+P** → "Tasks: Run Task" → "Start PHP Server" +2. Debug-Konfiguration "Listen for Xdebug" wählen +3. F5 drücken + +### Option 3: Automatischer Start beim Debugging +1. Debug-Konfiguration "Launch DokuWiki with Xdebug" wählen +2. F5 drücken - Server startet automatisch im Hintergrund + +### Server stoppen +- **Strg+Shift+P** → "Tasks: Run Task" → "Stop PHP Server" + +## Debugging + +1. Breakpoints in den PHP-Dateien setzen (renderer.php, syntax.php) +2. Im Browser öffnen: `http://localhost:8080` +3. DokuWiki mit S5 Plugin nutzen +4. Debugger stoppt an den Breakpoints + +## URL zum Testen +- DokuWiki: http://localhost:8080 +- Installation (falls nötig): http://localhost:8080/install.php + +## Tipps +- Der PHP Server läuft im Hintergrund als VSCode Task +- Logs sind im Terminal "Task - Start PHP Server" sichtbar +- Bei Problemen: Server stoppen und neu starten +- pathMappings in launch.json passt Pfade zwischen WSL2 und Windows an diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..5f19855 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + "recommendations": [ + "xdebug.php-debug", + "bmewburn.vscode-intelephense-client", + "zobo.php-intellisense" + ] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..c796cf4 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,26 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Listen for Xdebug (Docker)", + "type": "php", + "request": "launch", + "port": 9003, + "pathMappings": { + "/var/www/html": "/mnt/c/Users/lotzm/SynologyDrive/HobbyHimmel/web/wiki.neu.hobbyhimmel.de", + "/var/www/html/lib/plugins/s5": "${workspaceFolder}" + } + }, + { + "name": "Launch DokuWiki with Docker", + "type": "php", + "request": "launch", + "port": 9003, + "pathMappings": { + "/var/www/html": "/mnt/c/Users/lotzm/SynologyDrive/HobbyHimmel/web/wiki.neu.hobbyhimmel.de", + "/var/www/html/lib/plugins/s5": "${workspaceFolder}" + }, + "preLaunchTask": "Start Docker DokuWiki" + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..f58256e --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,17 @@ +{ + // PHP Einstellungen + "php.validate.enable": true, + "php.validate.run": "onType", + + // Xdebug Einstellungen + "php.debug.ideKey": "VSCODE", + + // Datei-Ausschlüsse + "files.exclude": { + "**/.git": true, + "**/.DS_Store": true + }, + + // Automatische Aufgaben + "task.allowAutomaticTasks": "on" +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..d1c791d --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,56 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "Start Docker DokuWiki", + "type": "shell", + "command": "cd /home/lotzm/dokuwik-dev/apache && docker compose up -d", + "problemMatcher": [], + "presentation": { + "reveal": "always", + "panel": "dedicated" + } + }, + { + "label": "Stop Docker DokuWiki", + "type": "shell", + "command": "cd /home/lotzm/dokuwik-dev/apache && docker compose down", + "problemMatcher": [], + "presentation": { + "reveal": "always", + "panel": "dedicated" + } + }, + { + "label": "Restart Docker DokuWiki", + "type": "shell", + "command": "cd /home/lotzm/dokuwik-dev/apache && docker compose restart", + "problemMatcher": [], + "presentation": { + "reveal": "always", + "panel": "dedicated" + } + }, + { + "label": "Show Docker Logs", + "type": "shell", + "command": "cd /home/lotzm/dokuwik-dev/apache && docker compose logs -f", + "isBackground": true, + "problemMatcher": [], + "presentation": { + "reveal": "always", + "panel": "dedicated" + } + }, + { + "label": "Deploy to Live Server", + "type": "shell", + "command": "scp -r /home/lotzm/dokuwik-dev/dokuwiki-plugin-s5/* ssh-w01244fe@w01244fe.kasserver.com:/www/htdocs/w01244fe/wiki.neu.hobbyhimmel.de/lib/plugins/s5/", + "problemMatcher": [], + "presentation": { + "reveal": "always", + "panel": "dedicated" + } + } + ] +} diff --git a/ui/hobbyhimmel/logo.png b/ui/hobbyhimmel/logo.png index 653814e..3abb0eb 100755 Binary files a/ui/hobbyhimmel/logo.png and b/ui/hobbyhimmel/logo.png differ diff --git a/ui/hobbyhimmel/pretty.css b/ui/hobbyhimmel/pretty.css index 3d2ab5a..083768a 100755 --- a/ui/hobbyhimmel/pretty.css +++ b/ui/hobbyhimmel/pretty.css @@ -94,3 +94,11 @@ ul li {list-style-type: square} li {color: #436976; font-weight: bold; } li div.li {color: #000; font-weight:normal; } +/* Slidecontent scrollbar wenn Inhalt zu lang ist */ +.slidecontent { + overflow-y: auto; /* Vertikales Scrollen wenn nötig */ + max-height: calc(100vh - 8em); /* Viewport minus Platz für h1 (oben) und footer (unten) */ + padding-right: 1em; /* Platz für Scrollbar */ + padding-top: 0.5em; + padding-bottom: 2em; /* Extra Abstand zum Footer */ +}