S7 classes for representing R Markdown AST nodes with automatic validation.
All classes inherit from the base rmd_node
class and provide type-safe object creation
with built-in validation of properties.
Details
The following S7 classes are available for creating R Markdown AST nodes:
Core Classes
rmd_node()
- Abstract base class for all R Markdown AST nodes. This is the parent class for all specific node types and should not be instantiated directly.rmd_ast()
- Container for multiple nodes representing a complete document AST.
Content Nodes
rmd_yaml()
- YAML frontmatter header containing document metadata.rmd_chunk()
- Code chunks with executable code in various engines (R, Python, etc.).rmd_raw_chunk()
- Raw code chunks that are not executed.rmd_markdown()
- Plain markdown text content.rmd_heading()
- Section headings at various levels (1-6).
Code and Inline Elements
rmd_code_block()
- Fenced code blocks without execution.rmd_code_block_literal()
- Code blocks with literal {{...}} attributes.rmd_inline_code()
- Inline code spans within markdown text.rmd_shortcode()
- Quarto/Pandoc shortcodes for special functionality.rmd_span()
- Generic inline spans with attributes.
Structural Elements
rmd_fenced_div_open()
- Opening tags for fenced divs (:::).rmd_fenced_div_close()
- Closing tags for fenced divs (:::).
See also
rmd_node_utilities for utility functions that work with these S7 objects