The Markdown API provides functions for parsing and rendering Markdown content.
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(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:
Example:
local expanded = markdown.expandMarkdown("This is some Lua: ${1 + 2}")
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(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(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(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))