diff options
| author | Dennis Fink | 2026-07-23 00:18:21 +0200 |
|---|---|---|
| committer | Dennis Fink | 2026-07-23 00:18:21 +0200 |
| commit | 1fe1d13c600b7dfe421b3b99b833b7d5d1232724 (patch) | |
| tree | 2e8636160cc1719c907be56f5ef8cbc7e0f10a53 /templates/base.html | |
| parent | ca77de06be474dfd712402c327dc436864d233a3 (diff) | |
| download | dennisfink.me-1fe1d13c600b7dfe421b3b99b833b7d5d1232724.tar.gz dennisfink.me-1fe1d13c600b7dfe421b3b99b833b7d5d1232724.zip | |
Add GPX trail maps to blog posts
This adds a trail flow block so posts can include attached GPX files as
interactive maps with route display, elevation charts, activity
summaries, and start/finish markers.
The trail assets are loaded only when needed, keeping the shared
templates clean while vendoring the Leaflet dependencies required for
offline, self-hosted map rendering.
Diffstat (limited to '')
| -rw-r--r-- | templates/base.html | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/templates/base.html b/templates/base.html index 024907d..99341e7 100644 --- a/templates/base.html +++ b/templates/base.html @@ -75,6 +75,19 @@ type="text/css" href="{{ '/static/css/style.css' | asseturl }}"> {% endblock styles %} + + {% block feature_styles %} + {% if needs_trail_assets | default(false) %} + <link rel="stylesheet" + href="{{ '/static/vendor/leaflet/leaflet.css' | asseturl }}"> + <link rel="stylesheet" + href="{{ '/static/vendor/leaflet-fullscreen/Control.FullScreen.css' | asseturl }}"> + <link rel="stylesheet" + href="{{ '/static/vendor/leaflet-elevation/dist/leaflet-elevation.css' | asseturl }}"> + <link rel="stylesheet" href="{{ '/static/css/trail.css' | asseturl }}"> + {% endif %} + {% endblock feature_styles %} + {% block meta_links %} <link rel="canonical" href="{{ this|url(absolute=True, external=True) }}"> <link rel="alternate" @@ -187,7 +200,7 @@ id="atom" aria-label="Atom feed — Latest posts"></a> <a rel="nofollow" - href="/email/" + href="mailto:me+blog@dennisfink.me" id="email" aria-label="Mail address: me plus blog at dennisfink.me"></a> <a rel="me" @@ -210,5 +223,21 @@ {% endblock %} </footer> {% endblock body %} + {% block scripts %} + {% if needs_trail_assets | default(false) %} + <script src="{{ '/static/vendor/leaflet/leaflet.js' | asseturl }}" defer></script> + <script src="{{ '/static/vendor/leaflet-providers/leaflet-providers.js' | asseturl }}" + defer></script> + <script src="{{ '/static/vendor/leaflet-i18n/leaflet-i18n.js' | asseturl }}" + defer></script> + + <script src="{{ '/static/vendor/leaflet-elevation/dist/leaflet-elevation.min.js' | asseturl }}" + defer></script> + <script src="{{ '/static/vendor/leaflet-fullscreen/Control.FullScreen.umd.js' | asseturl }}" + defer></script> + <script src="{{ '/static/js/trail.js' | asseturl }}" defer></script> + {% endif %} + {% endblock scripts %} + </body> </html> |
