No description
  • HTML 59.6%
  • Python 40.4%
Find a file
2026-06-28 17:21:09 +02:00
.forgejo/workflows Deploy: Mount-Target auf /mnt/cache zurück 2026-06-21 17:45:18 +02:00
.gitignore Token aus Script in .env ausgelagert und .gitignore aktualisiert 2026-06-22 13:25:57 +02:00
AGENTS.md Code: WEATHERAPI_KEY aus 1Password .env laden 2026-06-26 21:05:22 +02:00
cruiseports.json Rename PROJECT-CONTEXT.md → AGENTS.md; update cruiseports.json 2026-06-26 20:56:15 +02:00
generate_kreuzfahrt.py Doc: Keychain-Hinweis entfernt 2026-06-26 21:07:22 +02:00
kreuzfahrt.html Reiseplan: Wochentage korrigiert (5.7. = Sonntag) 2026-06-28 16:06:41 +02:00
kreuzfahrt_app.html feat: neue Single-Page-App mit Upload-Feld und Wetter-API 2026-06-04 15:34:57 +02:00
README.md Docs: Link-Text angepasst 2026-06-28 17:21:09 +02:00
reiseplan.txt Reiseplan: Wochentage korrigiert (5.7. = Sonntag) 2026-06-28 16:06:41 +02:00

Kreuzfahrtplan Generator

Dieses Projekt generiert eine interaktive HTML-Seite mit Kreuzfahrtplan und Wetterdaten.

Resultat: 🌐 web.supportnet.ch/cruiseweather

Dateien

Datei Beschreibung
reiseplan.txt Reiseplan mit Hafenstopps und Ankunfts-/Abfahrtszeiten
generate_kreuzfahrt.py Python-Script, das den Reiseplan parst und eine HTML-Seite generiert
kreuzfahrt.html Generierte Output-Seite (automatisch erstellt)
cruiseports.json Geocache für Hafen-Positionen (OpenStreetMap Nominatim)
AGENTS.md Projekt-Kontext für den Pi Coding Agent

Verwendung

  1. Reiseplan erfassen in reiseplan.txt
  2. html Seite erstellen
python3 generate_kreuzfahrt.py

Das Script:

  1. Liest reiseplan.txt ein
  2. Sucht Hafen-Positionen via OpenStreetMap Nominatim API
  3. Holt Wetterdaten von Open-Meteo (Forecast + Fallback-Kette)
  4. Generiert kreuzfahrt.html mit interaktiven Karten

Wetter-APIs

  • Open-Meteo: Primäre Quelle (16-Tage Forecast, kostenlos, kein API-Key nötig)
  • WeatherAPI.com: Fallback (14-Tage Forecast, API-Key aus 1Password)
  • Open-Meteo Archive: 3-Jahres-Klimamittel als letzter Fallback

Reiseplan-Format (reiseplan.txt)

Schiffname
Untertitel (optional)

Wochentag TT.MM.JJJJ
Hafenname (Land)
Zeit

Seetage: Erholung auf See als Hafenzeile.

Projekt-Workflow

  1. reiseplan.txt aktualisieren (Daten/Wochen)
  2. python3 generate_kreuzfahrt.py ausführen
  3. Ergebnis in kreuzfahrt.html prüfen
  4. Commit und push

Tech Stack

  • Python 3
  • Open-Meteo API (Wetter)
  • OpenStreetMap Nominatim (Hafen-Koordinaten)
  • Leaflet.js + OpenStreetMap (interaktive Karten)
  • CI/CD via Forgejo Actions (.forgejo/workflows/deploy.yml)