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/macros/blog.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 'templates/macros/blog.html')
| -rw-r--r-- | templates/macros/blog.html | 13 |
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> |
