| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
| |
This replaces the manual `updated_date` field with a changelog flow
field so post updates can be recorded as dated entries.
The blog template now derives the "Last updated" metadata from the
latest changelog entry and renders the full changelog in the article
footer, with dedicated styling for compact change notes.
|
| |
|
|
|
|
|
|
|
|
| |
This adds the Pagefind component UI assets and wires the search modal
into the base template with a compact header trigger.
The integration marks searchable page bodies explicitly, exposes page
titles to Pagefind metadata, and adds site-specific styling so the
search modal, trigger, focus states, and keyboard-selected results match
the blog’s colour scheme.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
This adds JSON-LD for the site, author, blog, and individual blog posts, so
search engines and other consumers can understand the blog structure more
clearly.
It also adds Microformats2 classes to blog posts and the about page, keeping
machine-readable author, post, category, date, and content data attached to the
visible HTML.
|
| |
|
|
|
|
|
|
|
| |
This replaces the placeholder Open Graph image with a dedicated 1200×630
asset and adds the SVG source for future edits.
The base metadata now describes the site and preview image more
accurately, while blog post timestamps use the local publishing timezone
instead of UTC.
|
|
|
This adds the Lektor project structure, models, templates, styling,
feeds, categories, tags, archives, custom Markdown heading handling, and
the initial content needed to make the blog usable.
|