diff --git a/station.yaml b/station.yaml new file mode 100644 index 0000000..78af6e3 --- /dev/null +++ b/station.yaml @@ -0,0 +1,181 @@ +# Station Blueprint +# Defines a content module/station for the media guide +# /user/blueprints/station.yaml + +title: Station +'@extends': + type: default + context: blueprints://pages + +form: + fields: + tabs: + type: tabs + active: 1 + + fields: + # Station Info Tab + station_info: + type: tab + title: Station Info + fields: + header.station_id: + type: text + label: Station ID + help: Unique identifier for this station (used in QR codes) + validate: + required: true + pattern: '^[a-z0-9-]+$' + + header.station_type: + type: select + label: Station Type + options: + intro: Introduction + exhibit: Exhibit + information: Information Point + navigation: Navigation + default: exhibit + + header.exhibition_ref: + type: text + label: Exhibition Reference + help: Reference to parent exhibition + + header.active: + type: toggle + label: Active + highlight: 1 + default: 1 + options: + 1: Yes + 0: No + + header.order: + type: number + label: Display Order + default: 0 + + # Multilingual Content Tab + content_tab: + type: tab + title: Content + fields: + header.title: + type: multilang + label: Title + languages: true + + header.description: + type: multilang + label: Short Description + type: textarea + languages: true + + # Components Tab + components_tab: + type: tab + title: Components + fields: + header.components: + type: list + label: Content Components + style: vertical + btnLabel: Add Component + collapsed: true + + fields: + .type: + type: select + label: Component Type + options: + heading: Heading + text: Text Block + video: Video Player + audio: Audio Player + tabs: Tabbed Content + slideshow: Slideshow + + .id: + type: text + label: Component ID + help: Unique ID for this component + + # Heading specific + .level: + type: select + label: Heading Level + options: + h1: H1 + h2: H2 + h3: H3 + + # Text/Heading content (multilingual) + .content: + type: editor + label: Content + + # Video specific + .video_src: + type: filepicker + label: Video File + folder: 'user://media/videos' + accept: + - video/* + + .video_poster: + type: filepicker + label: Video Poster + folder: 'user://media/images' + accept: + - image/* + + # Audio specific + .audio_src: + type: filepicker + label: Audio File + folder: 'user://media/audio' + accept: + - audio/* + + .caption: + type: text + label: Caption + + # Tabs specific + .tabs: + type: list + label: Tabs + fields: + .title: + type: text + label: Tab Title + .content: + type: editor + label: Tab Content + + # Slideshow specific + .slides: + type: list + label: Slides + fields: + .image: + type: filepicker + label: Slide Image + folder: 'user://media/images' + accept: + - image/* + .caption: + type: text + label: Slide Caption + + # Media Tab + media_tab: + type: tab + title: Media Files + fields: + header.media_folder: + type: text + label: Media Folder + help: Folder containing media files for this station + placeholder: /media/station-id