# robbis.space

Die Website von **Robbi** basiert auf [Kirby CMS](https://getkirby.com) und wird auf `https://robbis.space` gehostet.

---

## Für Entwickler: So funktioniert der Workflow

### Voraussetzungen

- Git-Zugang zum Repo: `https://gitea.mindboost.team/rorapp/robbis.space.git`
- Schreibrechte auf dem `main`-Branch

### Repository klonen

```bash
git clone https://gitea.mindboost.team/rorapp/robbis.space.git
cd robbis.space
```

### Lokale Entwicklung

Kirby läuft ohne Datenbank – alle Inhalte liegen als Dateien im `content/`-Ordner. Für eine lokale Vorschau reicht ein einfacher PHP-Server:

```bash
php -S localhost:8000
```

Danach ist die Seite unter `http://localhost:8000` und das Panel unter `http://localhost:8000/panel` erreichbar.

> **Hinweis:** Die Datei `site/config/config.php` enthält die URL-Konfiguration für die Produktionsumgebung. Lokal kann es sein, dass Kirby eine Warnung wegen der URL zeigt – das ist normal und beeinflusst die Entwicklung nicht.

### Änderungen deployen

Das Deployment läuft vollautomatisch über einen Gitea-Webhook:

1. Änderungen committen und auf `main` pushen
2. Gitea löst automatisch einen Webhook aus
3. Der Server führt `git pull` im Produktionsverzeichnis aus
4. Die Änderungen sind sofort live auf `https://robbis.space`

```bash
git add .
git commit -m "Beschreibung der Änderung"
git push origin main
```

> Pushes auf andere Branches lösen **kein** Deployment aus. Nur `main` wird automatisch deployed.

### Projektstruktur

```
├── assets/          # CSS, JS, Bilder (Theme-Dateien)
├── content/         # Alle Seiteninhalte als Textdateien
├── kirby/           # Kirby CMS Core (nicht bearbeiten)
├── media/           # Automatisch generierter Cache (nicht committen)
├── site/
│   ├── blueprints/  # Panel-Konfiguration (Felder, Layouts)
│   ├── config/      # Kirby-Konfiguration
│   ├── plugins/     # Erweiterungen
│   ├── snippets/    # Wiederverwendbare Template-Teile
│   └── templates/   # Seitentemplates
└── index.php        # Einstiegspunkt
```

### Was gehört ins Repo, was nicht?

| Gehört rein | Gehört **nicht** rein |
|---|---|
| `content/` | `media/` (automatisch generiert) |
| `assets/` | `site/accounts/` (Benutzerkonten) |
| `site/` | `site/sessions/` (Sitzungsdaten) |
| `kirby/` | `site/cache/` (Cache) |

Die `.gitignore` ist bereits entsprechend konfiguriert.

---

Fragen zum Setup? Wende dich an Robbi.
