94c8212078
OpenTopoMap's hypsometric tint reads "red mountains / green flats" and looks nothing like the Swisstopo Pixelkarte the proxy hands out in-region — produced a jarring visual seam right at the CH/LI border. Thunderforest Outdoors has a muted topo palette + subtle hillshade that matches the swisstopo tile aesthetic much more closely, so use it as the abroad `karte` upstream when an API key is available. - `tile-proxy/build.rs`: reads `tile-proxy/.env` (gitignored) at build time and forwards each `KEY=VAL` line to rustc as `--env`, so the key is baked into the binary via `option_env!` and never touched at runtime. A shell env var of the same name wins over the .env entry (dotenv precedence). `cargo:rerun-if-changed=.env` + `cargo:rerun-if-env-changed` force a recompile whenever the value changes — no stale key cached in the binary. - `main.rs`: `THUNDERFOREST_API_KEY` read via `option_env!`; foreign `karte` is Thunderforest Outdoors when set, OpenTopoMap fallback when absent. Behaviour unchanged for keyless builds. - `mapTiles.ts`: page-footer attribution credits Thunderforest + OSM alongside the existing swisstopo / OpenTopoMap / Esri lines so the attribution stays correct regardless of which build is deployed. - `.gitignore`: tile-proxy build artefacts (binary, `target/`, `.env`) moved to the root gitignore with fully-qualified paths so the source tree isn't hidden by a nested gitignore quirk; the per-dir `tile-proxy/.gitignore` is removed. - README + systemd service: documentation refreshed for the new build-time key flow.
59 lines
2.0 KiB
Plaintext
59 lines
2.0 KiB
Plaintext
.DS_Store
|
|
*/.jukit
|
|
*/.jukit/*
|
|
node_modules
|
|
/build
|
|
/.svelte-kit
|
|
/package
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
vite.config.js.timestamp-*
|
|
vite.config.ts.timestamp-*
|
|
# USDA bulk data downloads (regenerated by scripts/import-usda-nutrition.ts)
|
|
data/usda/
|
|
# Loyalty-card barcodes (regenerated by scripts/generate-loyalty-cards.ts from env)
|
|
static/shopping/supercard.svg
|
|
static/shopping/cumulus.svg
|
|
# Hikes build outputs (regenerated by scripts/build-hikes.ts at prebuild)
|
|
static/hikes/
|
|
hikes-assets/
|
|
src/lib/data/hikes.generated.ts
|
|
# Tile-proxy build artefacts + secrets (the source tree itself is tracked).
|
|
# The binary is dropped next to Cargo.toml by `make build`; its name happens
|
|
# to collide with the directory it lives in, so the path is fully qualified
|
|
# here to avoid the nested-gitignore quirk that previously hid the source.
|
|
/tile-proxy/tile-proxy
|
|
/tile-proxy/target/
|
|
/tile-proxy/.env
|
|
# Private image build outputs (regenerated by scripts/build-private-images.ts).
|
|
# Sources are private + large, so they're ignored too — only the README is kept.
|
|
private-assets/
|
|
src/lib/data/privateImages.generated.ts
|
|
src/lib/assets/private-images/*
|
|
!src/lib/assets/private-images/README.md
|
|
# Build-script disk caches (Swisstopo identify, BRouter responses, ...)
|
|
scripts/.cache/
|
|
# Loose working-tree scratch files (notes, photos, prototypes) that aren't
|
|
# part of the committed source.
|
|
/HIKES_PLAN.md
|
|
/additional_apologetics.md
|
|
/header_jellyfin.html
|
|
/person-hiking.svg
|
|
/PXL_*.jpg
|
|
/PXL_*.MP.jpg
|
|
src-tauri/icons/_safezone_template_*.png
|
|
src-tauri/target/
|
|
src-tauri/*.keystore
|
|
# Android: ignore build output and caches, track source files
|
|
src-tauri/gen/android/.gradle/
|
|
src-tauri/gen/android/app/build/
|
|
src-tauri/gen/android/buildSrc/.gradle/
|
|
src-tauri/gen/android/buildSrc/build/
|
|
|
|
# Hike content: track the writing (index.svx), route (track.gpx) and icons,
|
|
# but not the source photos (huge; re-encoded into static assets at build time).
|
|
src/content/hikes/*/images/
|
|
src/content/hikes/*/private/
|
|
src/content/hikes/*/cover.*
|