Give trips an optional one-liner (header.tagline) and description (markdown content), surface them where they help, and fix the soft cover image — all editable from admin. - U1: header.cover_image blueprint field → pagemediaselect media picker. - U2: new macros/cover.html.twig — single source for cover resolution (author-selected → first journal image → none; missing file falls back) and retina rendering (1x/2x cropResize + srcset). Merged resolve+render into one macro since Twig macros can't return a Medium object. - U3: trip-list card renders the one-liner (when set) and the retina cover. - U4: trip-page in-column header gains the one-liner, an expandable description, and a thin banner strip — gated behind a trip_header_extras partial flag (default off) so the shared home active-trip view is unchanged (R12/KTD4). - U5: styles for the card/header one-liner, collapsible description (max-height preview, not line-clamp, so it holds across paragraphs) and the banner, with a mobile banner-height reduction. Covers R1–R15. Verified with new Playwright specs + full trip/home/maps regression against an isolated worktree dev server. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RDS6t8wcpbwKvvrxykVQ5K
94 lines
3.1 KiB
YAML
94 lines
3.1 KiB
YAML
title: 'Trip'
|
|
|
|
form:
|
|
fields:
|
|
tabs:
|
|
type: tabs
|
|
active: 1
|
|
fields:
|
|
|
|
content:
|
|
type: tab
|
|
title: Content
|
|
fields:
|
|
header.title:
|
|
type: text
|
|
label: Title
|
|
validate:
|
|
required: true
|
|
|
|
content:
|
|
type: markdown
|
|
label: Description
|
|
|
|
trip:
|
|
type: tab
|
|
title: Trip
|
|
fields:
|
|
header.date_start:
|
|
type: date
|
|
label: 'Start Date'
|
|
placeholder: '2026-06-17'
|
|
help: 'First day of the trip'
|
|
|
|
header.date_end:
|
|
type: date
|
|
label: 'End Date'
|
|
placeholder: ''
|
|
help: 'Leave blank if trip is ongoing'
|
|
|
|
header.cover_image:
|
|
type: pagemediaselect
|
|
label: 'Cover Image'
|
|
help: 'Pick from images uploaded to this trip page. Shown on the trips listing and the trip-page banner. Falls back to the first journal entry photo if left unset.'
|
|
|
|
header.album_url:
|
|
type: text
|
|
label: 'Photo Album URL'
|
|
placeholder: 'https://photos.google.com/...'
|
|
help: 'Link to external photo album for this trip'
|
|
|
|
header.tagline:
|
|
type: text
|
|
label: Tagline
|
|
placeholder: '6 weeks from Venice to Sicily by train'
|
|
help: 'Short description shown on homepage highlight cards'
|
|
|
|
header.use_gpx:
|
|
type: toggle
|
|
label: Show GPX tracks
|
|
help: "Draws uploaded GPX files as route lines on the map.<br>Independent of connector lines — you can show GPX tracks without connectors or vice versa.<br><br>Note: enable this when using Intelligent GPX connector mode, otherwise that mode falls back to connecting all markers."
|
|
highlight: 1
|
|
default: 1
|
|
options:
|
|
1: 'Yes'
|
|
0: 'No'
|
|
validate:
|
|
type: bool
|
|
|
|
header.autoconnect:
|
|
type: select
|
|
label: Connect markers
|
|
help: "On: draws a dashed line between every entry in date order.<br>Manual: no automatic lines — only entries with Force Connect are linked.<br>Intelligent GPX: suppresses the connector where a GPX track already covers the route (requires Show GPX enabled); Force Connect still overrides.<br>Off: no connector lines at all, Force Connect is also ignored."
|
|
default: 'on'
|
|
options:
|
|
'off': 'Off — no connections'
|
|
'on': 'On — always connect all'
|
|
'manual': 'Manual — force connect only'
|
|
'intelligent_gpx': 'Intelligent GPX — suppress where route is covered'
|
|
|
|
publishing:
|
|
type: tab
|
|
title: Publishing
|
|
fields:
|
|
header.published:
|
|
type: toggle
|
|
label: Published
|
|
highlight: 1
|
|
default: 1
|
|
options:
|
|
1: 'Yes'
|
|
0: 'No'
|
|
validate:
|
|
type: bool
|