title: 'Story' form: fields: tabs: type: tabs active: 1 fields: content: type: tab title: Content fields: header.title: type: text label: Title validate: required: true header.date: type: datetime label: Start Date format: 'Y-m-d H:i' validate: required: true header.end_date: type: datetime label: End Date format: 'Y-m-d' help: 'Optional — leave blank for a single-day story' header.hero_image: type: text label: Hero Image placeholder: 'hero.jpg' help: 'Filename of the hero image (upload via Media tab)' header.hero_alt: type: text label: Hero Image Alt Text placeholder: 'Description of the hero image' content: type: markdown label: Content validate: required: true location: type: tab title: Location fields: header.location_name: type: text label: Location Name placeholder: 'e.g. Val d''Orcia' header.location_country: type: text label: Country placeholder: 'e.g. Italy' header.lat: type: text label: Latitude placeholder: '43.0780' help: 'GPS latitude (decimal degrees)' header.lng: type: text label: Longitude placeholder: '11.6760' help: 'GPS longitude (decimal degrees)' header.transport_mode: type: select label: How I arrived here default: '' options: '': '— not specified —' 'walking': 'Walking' 'bicycle': 'Bicycle' 'bus': 'Bus' 'train': 'Train' 'car': 'Car' header.force_connect: type: toggle label: Force connector line help: 'When GPX tracks are present, always draw a connector from the previous marker to this one' highlight: 1 default: 0 options: 1: 'Yes' 0: 'No' validate: type: bool publishing: type: tab title: Publishing fields: header.published: type: toggle label: Published highlight: 1 default: 1 options: 1: 'Yes' 0: 'No' validate: type: bool