102 lines
4.2 KiB
Markdown
102 lines
4.2 KiB
Markdown
# Ferienwohnungen Wolframm – Projektkontext
|
||
|
||
## Was ist das?
|
||
|
||
Hugo-basierte statische Website als WordPress-Ersatz für www.iwz-ferienwohnungen.de.
|
||
Drei Ferienwohnungen in Kaufbeuren-Hirschzell / Allgäu.
|
||
|
||
## Stack
|
||
|
||
- **Static Site Generator**: Hugo (keine externe Abhängigkeit, einzelne .exe)
|
||
- **Hosting**: Bunny.net (Bunny CDN / Storage Zone, kostenpflichtig nach Traffic)
|
||
- **DNS**: Bunny.net DNS oder weiterhin IONOS (siehe Umzug-Notizen, ggf. anzupassen)
|
||
- **Domain-Registrar**: IONOS (bleibt so)
|
||
- **Buchungskalender**: webplanner.de (externer Dienst, per Link eingebunden)
|
||
- **Git**: eigene Gitea-Instanz (kein GitHub/GitLab, kein CI/CD-Workflow)
|
||
- **Deploy**: manuell per `deploy.bat` oder `deploy.py` → `hugo --gc --minify` + Upload nach Bunny.net Storage Zone (per Bunny-API/FTP, analog zum Ansatz in `.github/workflows/deploy.yml`-Vorlage, aber lokal statt als GitHub Action)
|
||
|
||
## Projektstruktur
|
||
|
||
```
|
||
iwz/
|
||
├── hugo.toml # Konfiguration: baseURL, Menü, Kontaktdaten (Params)
|
||
├── deploy.bat # Windows: hugo build + wrangler deploy
|
||
├── deploy.py # Python-Alternative zum deploy.bat
|
||
├── content/
|
||
│ ├── _index.md # Startseite
|
||
│ ├── preise.md # Preistabelle + Buchungsbedingungen
|
||
│ ├── ausflugsziele.md
|
||
│ ├── kontakt.md
|
||
│ ├── impressum.md # PLATZHALTER – echte Daten eintragen!
|
||
│ ├── datenschutz.md # PLATZHALTER – rechtskonform ersetzen!
|
||
│ └── ferienwohnungen/
|
||
│ ├── _index.md
|
||
│ ├── fewo1.md # 45 qm, bis 4 Pers., 60 €/Nacht
|
||
│ ├── fewo2.md # 40 qm, bis 3 Pers., 55 €/Nacht
|
||
│ └── fewo3.md # 56 qm, bis 5 Pers., 100 €/Nacht
|
||
├── layouts/ # Hugo-Templates (kein externes Theme!)
|
||
│ ├── index.html # Startseite: Hero, Highlights, FeWo-Karten
|
||
│ ├── _default/
|
||
│ │ ├── baseof.html # Basis-Template (nav + footer)
|
||
│ │ ├── single.html # Standard-Einzelseite
|
||
│ │ └── list.html # Listenansicht (Ferienwohnungen-Übersicht)
|
||
│ ├── ferienwohnungen/
|
||
│ │ └── single.html # FeWo-Detailseite: Galerie + Buchungsbutton
|
||
│ └── partials/
|
||
│ ├── head.html # <meta>, CSS-Link
|
||
│ ├── nav.html # Navigation (mobil-responsive)
|
||
│ └── footer.html # Footer mit Kontakt + Links
|
||
└── static/
|
||
├── css/style.css # Reines CSS, CSS Variables, Dark Mode
|
||
├── js/main.js # Nur mobiles Menü-Toggle
|
||
└── images/ # Fotos hier ablegen
|
||
```
|
||
|
||
## Frontmatter der FeWo-Seiten
|
||
|
||
Jede `fewoX.md` hat folgende Felder:
|
||
```yaml
|
||
groesse: "45 qm"
|
||
personen: 4
|
||
preis: 60
|
||
belegungsplan: "https://www.webplanner.de/XXXXXX/fewo1"
|
||
bilder:
|
||
- "/images/fewo1_wohnzimmer.jpg"
|
||
- "/images/fewo1_kueche.jpg"
|
||
```
|
||
|
||
## Noch offen / TODO
|
||
|
||
- [x] Echte webplanner.de-URLs in fewo1/2/3.md eintragen (`belegungsplan`)
|
||
- [x] Fotos in `static/images/` ablegen + in fewoX.md verlinken
|
||
- [x] Telefon, E-Mail, Adresse in `hugo.toml` unter `[params]` eintragen
|
||
- [x] `content/impressum.md` mit echten Pflichtangaben füllen
|
||
- [x] `content/datenschutz.md` durch rechtskonforme Version ersetzen
|
||
- [x] Bunny.net-Account anlegen + Storage Zone für die Seite erstellen
|
||
- [x] Bunny Storage-Passwort besorgen, sicher hinterlegen (`.env`, nicht ins Git)
|
||
- [x] `deploy.bat` / `deploy.py` um Upload zur Bunny Storage Zone erweitern (FTP, Port 21, passiv)
|
||
- [ ] Bunny Pull Zone / CDN vor die Storage Zone schalten (Auslieferung + HTTPS)
|
||
- [ ] Domain-Anbindung an Bunny klären (DNS bei IONOS auf Bunny zeigen lassen, oder DNS zu Bunny umziehen)
|
||
|
||
## Lokaler Dev-Server
|
||
|
||
```powershell
|
||
hugo server
|
||
# → http://localhost:1313
|
||
```
|
||
|
||
## Deploy
|
||
|
||
Deploy läuft lokal per Skript (kein CI/CD, da Repo bei Gitea liegt). Referenz für den Bunny-Upload-Schritt ist die Vorlage `.github/workflows/deploy.yml` (GitHub-Actions-Syntax), deren Build- und Deploy-Logik 1:1 in `deploy.bat`/`deploy.py` nachgebaut wird:
|
||
|
||
```powershell
|
||
hugo --gc --minify
|
||
# danach: Upload von ./public zur Bunny.net Storage Zone
|
||
# (Storage Zone Name + API-Key/Storage-Passwort als Secrets/env, nicht im Git)
|
||
|
||
# Bei jeder Änderung:
|
||
deploy.bat
|
||
# oder:
|
||
python deploy.py
|
||
```
|