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.
authorsarrayOrdered author display names.
maxItems=64; uniqueItems=true
descriptionstringPlain-text summary for page and artifact metadata.
maxLength=512
languagestringBCP 47-style document language tag.
pattern="^[A-Za-z]{2,8}(?:-[A-Za-z0-9]{1,8})*$"; maxLength=64
margoobjectClosed namespace for non-authoritative Margo document preferences and site publication controls.
default={}
actionsobjectOptional site publication controls. PDF publication also retains the Markdown source.
default={}
markdownbooleanRetain the original Markdown source and expose copy/view actions in configured HTML sites.
default=false
pdfboolean | string | objectGenerate 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.
modestringHow the PDF action is fulfilled.
enum=["pre-rendered","client"]; default="pre-rendered"
printChartDatabooleanInclude the exact chart-data tables in pre-rendered PDF output.
default=false
pageobjectOptional PDF page preferences overridden by explicit CLI or API values.
default={}
imageOverflowstringControls whether print images are capped at 70% of the page viewport height while preserving their intrinsic aspect ratio.
enum=["limit","allow"]; default="limit"
marginsobjectOptional 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.
bottomnumberBottom page margin in millimeters.
minimum=0
leftnumberLeft page margin in millimeters.
minimum=0
rightnumberRight page margin in millimeters.
minimum=0
topnumberTop page margin in millimeters.
minimum=0
orientationstringPreferred page orientation.
enum=["portrait","landscape"]; default="portrait"
sizestringPreferred physical page size.
enum=["A4","Letter"]; default="A4"
modifiedAtstringLast-modified timestamp in RFC 3339 form.
format="date-time"
publishedAtstringPublication timestamp in RFC 3339 form.
format="date-time"
slugstringOptional lowercase, hyphen-separated consumer slug.
pattern="^[a-z0-9]+(?:-[a-z0-9]+)*$"; maxLength=128
tagsarrayConsumer-visible document tags.
maxItems=64; uniqueItems=true
titlestringHuman-readable document title.
minLength=1; maxLength=256
Used by
margo checkwhen validating Markdown.margo html,margo pdf, andmargo deck.margo schema document, which emits the exact embedded bytes.