Files
iwz/CLAUDE.md
T

4.2 KiB
Raw Blame History

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:

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.toml unter [params] eintragen
  • content/impressum.md mit echten Pflichtangaben füllen
  • content/datenschutz.md durch 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.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

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