{ "demo": true, "settings": { "merge": { "site_name": "Subspace Signal", "tagline": "A weekly transmission on science fiction and the future." } }, "data_tables": [ { "key": "hail_signals", "name": "Hail signals", "description": "Messages sent from the Subspace Signal contact console.", "primary_key": "id", "columns": [ { "key": "name", "label": "Name", "type": "text", "required": true }, { "key": "email", "label": "Email", "type": "email", "required": true }, { "key": "subject", "label": "Subject", "type": "text", "required": false }, { "key": "message", "label": "Message", "type": "text", "required": true } ] } ], "pages": [ { "slug": "/", "title": "Subspace Signal", "template_key": "full-width", "reconcile_blocks": true, "blocks": [ { "block_key": "hero", "title": "Hero", "slot": "main", "sort_order": 1, "content": { "template": "left-aligned", "eyebrow": "Now broadcasting", "headline": "Subspace Signal", "subheadline": "A weekly transmission on science fiction, deep space, and the people building the future. Two hosts. One open channel.", "ctaPrimary": { "text": "Listen now", "url": "/episodes" }, "ctaSecondary": { "text": "Meet the crew", "url": "/about" } } }, { "block_key": "lcars:episode_console", "title": "Featured episode", "slot": "main", "sort_order": 2, "content": { "eyebrow": "Latest transmission", "title": "First contact was a podcast", "episodeNumber": "048", "duration": "58:12", "stardate": "78412.3", "description": "We open the season with a simple question. If a signal reached us tomorrow, who would answer, and what would we say back.", "listenUrl": "/episodes/first-contact", "listenLabel": "Listen now", "platforms": [ { "label": "Apple", "url": "/episodes" }, { "label": "Spotify", "url": "/episodes" }, { "label": "RSS", "url": "/episodes" } ] } }, { "block_key": "stats", "title": "Signal log", "slot": "main", "sort_order": 3, "content": { "heading": "Signal log", "columns": 3, "countUp": false, "items": [ { "value": "48", "label": "Episodes aired" }, { "value": "4", "label": "Seasons on air" }, { "value": "26", "label": "Star systems covered" } ] } }, { "block_key": "lcars:crew_roster", "title": "Crew", "slot": "main", "sort_order": 4, "content": { "eyebrow": "On the bridge", "heading": "Your crew", "members": [ { "name": "Vega Okonkwo", "role": "Host", "callsign": "Bridge-1", "bio": "Reads too much hard science fiction and asks the questions engineers dread." }, { "name": "Rell Tavras", "role": "Co-host", "callsign": "Science-2", "bio": "Keeps the physics honest and the metaphors from getting away from us." } ] } }, { "block_key": "cta", "title": "Closing CTA", "slot": "main", "sort_order": 5, "content": { "background": "band", "heading": "Tune the frequency", "text": "New transmission every week. Subscribe on your channel of choice.", "primaryLabel": "Subscribe", "primaryUrl": "/episodes" } } ] }, { "slug": "/about", "title": "About", "template_key": "default", "reconcile_blocks": true, "blocks": [ { "block_key": "heading", "title": "Heading", "slot": "main", "sort_order": 1, "content": { "text": "About the signal", "level": 1 } }, { "block_key": "text", "title": "Intro", "slot": "main", "sort_order": 2, "content": { "text": "

Subspace Signal is a weekly show about science fiction and the real science it borrows from. We read the books, watch the shows, and talk to the people who build the future for a living. Every episode is one open channel between two hosts and you.

" } }, { "block_key": "lcars:transmission_status", "title": "Systems", "slot": "main", "sort_order": 3, "content": { "eyebrow": "Console", "heading": "Channel status", "systems": [ { "label": "Weekly uplink", "status": "online", "detail": "Every Tuesday" }, { "label": "Back catalogue", "status": "online", "detail": "48 episodes" }, { "label": "Listener comms", "status": "standby", "detail": "Open for hails" }, { "label": "Live recordings", "status": "standby", "detail": "Next season" } ] } }, { "block_key": "lcars:stardate_log", "title": "Log", "slot": "main", "sort_order": 4, "content": { "eyebrow": "Ship's log", "heading": "How we got here", "entries": [ { "stardate": "74001.0", "title": "Signal first opened", "text": "Two friends started recording arguments about warp drives in a spare room." }, { "stardate": "76210.5", "title": "First guest aboard", "text": "A working propulsion engineer joined to explain why the arguments were wrong." }, { "stardate": "78412.3", "title": "Season four begins", "text": "New gear, same open channel, more star systems to cover." } ] } } ] }, { "slug": "/episodes", "title": "Episodes", "template_key": "blog-index", "reconcile_blocks": true, "blocks": [ { "block_key": "card", "title": "Episode 48", "slot": "main", "sort_order": 1, "content": { "title": "First contact was a podcast", "text": "

If a signal reached us tomorrow, who would answer, and what would we say back.

", "link": "/episodes/first-contact", "linkLabel": "Listen" } }, { "block_key": "card", "title": "Episode 47", "slot": "main", "sort_order": 2, "content": { "title": "The physics of warp, honestly", "text": "

A propulsion engineer walks us through what the math actually allows.

", "link": "/episodes/warp-honestly", "linkLabel": "Listen" } }, { "block_key": "card", "title": "Episode 46", "slot": "main", "sort_order": 3, "content": { "title": "Terraforming on a budget", "text": "

What it would really take to make one small world a little more livable.

", "link": "/episodes/terraforming", "linkLabel": "Listen" } } ] }, { "slug": "/episodes/first-contact", "parent_slug": "/episodes", "title": "First contact was a podcast", "template_key": "article", "reconcile_blocks": true, "blocks": [ { "block_key": "heading", "title": "Title", "slot": "main", "sort_order": 1, "content": { "text": "First contact was a podcast", "level": 1 } }, { "block_key": "text", "title": "Body", "slot": "main", "sort_order": 2, "content": { "text": "

We open the season with a simple question. If a signal reached us tomorrow, who would answer, and what would we say back. The honest answer is that nobody is really in charge of the reply.

So we build the reply ourselves. We talk through who we would want on the line, what we would lead with, and why the first message matters more than the last.

" } } ] }, { "slug": "/episodes/warp-honestly", "parent_slug": "/episodes", "title": "The physics of warp, honestly", "template_key": "article", "reconcile_blocks": true, "blocks": [ { "block_key": "heading", "title": "Title", "slot": "main", "sort_order": 1, "content": { "text": "The physics of warp, honestly", "level": 1 } }, { "block_key": "text", "title": "Body", "slot": "main", "sort_order": 2, "content": { "text": "

Warp drive makes for a great story and a hard equation. We asked a working propulsion engineer to walk us through what the math actually allows and where the fiction quietly cheats.

The short version is that the energy budget is the whole story. Everything else is set dressing until you solve for that.

" } } ] }, { "slug": "/episodes/terraforming", "parent_slug": "/episodes", "title": "Terraforming on a budget", "template_key": "article", "reconcile_blocks": true, "blocks": [ { "block_key": "heading", "title": "Title", "slot": "main", "sort_order": 1, "content": { "text": "Terraforming on a budget", "level": 1 } }, { "block_key": "text", "title": "Body", "slot": "main", "sort_order": 2, "content": { "text": "

Making a whole planet livable is a project measured in centuries. So we asked a smaller question. What is the cheapest first step that would make one small world a little more forgiving.

The answer is not domes or rockets. It is patience, pressure, and a very long supply of the right microbes.

" } } ] }, { "slug": "/contact", "title": "Hail us", "template_key": "contact", "reconcile_blocks": true, "blocks": [ { "block_key": "contact-form", "title": "Hail console", "slot": "main", "sort_order": 1, "content": { "heading": "Open a channel", "description": "Send a hail. We read every signal and reply within a few days.", "submitLabel": "Transmit", "successMessage": "Signal received. We will reply on this channel shortly.", "formConfig": { "targetTable": "hail_signals", "enabled": true, "captchaEnabled": false }, "fields": [ { "name": "name", "label": "Name", "type": "text", "required": true, "width": "half" }, { "name": "email", "label": "Email", "type": "email", "required": true, "width": "half" }, { "name": "subject", "label": "Subject", "type": "text", "required": false, "width": "full" }, { "name": "message", "label": "Message", "type": "textarea", "required": true, "width": "full" } ] } }, { "block_key": "contact-card", "title": "Direct channels", "slot": "aside", "sort_order": 1, "content": { "heading": "Direct channels", "columns": 1, "channels": [ { "icon": "lucide:mail", "label": "Email", "value": "hail@subspace.example", "link": "mailto:hail@subspace.example" }, { "icon": "lucide:radio", "label": "Studio line", "value": "+61 2 5550 0148", "link": "tel:+61255500148" } ] } }, { "block_key": "hours-location", "title": "Broadcast hours", "slot": "aside", "sort_order": 2, "content": { "heading": "Broadcast hours", "address": "Deck 12, Signal Studios, Sydney NSW 2000", "hours": [ { "day": "New episode", "hours": "Tuesdays 06:00" }, { "day": "Listener comms", "hours": "Monday to Friday 09:00 to 17:00" }, { "day": "Weekend", "closed": true } ] } } ] }, { "slug": "/login", "title": "Access terminal", "template_key": "auth", "reconcile_blocks": true, "blocks": [ { "block_key": "auth-form", "title": "Sign in", "slot": "main", "sort_order": 1, "content": { "default_tab": "login", "show_social": false } } ] } ], "menu_items": [ { "menu": "main", "label": "Home", "page_slug": "/", "sort_order": 1 }, { "menu": "main", "label": "About", "page_slug": "/about", "sort_order": 2 }, { "menu": "main", "label": "Episodes", "page_slug": "/episodes", "sort_order": 3 }, { "menu": "main", "label": "Hail us", "page_slug": "/contact", "sort_order": 4 } ] }