Skip to content

site.yaml

Global branding, navigation labels, footer links, and page copy.

Minimal example

yaml
# yaml-language-server: $schema=https://slide-spec.dev/schema/site.schema.json
schemaVersion: 1
site:
  title: My Project Updates
  home_intro: Team updates published from YAML.
  home_cta_label: View latest presentation
  presentations_cta_label: View all presentations
  links:
    repository:
      label: Source Code
      url: https://github.com/example/my-project
    docs:
      label: Documentation
      url: https://example.com/docs
    community:
      label: Community
      url: https://example.com/community

For a complete example, see the reference site.yaml.

Field reference

Root

FieldRequiredTypeDescription
schemaVersionyesnumberMajor schema version. Must be 1 for this Slide Spec release.
site.titleyesstringSite title for the app shell and document title
site.home_introyesstringHome page intro paragraph
site.home_cta_labelyesstringPrimary home page button label
site.presentations_cta_labelyesstringSecondary home page button label
site.linksyesobjectFooter/resource links (see below)
site.deployment_urlstringPublic URL for the deployed site. Required when sitemap_enabled is true
site.sitemap_enabledbooleanEnable sitemap generation. Requires deployment_url
site.metadataobjectStatic HTML metadata for search and social previews
site.mascotobjectShared mascot image
site.data_sourcesarrayExternal data sources (GitHub only)
site.project_badgeobjectBadge near the hero/title
site.presentation_logoobjectLogo shown in presentation sidebar
site.navigationobjectNav bar labels
site.app_footerobjectFooter repository link
site.attributionobjectOptional attribution block
site.presentation_chromeobjectSlide chrome labels
site.presentation_toolbarobjectToolbar labels and shortcut copy
site.home_heroobjectHome page hero title parts
site.home_logosarrayOptional compact home page logo links
site.presentations_pageobjectPresentations list page labels

All optional string fields must be non-blank when present. Optional objects can be omitted entirely.

site.metadata

These values are written into the built root HTML document so crawlers and link previews can read them before the app loads.

FieldTypeNotes
titlestringFalls back to site.title
descriptionstringFalls back to site.home_intro
image_urlstringAbsolute URL or root-relative path for Open Graph and Twitter/X preview images
image_altstringRequires image_url

If site.deployment_url or --deployment-url is set, relative image_url values are resolved against that canonical site URL. Put root-relative static preview images in the project public/ directory so they are copied into dist/. The canonical URL, Open Graph URL, and sitemap URL all use the same deployment URL.

Three link keys are required:

KeyRequired
repositoryyes
docsyes
communityyes

Each link object:

FieldRequiredType
labelyesstring
urlyesstring
eyebrowstring

site.mascot

FieldRequiredTypeNotes
urlstringLocal or remote image path
altstringRequires url

site.data_sources[]

FieldRequiredTypeNotes
typeyesstringMust be github
urlyesstringMust be a github.com URL

site.project_badge

FieldRequiredTypeNotes
labelstringBadge text
fa_iconstringSupported Font Awesome icon from the icon reference, e.g. fa-code
icon_positionstringbefore or after

At least one of label or fa_icon must be present.

FieldRequiredTypeNotes
urlstringLocal or remote image path
altstringRequires url
FieldType
brand_titlestring
home_labelstring
presentations_labelstring
latest_presentation_labelstring
docs_enabledboolean
toggle_labelstring

All fields optional. When omitted, Slide Spec uses these defaults: Slide navigation, Previous slide, Next slide, Viewport mode, Fullscreen mode, Keyboard shortcuts, Use Left and Right, swipe left or right, Space or Enter for next, P for viewport mode, F for fullscreen mode, and Escape to exit viewport or fullscreen mode., and Do not show again.

FieldTypeNotes
repository_labelstringSet both or omit both
repository_urlstringSet both or omit both

site.attribution

FieldTypeNotes
enabledboolean
labelstringMust be paired with url
urlstringMust be paired with label

site.presentation_chrome

FieldType
mark_labelstring

site.presentation_toolbar

FieldType
navigation_labelstring
previous_slide_labelstring
next_slide_labelstring
viewport_mode_labelstring
fullscreen_mode_labelstring
presentation_mode_labelstring
shortcut_help_titlestring
shortcut_help_bodystring
shortcut_help_dismiss_labelstring

All fields optional.

site.home_hero

FieldType
title_primarystring
title_accentstring
subtitlestring

All fields optional.

site.home_logos[]

Compact logo links rendered below the home page hero. Use them for "used by" links, featured projects, partner logos, or other small logo-based references.

FieldRequiredTypeNotes
nameyesstringLink text shown below the logo
urlyesstringLink target
logoyesobjectLogo image
FieldRequiredTypeNotes
urlyesstringLocal or remote image path
altyesstringAccessible image text

site.presentations_page

FieldType
titlestring
search_labelstring
search_placeholderstring
year_labelstring
all_years_labelstring
open_presentation_labelstring
empty_titlestring
empty_messagestring
previous_page_labelstring
next_page_labelstring
page_labelstring
page_of_labelstring
showing_labelstring
total_labelstring
presentation_singular_labelstring
presentation_plural_labelstring

All fields optional.