Skip to main content

Module ast

Module ast 

Source
Expand description

The shared document AST.

Document is the canonical representation both sides parse into and render out of. This module is pure data; each format’s parser and renderer live in its own module (crate::markdown, crate::confluence). The Markdown↔AST↔Confluence contract is documented in docs/MAPPING.md.

Structs§

Document
Macro
A Confluence <ac:structured-macro>. The same representation covers the built-in macros (code, info, note, warning, tip, panel, expand, toc, status) and any unknown macro, which is preserved rather than dropped.
Table
A GFM/Confluence table. head is the header row; rows are body rows; each cell is a sequence of inlines. align is per column (lossy toward Confluence, which has no standard per-column alignment).
Task

Enums§

Alignment
Block
ImageSource
The source of an Inline::Image: an external URL (ri:url) or a Confluence attachment (ri:attachment).
Inline
LinkTarget
The destination of a Inline::Link. External links carry a URL; the others are Confluence resource references (ri:page / ri:attachment / anchor) that round-trip through Markdown as a confluence:// URI.
MacroBody
The body of a Macro: empty (toc/status), raw text (code, via CDATA), or nested storage markup (admonitions, panel, expand).