Schema Reference
The source of truth is schema/presentation.schema.json in the repository root.
| Field |
Type |
Notes |
title |
string |
Required |
author |
string |
Optional |
description |
string |
Optional |
theme |
string |
default, light, dark, academic, minimal |
aspectRatio |
string |
16:9 or 4:3 |
controls.slideNumbers |
boolean |
Slide number visibility |
controls.progress |
boolean |
Progress bar visibility |
controls.showNotes |
boolean |
Enables speaker notes support |
customTheme.colors.* |
string |
Hex colors only |
customTheme.fonts.* |
string |
CSS font-family values |
Slide fields
| Field |
Type |
Notes |
id |
string |
Stable slide identifier |
title |
string |
Overview label |
layout |
string |
single-column, two-column, title, blank |
background |
string |
Hex color or image path |
transition |
string |
slide, fade, convex, concave, zoom |
speakerNotes |
string |
Presenter notes |
elements |
array |
Slide content |
Shared element fields
style
| Field |
Type |
Allowed values |
fontSize |
string |
small, medium, large, xl, xxl |
alignment |
string |
left, center, right, justify |
color |
string |
Hex color |
fontWeight |
string |
normal, bold, light |
position
| Field |
Type |
Allowed values |
area |
string |
header, content, footer, left, right, center |
order |
integer |
0 or greater |
animation
| Field |
Type |
Allowed values |
type |
string |
fade, slide-up, slide-down, zoom, none |
fragment |
boolean |
Progressive reveal toggle |
index |
integer |
Reveal order |
animation can be used on all top-level element types. For bullets, object-form items may also define their own animation.
Element-specific fields
text
- required:
type, content
- supports Markdown, alerts, and LaTeX
bullets
- required:
type, items
bulletStyle: disc, circle, square, number, none
- items can be strings or nested
{ text, children, animation } objects
- use item-level
animation.index values to reveal bullet points one at a time
image
- required:
type, src
- optional:
alt, width, height, caption
- width and height support
%, px, or auto
mermaid
- required:
type, diagram
theme: default, dark, forest, neutral
callout
- required:
type, content
calloutType: tip, warning, important, note, info
- optional
title
- supports shared
animation settings for fragment reveals
code
- required:
type, code
- optional
language, caption, lineNumbers
- supports shared
animation settings for fragment reveals
table
- required:
type, headers, rows
- optional
caption