{
  "$id": "https://getnarro.com/schema/deck-frontmatter.schema.json",
  "title": "Narro deck frontmatter",
  "description": "The YAML block at the top of a Narro markdown deck. Keys not listed here are preserved and passed through to the theme and layouts.",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "title": {
      "description": "Deck title. Used for the document title.",
      "type": "string"
    },
    "author": {
      "description": "Who wrote the deck.",
      "type": "string"
    },
    "date": {
      "description": "Presentation date, as free text.",
      "type": "string"
    },
    "theme": {
      "description": "Theme name. \"default\" is the built-in styling; anything else must be a theme the host can resolve.",
      "type": "string"
    },
    "template": {
      "description": "Path to the deck template (the slide master), relative to the deck file. Omit it and a `<deck>.template.*` or `template.*` beside the deck is used.",
      "type": "string"
    },
    "aspectRatio": {
      "description": "Slide aspect ratio, e.g. \"16:9\", \"4:3\", \"21:9\".",
      "type": "string"
    },
    "transition": {
      "description": "Default transition between slides, overridable per slide.",
      "type": "string"
    },
    "class": {
      "description": "Tailwind classes applied to every slide root.",
      "type": "string"
    },
    "keyboard": {
      "description": "Enable keyboard navigation (default true).",
      "type": "boolean"
    },
    "mouse": {
      "description": "Enable click-the-edge navigation (default true).",
      "type": "boolean"
    },
    "touch": {
      "description": "Enable swipe navigation (default true).",
      "type": "boolean"
    },
    "routing": {
      "description": "Track the current slide in the URL (default true).",
      "type": "boolean"
    },
    "favicon": {
      "description": "Favicon URL or data URI.",
      "type": "string"
    },
    "maxDuration": {
      "description": "Talk length in minutes, for the presenter view's countdown.",
      "type": "number"
    }
  },
  "additionalProperties": true
}
