Add wiki link rewriting to local Kiwix

Rewrites OSM wikipedia/wikidata/wikivoyage/appropedia extratag values
to local Kiwix URLs (wiki.echo6.co) when the article exists in a loaded
ZIM, falling back silently to public URLs otherwise.

- New lib/wiki_rewrite.py: URL classification, Kiwix OPDS catalog
  discovery (xml.etree.ElementTree), HEAD-based availability check,
  positive-only SQLite cache, disabled discovery stubs
- place_detail.py: _enrich_wiki_links() at both Nominatim and Overpass
  enrichment sites, before cache_put
- Profile flags: has_wiki_rewriting (home/regional: true, minimal: false),
  has_wiki_discovery (all: false, stubs for future activation)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Matt 2026-04-23 06:34:22 +00:00
commit 829bc87b7b
5 changed files with 385 additions and 0 deletions

View file

@ -38,10 +38,13 @@ features:
has_3d_terrain: false
has_traffic_overlay: true
has_landclass: true
has_public_lands_layer: true
has_address_book_write: false
has_overture_enrichment: true
has_google_places_enrichment: true
has_contacts: true
has_wiki_rewriting: true
has_wiki_discovery: false
defaults:
center: [42.5736, -114.6066]

View file

@ -33,10 +33,13 @@ features:
has_3d_terrain: false
has_traffic_overlay: false
has_landclass: false
has_public_lands_layer: false
has_address_book_write: true
has_overture_enrichment: false
has_google_places_enrichment: false
has_contacts: false
has_wiki_rewriting: false
has_wiki_discovery: false
defaults:
center: [44.0, -114.0]

View file

@ -38,10 +38,13 @@ features:
has_3d_terrain: false
has_traffic_overlay: true
has_landclass: true
has_public_lands_layer: true
has_address_book_write: true
has_overture_enrichment: false
has_google_places_enrichment: false
has_contacts: false
has_wiki_rewriting: true
has_wiki_discovery: false
defaults:
center: [44.0, -114.0]