The Markdown API provides functions for parsing and rendering Markdown content.
markdown.bakeSections
markdown.bakeSections(text, pageName?)
Re-evaluates all baked Lua sections in Markdown text; sections that error or only render as HTML are left unchanged.
Parameters:
text(string) — Markdown containing baked sections.pageName?(string) — Page used as currentPage during evaluation.
Returns:
string— Markdown with updated baked section bodies.
Example:
local text = "Total: <!--#lua 1 + 2 -->\nold\n<!-- /lua -->"
print(markdown.bakeSections(text))markdown.expandMarkdown
markdown.expandMarkdown(text, options?)
markdown.expandMarkdown(tree, options?)
Expands Markdown transclusions, Lua directives, and task references.
Parameters:
textOrTree— Markdown text or parsed tree.options?(table) — Expansion switches: expandTransclusions, expandLuaDirectives, and rewriteTasks; all default to true.
Returns:
- Value — Expanded text or tree, matching the input form.
Example:
local expanded = markdown.expandMarkdown("This is some Lua: ${1 + 2}")markdown.markdownToHtml
markdown.markdownToHtml(text, options?)
Renders Markdown text to HTML.
Parameters:
text(string) — Markdown source.options?(table) — HTML rendering options.
Returns:
string— Rendered HTML.
Example:
local html = markdown.markdownToHtml("# Title")markdown.objectsToTable
markdown.objectsToTable(data, options?)
Formats a list of objects as a Markdown table.
Parameters:
data(table) — Rows to render.options?(table) — Optional renderCell callback.
Returns:
string— Markdown table.
Example:
local tableText = markdown.objectsToTable({{name = "Pete", age = 20}})markdown.parseMarkdown
markdown.parseMarkdown(text)
Parses Markdown text into a syntax tree.
Parameters:
text(string) — Markdown source.
Returns:
table— Parsed Markdown tree.
Example:
local tree = markdown.parseMarkdown("# Title")markdown.renderParseTree
markdown.renderParseTree(tree)
Renders a Markdown syntax tree back to source text.
Parameters:
tree(table) — Markdown syntax tree.
Returns:
string— Rendered Markdown.
Example:
local tree = markdown.parseMarkdown("# Title")
print(markdown.renderParseTree(tree))