81 lines
2.3 KiB
Markdown
81 lines
2.3 KiB
Markdown
# 🚲 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 …
|
||
|
||

|
||
```
|
||
|
||
## 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.
|