Expand description
Block-level and inline-level AST nodes.
Closed enums; pattern matching is the visitor framework. The variants
cover what moss emits today (CommonMark + GFM extensions enabled in the
pipeline: tables, strikethrough, footnotes — see
src-tauri/src/build/markdown/pipeline.rs’s Options setup).
Anything pulldown-cmark emits that the AST hasn’t modeled flows through
Block::Other / Inline::Other, which carries the raw HTML so the
renderer passes it through unchanged. New variants may be promoted out
of Other over time as a need is identified.
Enums§
- Block
- A block-level AST node.
- Callout
Kind - Canonical callout kind. Obsidian-dialect aliases canonicalize via
CalloutKind::from_raw(e.g.tldr/summary→CalloutKind::Abstract). Unknown kinds fall back toCalloutKind::Note; the parser logs at trace level (Diagnostic threading is a Phase 4 followup — seevalidation::Diagnostic, today scoped to frontmatter validation). - Fold
- Foldable callout state.
> [!type]+→Fold::Open(foldable, open by default);> [!type]-→Fold::Closed(foldable, closed by default). Non-foldable callouts havefold: Noneon the containingBlock::Callout. - Inline
- An inline-level AST node.