Skip to main content

Module node

Module node 

Source
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.
CalloutKind
Canonical callout kind. Obsidian-dialect aliases canonicalize via CalloutKind::from_raw (e.g. tldr/summaryCalloutKind::Abstract). Unknown kinds fall back to CalloutKind::Note; the parser logs at trace level (Diagnostic threading is a Phase 4 followup — see validation::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 have fold: None on the containing Block::Callout.
Inline
An inline-level AST node.