Skip to contents

pandoc is currently an experimental R package primarily develop to help maintainers of R Markdown ecosystem.

Indeed, the R Markdown ecosystem is highly dependent on Pandoc (https://pandoc.org/) changes and it is designed to be as version independent as possible. R Markdown is best used with the latest Pandoc version but any rmarkdown package version should work with previous version of Pandoc, and new change in Pandoc should not break any rmarkdown features.

This explains the needs for a more focused tooling to:

  • Install and manage several Pandoc versions. This is useful for testing versions and comparing between them.
  • Call Pandoc’s command directly without the layers added by rmarkdown. This is useful for debugging or quickly iterating and finding where a bug comes from.
  • Retrieve information from Pandoc directly. Each version comes with changes and some of them are included into the binary. Being able to retrieve those information and compare between versions is important to help maintain the user exposed tooling.

This package can also be useful to advanced developers that are working around Pandoc through rmarkdown or not.

Installation

Install from CRAN:

The development version can be install from GitHub with:

# install.packages("pak")
pak::pak("cderv/pandoc")

Usage

All functions are prefixed with pandoc_ and you will find below their main usage. See Get started for usage examples and Reference page for full details of functions.

Most functions follows these following rules:

  • They are prefixed with pandoc_ .
  • They can be used with any installed Pandoc version using version argument.
  • Versions to use are passed as a string, either the version number (e.g "2.14.2" ), or one special alias (default, nightly , rstudio , system) .

Available functions allows:

Example

library(pandoc)
# Install version
pandoc_install("2.7.3")
#> ✔ Pandoc 2.7.3 already installed.
#>   Use 'force = TRUE' to overwrite.
pandoc_install("2.11.4")
#> ✔ Pandoc 2.11.4 already installed.
#>   Use 'force = TRUE' to overwrite.
# Highest install is used
pandoc_version()
#> [1] '3.1.6'

See detailed examples in Get started.

Code of Conduct

Please note that the pandoc project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.