No description
  • Go 69.1%
  • TypeScript 17%
  • HTML 9.7%
  • CSS 2.6%
  • JavaScript 1.1%
  • Other 0.5%
Find a file
2026-06-14 06:54:32 +02:00
cmd einheitliche Darstellung von Baum-Bildern. 2026-06-14 06:54:32 +02:00
config misc 2026-05-29 09:29:36 +02:00
internal einheitliche Darstellung von Baum-Bildern. 2026-06-14 06:54:32 +02:00
schema altitude added 2026-05-26 15:29:17 +02:00
.DS_Store jor postgis migration 2026-05-20 11:56:57 +02:00
.gitignore v1.0.0: INSTALL.md + release artifacts 2026-05-29 09:52:59 +02:00
.golangci.yml refactor 2026-05-21 07:43:39 +02:00
CLAUDE.md misc 2026-05-29 09:29:36 +02:00
config.sandbox.yaml refactor 2026-05-21 07:43:39 +02:00
config.yaml tabellen 2026-05-31 00:29:37 +02:00
config.yaml.example react frontend 2026-05-24 22:05:11 +02:00
DEPLOY.md misc 2026-05-29 09:29:36 +02:00
go.mod Bongert als datensatz-Art 2026-05-26 10:12:50 +02:00
go.sum Bongert als datensatz-Art 2026-05-26 10:12:50 +02:00
hof-neu-photos.png initial import 2026-05-15 13:52:02 +02:00
hof-neu-results.png initial import 2026-05-15 13:52:02 +02:00
inline-edit-fields.jpeg react frontend 2026-05-24 22:05:11 +02:00
INSTALL.md v1.0.0: INSTALL.md + release artifacts 2026-05-29 09:52:59 +02:00
loc-name-fixes.osc jor postgis migration 2026-05-20 11:56:57 +02:00
Makefile react frontend 2026-05-24 22:05:11 +02:00
map-final-subtle-labels.jpeg react frontend 2026-05-24 22:05:11 +02:00
map-osm-declustered-labels.jpeg react frontend 2026-05-24 22:05:11 +02:00
new-trees-agger.osm initial import 2026-05-15 13:52:02 +02:00
new-trees-hof-neu.osm initial import 2026-05-15 13:52:02 +02:00
new-trees-walk1.osm initial import 2026-05-15 13:52:02 +02:00
new-trees.osm review gui further development 2026-05-18 00:17:57 +02:00
obsidian-images.json review gui further development 2026-05-18 00:17:57 +02:00
obsidian-scan.log review gui further development 2026-05-18 00:17:57 +02:00
osm-cache.json jor postgis migration 2026-05-20 11:56:57 +02:00
osm-editor-species.jpeg 2026-05-24 23:39:37 +02:00
osm-update-button.jpeg react frontend 2026-05-24 22:05:11 +02:00
react-photo-page.jpeg react frontend 2026-05-24 22:05:11 +02:00
react-tree-page.jpeg react frontend 2026-05-24 22:05:11 +02:00
README.md react frontend 2026-05-24 22:05:11 +02:00
results-all.json initial import 2026-05-15 13:52:02 +02:00
results-hof-neu.json initial import 2026-05-15 13:52:02 +02:00
results.json refactor 2026-05-21 07:43:39 +02:00
results_agger.json initial import 2026-05-15 13:52:02 +02:00
results_walk1.json initial import 2026-05-15 13:52:02 +02:00
save-button.png initial import 2026-05-15 13:52:02 +02:00
saved-teal.png initial import 2026-05-15 13:52:02 +02:00
structure.md refactor 2026-05-21 07:43:39 +02:00
tree-mapper.db jor postgis migration 2026-05-20 11:56:57 +02:00
tree-mapper.db-shm jor postgis migration 2026-05-20 11:56:57 +02:00
tree-ocr-section.jpeg refactor 2026-05-25 19:49:06 +02:00
tree-osm-labels.jpeg react frontend 2026-05-24 22:05:11 +02:00
tree-osm-overlay.jpeg react frontend 2026-05-24 22:05:11 +02:00

tree-mapper

Dies ist ein Tools zum Verwalten von Fotos von Obstbäumen.

Schnellstart

# Abhängigkeiten (Debian/Ubuntu)
apt install libimage-exiftool-perl gcc

go mod tidy
go build ./cmd/mapper

./mapper \
  --session "mein-obstgarten/2024-05-11/" \
  --json results.json \
  --osm neue-baeume.osm \
  --workdir /tmp/tree-mapper

Konfiguration: config.yaml (Vorlage: config.yaml.example).

Für Details zur Architektur, Paketstruktur und Tuning-Parametern: CLAUDE.md.

Statische Archiv-Seite (store/{id}/index.html)

Pro Baum wird bei jedem Speichern eine statische, dependency-freie HTML-Seite nach S3 geschrieben (Langzeit-Archiv, oEmbed-konform — siehe CLAUDE.md). Die Vorlage ist:

internal/treestore/tree-static.html.tmpl

Das ist eine Go-html/template-Datei und wird per //go:embed fest ins Binary gebacken. Zum Ändern des Aussehens diese Datei bearbeiten und neu bauen (make build bzw. go build ./...). Die Seite muss ohne JavaScript und ohne externe Abhängigkeiten auskommen.

Die zugehörige oEmbed-Antwort (store/{id}/oembed.json) wird in Go erzeugt: Funktion RenderOEmbed in internal/treestore/render.go.

Alternativ lässt sich zur Laufzeit eine andere Vorlage per Flag übergeben (treedoc --template pfad/zur/vorlage.tmpl, ebenso cmd/render --template …); ist der Pfad leer oder unlesbar, greift die eingebettete Vorlage.

Bestehende Seiten neu rendern (z. B. nach einer Template-Änderung):

go run ./cmd/render --base https://treedoc.foxel.org --prefix store