Scrolly-section text never rendered: the inline Scrollama block ran before the main.js bundle published window.scrollama, so it always hit its guard and the panel text stayed display:none, leaving a blank column beside the pinned image. Defer to DOMContentLoaded, and build the step panels before the scrollama check so a missing bundle costs the animation, not the text. Also fixes an invalid calc(-(...)) that dropped the mobile scrolly offset, and drops the duplicate inline back-to-top in favour of main.js's version (which pushes a history entry). Blueprint changes carried over from an earlier session: story.yaml and trip.yaml now extend the default page form so both can upload media. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
101 lines
3.9 KiB
YAML
101 lines
3.9 KiB
YAML
title: 'Trip'
|
|
|
|
# Inherits Grav's default page form — this is what supplies the page-media
|
|
# uploader (used for cover images and GPX files), plus the standard Options and
|
|
# Advanced tabs. Without it the form is standalone and can only *select*
|
|
# existing media, never upload any.
|
|
'@extends':
|
|
type: default
|
|
context: blueprints://pages
|
|
|
|
form:
|
|
fields:
|
|
tabs:
|
|
type: tabs
|
|
active: 1
|
|
fields:
|
|
|
|
content:
|
|
ordering@: 0
|
|
type: tab
|
|
title: Content
|
|
fields:
|
|
header.title:
|
|
type: text
|
|
label: Title
|
|
validate:
|
|
required: true
|
|
|
|
content:
|
|
type: markdown
|
|
label: Description
|
|
|
|
# Inherited from the default blueprint; relabelled because this is
|
|
# also where GPX files and cover images get uploaded.
|
|
header.media_order:
|
|
type: pagemedia
|
|
label: Images and GPX files
|
|
help: 'Upload cover images and .gpx route files here. GPX tracks are auto-detected on the map — no manual linking. The Cover Image field below picks from what is uploaded here.'
|
|
|
|
trip:
|
|
ordering@: 1
|
|
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
|
|
accept: ['.jpg', '.jpeg', '.png', '.webp', '.gif']
|
|
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'
|
|
|
|
# No Publishing tab — it held only the Published toggle, which now comes
|
|
# from the inherited Options tab. Defining it here too would render two
|
|
# toggles bound to the same header key.
|