- Breaking Change: Migrated from S3/S4 classes to S7 classes for all AST node types (
rmd_ast,rmd_chunk, rmd_heading, etc.)
- Breaking Change: Removed deprecated
rmd_subset() and related helper functions (rmd_get_node(), rmd_get_chunk(),rmd_get_markdown(), rmd_has_node(),rmd_has_chunk(), rmd_has_markdown()). Usermd_select() with tidyselect syntax instead.
- Added support for yaml chunk options - e.g. (
#| echo: false)
- Added support for fenced divs - e.g. (
::: {.class} ... :::)
- Added support for markdown code blocks
- Added support for yaml expressions - e.g. (
!expr)
- Added support for parsing collections of Rmd and qmd files - see
parse_qmd_collection() andparse_rmd_collection()
- Removed option to not parse yaml - this is now always parsed. Based on this yaml node classes were simplified to just include
rmd_yaml.
- Added support for Pandoc-style ordered fenced attributes for code blocks, fenced divs, and spans
- Added
rmd_fenced_div_wrap() function to wrap selected nodes with fenced divs
- Added
rmd_insert() function to insert nodes relative to selected nodes
- Added support for code block literals - e.g. ```{{r}}
- Added support for 2ndary parsing to handle inline elements:
- quarto shortcodes, inline code, and spans
- Enhanced
rmd_select() functionality and node manipulation
- Added
has_heading() helper function for selecting heading nodes using glob patterns
- Added
by_fenced_div() helper function for selecting fenced div sections using attribute patterns
- Added
keep_yaml argument to rmd_select()(defaults to TRUE) to automatically include YAML nodes in selections