| 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 removes obsolete Leaflet elevation options that are no longer
needed by the trail map setup.
It also makes the temporary summary control clean itself up immediately
after the GPX summary data has loaded, including removing the control
before tearing down the hidden map.
|
| |
|
|
|
|
|
|
|
|
| |
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 project-local gallery plugin that builds deterministic rectangular
image layouts from attachment aspect ratios, with both in-process and disk-backed
layout caching.
It also adds gallery flow blocks, templates, and CSS so posts can include
responsive galleries with lazy-loaded images, configurable gaps, target ratios,
and the existing breakout/centering utilities.
|
| |
|
|
|
|
|
|
| |
This refactors the breakout image utilities to use a shared `--breakout`
variable and cap the actual breakout to the available viewport space.
That keeps breakout images from being pushed off-screen on narrow layouts while
preserving the existing full-width breakout behaviour.
|
| |
|
|
|
|
|
|
|
| |
This adds dedicated styling for `details` blocks inside figure captions, making
transcriptions and expanded notes visually distinct without breaking the compact
caption layout.
It also resets nested blockquotes and adjusts small heading/section spacing so
transcribed image text remains readable inside captions.
|
| |
|
|
|
|
|
|
| |
This simplifies article header spacing so the title area and table of contents
align more predictably.
It also normalizes figure margins, improves figure behaviour after paragraphs,
and lets floated figures keep the same vertical rhythm as other figures.
|
| |
|
|
|
|
|
|
|
|
| |
This moves blockquote styling out of the global typography rules and into the
article layout, keeping quote presentation tied to post content instead of every
blockquote on the site.
It also adds dedicated styling for citation paragraphs after blockquotes, making
quote attribution visually distinct while preserving readable paragraph widths
inside quotes.
|
| |
|
|
|
|
|
|
| |
This adds explicit styles for h4, h5, and h6, giving deeper article
headings their own size, weight, colour, spacing, and line-height rules.
The new rules keep lower-level headings visually distinct while matching the
recent line-height improvements for the main headings.
|
| |
|
|
|
|
|
|
| |
This slightly increases heading line heights so multi-line headings have more
breathing room.
It also normalizes the `h3` margin rule, keeping its vertical spacing consistent
with the other heading styles.
|
| |
|
|
|
|
|
|
|
|
|
| |
This adds a project-local Markdown figure plugin so blog posts can use
semantic `<figure>` blocks with arbitrary CSS classes, optional
captions, and Markdown inside captions.
The image CSS is also updated so figures share the existing width,
breakout, float, centering, and rounded-image utilities while keeping
captions styled and spaced consistently with the rest of the article
layout.
|
| |
|
|
|
|
|
|
|
|
| |
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 moves the “Tagged with” label into the tag list itself, so the
footer can wrap naturally like a paragraph instead of splitting the
label and tags onto separate alignment contexts.
The CSS now treats each tag item as inline text while keeping later
items together, which avoids awkward line breaks after the label.
|
| |
|
|
|
|
|
|
|
| |
This introduces a shared border-radius variable and uses it for repeated rounded
UI elements, making future visual adjustments easier.
It also tightens paragraph spacing, improves blockquote padding, gives article
headings a stronger accent colour, and adds a little more space below the table
of contents so article layouts breathe better.
|
| |
|
|
|
|
|
|
| |
This replaces the hard-coded image breakout offsets with custom
properties, so the spacing scale can be adjusted from one place.
It also adds smaller and larger breakout options, making image width
choices more flexible while keeping the existing class-based workflow.
|
| |
|
|
|
|
|
|
|
|
| |
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 adds a scalable SVG favicon alongside the existing PNG favicon and
exposes both through explicit icon links in the base template.
The SVG is used for browsers that support it, while the 32×32 PNG
remains as a fallback for clients that still expect a raster favicon.
|
| |
|
|
|
|
|
|
|
| |
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.
|