sattelfest/README.md
2026-05-30 00:09:33 +02:00

81 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🚲 Radweltreise-Blog
Statische Website (kein PHP, keine Datenbank) für ein Reisetagebuch mit
Gesamtroute auf einer Karte. Gebaut mit [Astro](https://astro.build) +
[Leaflet](https://leafletjs.com).
- **Karte oben**, klein Klick aufs Symbol (⤢) macht sie groß (Vollbild).
- **Route** entsteht automatisch aus deinen **GPX-Dateien** (z. B. Komoot-Export).
- **Foto-Marker** entstehen automatisch aus den **GPS-Daten (EXIF)** deiner Fotos.
## Lokal starten
```bash
npm install
npm run dev
```
Dann im Browser http://localhost:4321 öffnen.
Produktions-Build (erzeugt den Ordner `dist/` mit fertigem HTML):
```bash
npm run build
npm run preview # zum lokalen Anschauen des Builds
```
## Neuen Tagebucheintrag schreiben
Lege eine Markdown-Datei in `src/pages/posts/` an, z. B.
`src/pages/posts/2026-06-05-andorra.md`:
```markdown
---
layout: ../../layouts/Base.astro
title: Ankunft in Andorra
date: 2026-06-05
---
# Ankunft in Andorra
Text, Text, Text …
![Bildunterschrift](/photos/IMG_2042.jpg)
```
## GPX-Strecke "hochladen" (Komoot & Co.)
1. In der App die Etappe als **GPX exportieren**.
2. Die Datei in den Ordner **`src/data/tracks/`** legen.
Tipp: Dateinamen mit Datum beginnen (`2026-06-05-andorra.gpx`),
dann ist die Reihenfolge automatisch korrekt.
3. Neu bauen / pushen (siehe unten). Fertig die Linie hängt sich an die Route an.
Es ist kein Upload-Formular nötig: "Hochladen" = Datei in den Ordner legen.
Vom Handy unterwegs am einfachsten mit **Working Copy** (iOS) bzw.
**Termux/MGit** (Android) per Git, oder mit einem **Syncthing/Nextcloud**-Ordner.
## Fotos mit Karten-Marker
Original-Fotos (mit GPS im EXIF) in **`public/photos/`** ablegen. Beim Bauen
werden Koordinaten + Aufnahmezeit ausgelesen und als Marker gesetzt.
⚠️ Nicht über Dienste schicken, die EXIF entfernen (z. B. WhatsApp). Die
Originaldatei verwenden.
## Auf den eigenen Server bringen (Kurzfassung)
Statische Dateien aus `dist/` werden von einem Webserver ohne PHP ausgeliefert.
Empfehlung **Caddy** (automatisches HTTPS):
```
radweltreise.example.com {
root * /var/www/radweltreise/dist
file_server
encode gzip
}
```
Automatischer Rebuild bei Git-Push: einen `post-receive`-Hook im Bare-Repo
auf dem Server `npm ci && npm run build` ausführen lassen. Sag Bescheid,
dann richten wir das Schritt für Schritt ein.