Files
intotheeast-com-content/themes/intotheeast/blueprints/trip.yaml
T
m038andClaude Opus 4.8 ad72739b99 feat(trip): one-liner, description & retina cover on trip list + page
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
2026-07-06 00:02:19 +02:00

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