4.2 KiB
4.2 KiB
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.batoderdeploy.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:
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
- Echte webplanner.de-URLs in fewo1/2/3.md eintragen (
belegungsplan) - Fotos in
static/images/ablegen + in fewoX.md verlinken - Telefon, E-Mail, Adresse in
hugo.tomlunter[params]eintragen content/impressum.mdmit echten Pflichtangaben füllencontent/datenschutz.mddurch rechtskonforme Version ersetzen- Bunny.net-Account anlegen + Storage Zone für die Seite erstellen
- Bunny Storage-Passwort besorgen, sicher hinterlegen (
.env, nicht ins Git) deploy.bat/deploy.pyum 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
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:
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