Skip to main content

CLI reference

oaf [command] [options]

Three commands: convert, inspect, validate.

oaf --version # 0.1.0
oaf --help

oaf convert​

Convert e-learning content between formats.

oaf convert <input> [output]
Argument
<input>Input file path. Only .story is implemented — see format support
[output]Output path. Defaults to the input name with the target extension

General options​

OptionValuesDefault
-f, --format <format>markdown, marp, marp-html, oaf, html-viewermarkdown
-m, --mode <mode>full, summary, outlinefull

html-viewer is accepted and then exits with HTML viewer output not yet implemented.

Content options​

OptionEffectDefault
--include-notes / --no-notesSpeaker notesincluded
--include-quizzes / --no-quizzesQuizzesincluded
--include-media / --no-mediaMedia referencesincluded
--no-frontmatterDrop YAML frontmatterfrontmatter included
--no-tocDrop table of contentsTOC included
--copy-media <dir>Extract media files to <dir>referenced, not extracted

Formatting options​

OptionValuesDefault
--quiz-format <format>checklist, table, detailschecklist
--notes-format <format>blockquote, callout, sectionblockquote

Marp options​

OptionValuesDefault
--marp-theme <theme>default, gaia, uncoverdefault
--no-paginateDisable page numbersnumbers shown
--marp-header <text>Header on every slidenone
--marp-footer <text>Footer on every slidenone

Marp HTML options​

OptionValuesDefault
--marp-html-mode <mode>presentation, slidespresentation

Output​

On success, a summary:

Summary:
Title: My Course
Scenes: 3
Slides: 24
Quizzes: 5
Media files: 18

Conversion warnings print before it, prefixed ⚠. Unsupported formats and unimplemented paths exit non-zero.


oaf inspect​

Inspect content structure.

oaf inspect <input>
OptionValuesDefault
-f, --format <format>tree, json, summarytree
--slidesShow slide detailoff
--mediaShow media filesoff
--quizzesShow quizzesoff

--format json writes the whole OAF package to stdout.

Only .story input is accepted; anything else exits non-zero.


oaf validate​

Validate a package, converting first if needed.

oaf validate <input>
OptionDefault
--strictoff

Reports conversion warnings first, then schema validation results. Only .story input is accepted.


Exit codes​

CodeMeaning
0Success. Warnings may still have printed
1Unsupported format, unimplemented path, validation failure, or read error

Warnings do not affect the exit code. A conversion that dropped interactive behavior still exits 0, so check the warning output rather than the exit code alone.