docs: render references from source metadata

This commit is contained in:
Zef Hemel
2026-07-16 12:07:56 +02:00
parent 75ca3b9c39
commit 8e004812bc
29 changed files with 109 additions and 2633 deletions
+1 -84
View File
@@ -9,87 +9,4 @@ references:
The Markdown API provides functions for parsing and rendering Markdown content.
## Markdown Operations
### markdown.parseMarkdown(text)
Parses a piece of markdown text into a ParseTree.
Example:
```lua
local text = [[
# Hello World
This is a **bold** statement.
]]
local tree = markdown.parseMarkdown(text)
print("Parsed markdown tree:", tree)
```
### markdown.renderParseTree(tree)
Renders a ParseTree back to markdown text.
Example:
```lua
local text = "# Title\n\nSome text"
local tree = markdown.parseMarkdown(text)
-- Modify tree if needed
local rendered = markdown.renderParseTree(tree)
print("Rendered markdown:", rendered)
```
### markdown.markdownToHtml(text)
Renders a piece of markdown text into HTML
Example:
```lua
local text = "# Title\n\nSome text"
local html = markdown.markdownToHtml(text)
print("Rendered html:", html)
```
### markdown.expandMarkdown(textOrTree, options?)
Expands custom markdown Lua directives and transclusions into plain markdown. Accepts either a markdown ParseTree or string.
Options (all default to `true`):
* `expandTransclusions`: Replace (markdown transclusions) with their content
* `expandLuaDirectives`: Replace Lua directives with their evaluated values
* `rewriteTasks`: Rewrite tasks to include references so that they can be updated
Example:
```lua
local text = "This is a some lua ${os.time()}"
print("Expanded markdown:", markdown.expandMarkdown(text))
```
### markdown.bakeSections(text, pageName?)
Re-bakes [[Baked Sections]] (`<!--#lua EXPR -->` ... `<!--/lua-->`) in `text` and returns the updated markdown.
Sections whose expression can’t produce portable markdown (an evaluation error, or an HTML-only widget) are left unchanged.
Example:
```lua
local text = [[
Total: <!--#lua 1 + 2 -->
old
<!--/lua-->
]]
-- Returns the text with the body refreshed to "3"
print(markdown.bakeSections(text))
```
### markdown.objectsToTable(data, options?)
Transforms a list of tables into a markdown table.
Supported options:
* `renderCell(val, key)` custom cell renderer
Example:
${markdown.objectsToTable({{name="Pete", age=20}, {name="Jane", age=32}}, {
renderCell=function(v, k)
if k == "age" and v > 20 then
return "*" .. v .. "*"
else
return v
end
end})}
${spacelua.renderApiDocumentation("markdown")}