← Back to all sparks
R

rmarkdown

COLLAB
Velocity0.0

Dynamic documents for R

rmarkdown's job now is absorbing Pandoc's deprecations before users see them.

r-markdownpandoccompatibilitypublishingr-language
Current state
rmarkdown is at 2.31. Its releases read as a compatibility layer: switching to --syntax-highlighting for Pandoc 3.8 because --highlight-style is deprecated, dropping a syntax-highlighting workaround made unnecessary by Pandoc 2.18 three years ago, restoring table row classes that a Pandoc change removed, and falling back to html_document when a YAML output format is unrecognised.
Where it's heading
The package is stable and mostly defensive. Each release absorbs a change in Pandoc or knitr so documents keep rendering, with the occasional user-facing escape hatch — the rmarkdown.files.suffix option exists because the default _files directory made cloud sync tools delete HTML output. Little here extends what an R Markdown document can do; it keeps existing ones working.
Prediction
Given that the last two releases both handled Pandoc 3.8 flag deprecations, the next is likely to track further Pandoc changes rather than add an output format.

Recent moves

  1. 4mo ago

    Base64 images in non-HTML output; Pandoc 3.8 flag switch

    Base64-encoded images now work in non-HTML output formats, the deprecated --highlight-style flag gives way to --syntax-highlighting on Pandoc 3.8, and an unrecognised YAML output format falls back to html_document instead of failing.

    View source ↗
  2. 10mo ago

    Pandoc 3.8 flag handling and a clear missing-Pandoc error

    Another Pandoc 3.8 deprecation absorbed, this time --no-highlight, alongside removal of a highlighting workaround unnecessary since Pandoc 2.18. pandoc_convert() now errors outright when Pandoc is missing rather than failing obscurely.

    View source ↗
  3. 1y ago

    Correct input control for multi-value knit parameters

    knit_params_ask() now uses a select input for multi-value parameters rather than incorrectly showing radio buttons, and find_external_resources() detects knitr child documents declared as a vector.

    View source ↗
  4. 1y ago

    Table row classes restored; beamer LaTeX dependencies

    Restores odd, even and header classes on table rows for Pandoc 3.2.1 and later so table styling works again, and lets beamer_presentation declare LaTeX dependencies through a new extra_dependencies argument.

    View source ↗
  5. 2y ago

    Configurable auxiliary directory suffix for cloud-synced folders

    Adds the rmarkdown.files.suffix option so the auxiliary directory can be renamed away from _files, which OneDrive and Google Drive were treating as deletable. Also fixes an image-path regression from 2.26.

    View source ↗
  6. 2y ago

    knitr 1.43 floor and stringr dependency dropped

    Raises the knitr floor to 1.43, drops the stringr dependency for base equivalents, aligns fig_crop auto detection with knitr and stops a case where input files could be corrupted. Housekeeping.

    View source ↗