A field can be a place, and a question can be about one

`type: location` puts a pin on a map and stores {lat, lon, zoom}; a
record that holds one renders as a still, on a desk and in any
resource card. `place:` on a question is the counterpart to `event:`:
event makes a page an occasion with a time, place makes it somewhere,
shows the map under the question, and opens any location field on the
page there instead of on the globe.

Every tile and every still is fetched by portal and served from this
origin (src/maps.rs, MapLibre vendored in public/), so a page with a
map on it still talks to nobody but us: no third-party request, no
consent banner, and the token never leaves the server. MAPBOX_TOKEN
unset turns the whole thing off, the way GARAGE_* does for uploads.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Bendik Aagaard Lynghaug
2026-09-24 21:17:28 +02:00
co-authored by Claude Opus 5
parent 9ed8194484
commit 4fd60293fa
10 changed files with 834 additions and 4 deletions
+2
View File
@@ -25,6 +25,8 @@ pub mod people;
#[cfg(feature = "ssr")]
pub mod mail;
pub mod maps;
#[cfg(feature = "ssr")]
pub mod server;