summaryrefslogtreecommitdiff
path: root/templates/macros/blog.html
diff options
context:
space:
mode:
authorDennis Fink2026-07-23 00:18:21 +0200
committerDennis Fink2026-07-23 00:18:21 +0200
commit1fe1d13c600b7dfe421b3b99b833b7d5d1232724 (patch)
tree2e8636160cc1719c907be56f5ef8cbc7e0f10a53 /templates/macros/blog.html
parentca77de06be474dfd712402c327dc436864d233a3 (diff)
downloaddennisfink.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/macros/blog.html13
1 files changed, 11 insertions, 2 deletions
diff --git a/templates/macros/blog.html b/templates/macros/blog.html
index 7f2ca60..13c2526 100644
--- a/templates/macros/blog.html
+++ b/templates/macros/blog.html
@@ -19,6 +19,16 @@
{% endmacro %}
{% macro render_blog_post(post, show_toc=True) %}
+ {% set toc = namespace(items=[]) %}
+
+ {% if show_toc and post.render_toc %}
+ {% for block in post.body.blocks %}
+ {% if block._flowblock == "markdown" and block.text %}
+ {% set toc.items = toc.items + (block.text.toc | default([])) %}
+ {% endif %}
+ {% endfor %}
+ {% endif %}
+
<article class="h-entry">
<header>
<div>
@@ -68,8 +78,7 @@
</dl>
</div>
{% if show_toc and post.render_toc %}
- {% set toc = post.body.toc|default([]) %}
- {{ render_toc(toc) }}
+ {{ render_toc(toc.items) }}
{% endif %}
</header>
<div class="e-content">{{ post.body }}</div>