Skip to content
Margo v0.0.22

Document schema

#

This schema describes the generic metadata and Margo-owned rendering preferences accepted in Markdown frontmatter. Consumer-owned metadata remains available outside the Margo namespace.

Margo document metadata v1

Known generic metadata and closed Margo-owned rendering preferences. Consumer-owned root properties remain allowed.

  • authorsarray

    Ordered author display names.

    maxItems=64; uniqueItems=true

  • descriptionstring

    Plain-text summary for page and artifact metadata.

    maxLength=512

  • languagestring

    BCP 47-style document language tag.

    pattern="^[A-Za-z]{2,8}(?:-[A-Za-z0-9]{1,8})*$"; maxLength=64

  • margoobject

    Closed namespace for non-authoritative Margo document preferences and site publication controls.

    default={}

    • actionsobject

      Optional site publication controls. PDF publication also retains the Markdown source.

      default={}

      • markdownboolean

        Retain the original Markdown source and expose copy/view actions in configured HTML sites.

        default=false

      • pdfboolean | string | object

        Generate a pre-rendered PDF artifact and retain the original Markdown source, or use client browser print without generating a PDF artifact. The object form can include exact chart-data tables in pre-rendered output.

        • modestring

          How the PDF action is fulfilled.

          enum=["pre-rendered","client"]; default="pre-rendered"

        • printChartDataboolean

          Include the exact chart-data tables in pre-rendered PDF output.

          default=false

    • pageobject

      Optional PDF page preferences overridden by explicit CLI or API values.

      default={}

      • imageOverflowstring

        Controls whether print images are capped at 70% of the page viewport height while preserving their intrinsic aspect ratio.

        enum=["limit","allow"]; default="limit"

      • marginsobject

        Optional physical page margins in millimeters; omitted sides retain the target default and explicit zero requests full bleed on that side. PDF documents default to 24/22/26/22 mm while decks default to zero.

        • bottomnumber

          Bottom page margin in millimeters.

          minimum=0

        • leftnumber

          Left page margin in millimeters.

          minimum=0

        • rightnumber

          Right page margin in millimeters.

          minimum=0

        • topnumber

          Top page margin in millimeters.

          minimum=0

      • orientationstring

        Preferred page orientation.

        enum=["portrait","landscape"]; default="portrait"

      • sizestring

        Preferred physical page size.

        enum=["A4","Letter"]; default="A4"

  • modifiedAtstring

    Last-modified timestamp in RFC 3339 form.

    format="date-time"

  • publishedAtstring

    Publication timestamp in RFC 3339 form.

    format="date-time"

  • slugstring

    Optional lowercase, hyphen-separated consumer slug.

    pattern="^[a-z0-9]+(?:-[a-z0-9]+)*$"; maxLength=128

  • tagsarray

    Consumer-visible document tags.

    maxItems=64; uniqueItems=true

  • titlestring

    Human-readable document title.

    minLength=1; maxLength=256

Used by