Skip to content
Beta

Trail Presentation Mode Guide

Last updated on

Every trail doubles as a slide deck. The same timeline a reader scrolls can be projected step by step, with an agenda, a presenter view, and speaker notes. Nothing is authored twice: the deck is generated from the trail’s scfTrail frontmatter, and this guide covers both how a presenter drives it and how you, the author, prepare it.


Open any trail (from the Trails overview or an embedded trail loader), expand it, and use the Present button on the detail view. The deck opens full screen over the page with a launch screen first — no separate page, no extra frontmatter required for the basic case.


Before the first slide, the launch screen lets the presenter tailor the run:

  • Show all steps (default on) — every step becomes a slide. Turn it off to reveal a per-step list with two checkboxes each: Slide (include the step at all) and Agenda (list it in the agenda). Numbers renumber live as you include or drop steps.
  • Alternative select — a step with alternatives (alternative tracks) shows a small track select in that list, and the list stays visible from the start on such trails. It defaults to whichever track is active on the trail page, so a choice made there carries into the deck; the slide, its attribution corner and its speaker note all follow the chosen track.
  • Prepared view dropdown — pick one of the author’s curated views (below) or leave it on Default (all steps). Selecting a view fills in the per-step choices for you.
  • Layout toggle — Auto-fit (default) splits a step over as many slides as it needs, so nothing scrolls out of view. Full step per slide keeps the whole step on one slide and lets it scroll instead.
  • Start — runs the deck and takes it fullscreen. Browsers only grant fullscreen from a click, which is why it happens here and not when the deck opens; F or Escape leaves it again.

Presenting: Controls and the Presenter Window

Section titled “Presenting: Controls and the Presenter Window”

Once running, the deck is keyboard- and pointer-driven:

  • Navigate — arrow keys or space move between slides; the on-screen controls mirror them.
  • Jump — click the slide counter (N / total) and type a number to jump straight to it.
  • Fullscreen — the fullscreen button, or the F key.
  • Presenter window (S or the screen button) — opens a second window with the current slide, its speaker notes, an “up next” preview, a timer, and a clock. It stays in sync with the main deck, so you can share only the deck on the projector while keeping notes on your laptop.
  • Speaker notes — every slide has a notes field. The author’s per-step context is shown as a starting note; anything you type is saved in your browser per trail.
  • Settings gear — toggles chrome, attribution, agenda, looping, and more. Click outside the panel to close it.

Display presets bundle those toggles for common situations, selectable in settings or preset from the launch config:

  • standard — the defaults.
  • minimal — chrome and attribution off, for a clean look.
  • kiosk — auto-advance and loop on, chrome off, for an unattended screen.
  • focus — attribution off, everything else standard.

By default the deck shows every step. As the author you can predefine one or more prepared views — curated slide selections the reader picks from the launch-screen dropdown. Give each referenced step a stable id on the trail step, then add a presentations list under scfTrail:

scfTrail:
steps:
- id: "assessment"
style: "compass"
title: "Initial Assessment"
trailContext: "Analyze workload traits before initializing resources."
- id: "landing-zone"
style: "gondola"
assetId: "migration/assetcontainer/stackit/landing-zone-foundation-opentofu"
trailContext: "Deploy the landing zone with standardized infrastructure code."
# ...more steps...
presentations:
- id: "executive"
label: "Executive overview"
description: "The key milestones, for a management audience."
steps:
- assessment # included as a numbered agenda point
- { id: landing-zone, role: sub } # nested sub-point of the previous main step
- id: "technical"
label: "Technical deep-dive"
steps:
- { id: assessment, role: hidden } # stays a slide, but is left out of the agenda
- landing-zone

Each view carries:

  • id — unique within the trail.
  • label — shown in the launch-screen dropdown.
  • description (optional) — a short hint about the view.
  • steps — the curated subset, in trail order. Reference each step by its id (or its 1-based position). A step you do not list is dropped from that view.

Each listed step takes an optional role controlling how it appears in the deck’s agenda:

  • main (default) — a numbered agenda point.
  • sub — an indented sub-point (a, b, …) of the previous main point.
  • hidden — the step stays a slide, but is left out of the agenda.

A step’s own timeline role (see the Trail authoring guide) is the default here, so timeline sub-steps come through as agenda sub-points without repeating yourself.

A listed step also takes an optional notes — a speaker note just for this view. While the view is presented, the presenter window shows it as the step’s “Authored note”; the default all-steps view (and any other view without a note on that step) shows the step’s trailContext instead. It lets you tailor the talk track per audience without touching the timeline:

presentations:
- id: "executive"
label: "Executive overview"
steps:
- { id: assessment, notes: "Open with the business case; skip the tooling detail." }
- { id: landing-zone, role: sub, notes: "One sentence: it is provisioned as code, reproducible." }

A listed step also takes an optional alternative — it pins one of the step’s alternatives (alternative tracks) for this view, by the alternative’s id (default names the step’s own track). An executive view can pin the managed route while the technical deep-dive pins the do-it-yourself one; an unknown id or a step without alternatives ignores the field:

presentations:
- id: "executive"
label: "Executive overview"
steps:
- { id: migrate-vms, alternative: "default", notes: "The managed route: one guide, predictable waves." }
- id: "technical"
label: "Technical deep-dive"
steps:
- { id: migrate-vms, alternative: "hystax", notes: "Walk the live-migration path end to end." }

Recommended pairing: give a substantial trail at least two views — a technical deep-dive for practitioners and a non-technical overview for briefings and decision-makers, each with its own notes. The tm trails and the STACKIT onboarding trails (scf-onboarding, getting-started-contributor) follow this pattern and double as copy-paste references.


A link can open a trail as a deck right away. Add present to the trail link, for example /trails/?trail=<trail id>&present=kiosk. The value decides what happens:

  • kiosk: the deck starts at once and moves on by itself. After the last slide it starts over. This is made for a screen nobody operates.
  • auto: the deck starts at once and moves on by itself. It stops on the last slide.
  • ask: the launch screen opens first, so the visitor confirms before the first slide. The “Get Started” button on the front page works this way.

kiosk and auto work for every trail. ask only works for a trail with a view marked launch: true. A trail without such a view ignores the link and only expands.

These fields belong to that launch view. They only apply when an ask link opens it:

  • launch: set true to open this view from an ask link.
  • preset: standard, minimal, kiosk or focus. It is applied on the launch screen.
  • fullscreen: Start goes full screen by default. Set false to keep the deck inside the window.
  • agenda: set false to open without an agenda slide and jump straight to the first step. This wins over the preset, so a minimal tour can still skip the agenda.

One more field has nothing to do with links:

  • default: set true to preselect this view when the deck is opened normally. Otherwise it starts on Default (all steps).
presentations:
- id: "quick-tour"
label: "Quick tour"
launch: true
preset: "minimal"
agenda: false
steps: [assessment, landing-zone]

A screen at an event can show several trails one after another:

  1. Save the trails with the heart on their cards.
  2. Open Lists in the header and put the trails in order with the arrows.
  3. Select Play as kiosk.

The list turns into a kiosk link. At the end of each deck the next trail opens. After the last trail it starts over with the first. Assets and contributors in the list are skipped.

The time per slide is set in the deck settings under Auto-advance. The browser remembers it for each trail on its own. So set it once per trail on the device that runs the screen.


Steps compose their own slide layout, and the deck mirrors the timeline exactly:

  • A step with a figure (imageSrc) becomes a two-column slide — figure on one side, content on the other — or a centered cover when no imagePosition is set.
  • A step using the left / right / center slots puts any content type on either side or centered: free text, a figure, or a card (assetId / pageId / trailId) that acts as a pointer — add a #section-anchor to an assetId / pageId to also embed that one section beneath its card. left + right → split, one side only → that side, center → a centered cover.

Both are authored on the trail step and documented in the Trail authoring guide. Figures are click-to-zoom on the slide, animated SVGs included. A bare card stays compact; use a #section-anchor when you want a section’s content embedded, so the slide is never one very tall column.

The deck adapts these slides on a phone. Nothing in the trail needs to change for it.

  • Held upright: a step with left and right shows one column large and the other as a small preview beside it. Tap the preview, swipe or use the next arrow to swap them. Next shows the right column first and then moves on to the next step.
  • Picture beside the text: held upright, a step with imageSrc and imagePosition: left or right shows the picture above the text at full width.
  • Turned sideways: the top of each slide shrinks to one short row. A split step keeps both columns side by side.

Asset historyActive 8 of the last 12 weeksTMUpdatedNo updates · 1 bar = 1 week i
Maintainers
TMTobias M.Head of STACKIT Cloud Framework · STACKITOwnerActive 12 of the last 12 weeks · 168 updatesSTACKITwww.linkedin.com/in/tobias-müller-011304172Contributed in STACKIT
Show full history (9 more)