Skip to content

Releases: rstudio/rmarkdown

rmarkdown 2.19

15 Dec 16:55
Compare
Choose a tag to compare
  • No longer use xfun::isFALSE() internally.

rmarkdown 2.18

09 Nov 14:06
Compare
Choose a tag to compare
  • rmarkdown::render() argument output_file is now used for all output formats, if there is only one name for multiple output formats (thanks, @MaelAstruc, #2421).

  • Custom output formats can provide a custom function to convert Markdown input to the desired output format now. To do so, define the output format via output_format(pandoc = pandoc_options(convert_fun = function(...) {})). The default converting function is pandoc_convert() in this package. See the help page ?pandoc_options for more details.

rmarkdown 2.17

07 Oct 22:44
Compare
Choose a tag to compare
  • rmarkdown::render_site() will now also look for index.rmd in addition to index.Rmd for custom site generator in YAML with site: (thanks, @kamalsacranie, #2409).

  • Icons in tabset dropdown are now correctly shown, including when self_contained: false (thanks, @cpsievert, #1697).

rmarkdown 2.16

24 Aug 20:01
Compare
Choose a tag to compare
  • Pandoc 2.19 has deprecated the argument --self-contained. If you have installed Pandoc 2.19+, rmarkdown will use --embed-resources --standalone as recommended by Pandoc for output formats that use the option self_contained = TRUE (#2382).

  • pandoc_version() returns a version number of the form X.Y.Z.YYYY.MM.DD for the nightly build of Pandoc now, where YYYY.MM.DD is its build date. Previously it would return X.Y.Z.9999 to indicate the nightly version.

rmarkdown 2.15

16 Aug 18:39
Compare
Choose a tag to compare
  • Fix navbar issue with website when using Boostrap 5 with bslib (thanks, @guasi, #2379, @cpsievert, #2384).

  • The tufte_handout() function inside rmarkdown is defunct now. Its codebase was moved to the tufte package in 2016, and this function was marked as deprecated in 2021. Please use tufte::tufte_handout() instead of rmarkdown::tufte_handout(). The latter will be removed eventually from this package.

  • github_document() gains math_method = "default" and defaults to it. No special processing will be done to inline maths in $ and block maths in $$ as now Github supports it and will render using Mathjax (thanks, @kylebutts, #2361).

rmarkdown 2.14

25 Apr 21:44
Compare
Choose a tag to compare
  • Improved highlighting theme arrow regarding accessibility.

  • Fixed an issue with site_generator() detection of a site project (thanks, @bhattmaulik, #2344).

  • Fixed an issue with Shiny prerendered documents and Pandoc not correctly rendering last Markdown paragraph in HTML (thanks, @gadenbuie, #2336).

  • Fixed a bug that site_generator() fails to detect the root dir of the site and causes infinite recursion (thanks, @fisher-j, #2339).

  • html_vignette() gains code_folding argument (thanks, @atusy, #2340).

  • html_document() can opt-out code_folding = "show" or "hide" for individual code blocks by adding the fold-none class to the code blocks (thanks, @atusy, #2348).

  • When using a development version of Pandoc, a .9999 suffix is appended to version number so that pandoc_available() can correctly compared version with last release.

rmarkdown 2.13

10 Mar 14:46
Compare
Choose a tag to compare
  • Fix an issue with older R version and vignette building (#2324).

  • Fix an issue with older R version and preserve_yaml = TRUE in md_document() (#2325).

  • Long title in ioslides_presentation failed to work with Pandoc 2.17.x (thanks, @Am386DX-40, #2327).

rmarkdown 2.12

02 Mar 21:58
Compare
Choose a tag to compare
  • html_document() and html_document_base() gains the math_method argument to support all the math rendering engines from Pandoc: "mathjax", "katex", "mathml", "webtex", and "gladtex". For backward compatibility, the mathjax argument still works and will take precedence over math_method, but we recommend using the new math_method argument instead of the mathjax argument, and the latter could be deprecated in the future.

    You can specify a math engine via math_method as an engine name, e.g.,

    output:
      html_document:
        math_method: katex

    or provide both a name and a URL (for mathjax, katex and webtex):

    output:
      html_document:
        math_method: 
          engine: mathjax
          url: https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js

    For math_method = "katex", KaTeX CDN will be inserted in version 0.15.2 by default (from jsdelivr). A custom URL toward another CDN can be passed as url.

    For math_method = "webtex", it will default to inset SVG using https://latex.codecogs.com/svg.image?. Use https://latex.codecogs.com/png.image? for PNG. See https://latex.codecogs.com for supported options (dpi, background, ...).

    Most HTML output format using html_document() or html_document_base() as based format should benefit from this new feature.
    See ?rmarkdown::html_document() for details (thanks, @atusy, #1940).

  • github_document() also gains the math_method argument set to "webtex" by default so that LaTeX equations can be rendered in the Github Markdown document as images. Previously, LaTeX equations were not rendered. Set math_method = NULL to deactivate.

  • Added support for katex R package as a math engine with math_method = "r-katex" in HTML documents. This method offers server-side rendering of all the equations, which means no JS processing is needed in the browser as with usual KaTeX or MathJaX methods. (thanks, @jeroen, #2304).

  • anchor_sections can now be easily customized using style or depth element for anchor_sections. For example:

    output:
      html_document:
        anchor_sections:
          style: symbol # use symbol style ("hash", "symbol", "icon")
          depth: 2 # max depth to apply anchor on (default to max which is 6)

    Customizing using a CSS rule is still possible. Detailed explanation and examples have been added to the help page ?html_document.

  • Improved the highlighting mechanism in formats that supports highlight argument:

    • It is now possible to pass a custom theme file .theme in highlight argument for customizing the syntax highlighting style used by Pandoc.
    • In addition to Pandoc's own supported themes, two more themes are bundled in the package: highlight: arrow a theme optimized for accessibility and color constrast (thanks to @apreshill), and highlight: rstudio to mimic the RStudio editor theme.
    • For HTML output only, added optional downlit support in html_document() for R syntax highlighting and autolinking. Use highlight_downlit = TRUE to activate it (same argument as in distill). This features require the downlit package.
  • Templates for html_document() and ioslides_presentation() gained a new CSS rule to display single line <summary> content inline (rstudio/rstudio#10589).

  • md_document() gained a new standalone argument, which is FALSE by default unless toc = TRUE. This allows to output authors, date and other metadata per the Pandoc's template. Due to limitation in how Pandoc is handling metadata blocks in its extensions yaml_metadata_block, preserve_yaml = TRUE now deactivate any extension to let rmarkdown directly handle the keeping of YAML block - this means it does not set standalone = TRUE by default. Meanwhile, github_document() gained the preserve_yaml argument (thanks, @florisvdh, #2297).

  • Added available_templates() to list all the templates from a specific package that can be used with rmarkdown::draft().

  • Following support in Pandoc 2.15, powerpoint_presentation() gained a incremental argument as other slide formats. As a reminder, setting incremental = TRUE will make lists to display incrementally. See more in Pandoc's MANUAL.

  • Added support for Pandoc's dir variable in HTML templates. This is the second Language Variables after lang.

  • Added a global option rmarkdown.html_dependency.header_attr (TRUE by default). It can be set to FALSE to opt-out the HTML dependency html_dependency_header_attrs() in documents based on html_document_base() (thanks, @salim-b rstudio/bookdown#865, @maelle r-lib/downlit#1538).

  • Rendering using runtime: shiny_prerendered or runtime: shinyrmd now natively supports custom templates. Previously since 2.8, developers had to add a special comment, <!-- HEAD_CONTENT -->, conditionally to shiny-prerendered variable. (See also NEWS from 2.8 for the previous behavior). The new behavior inserts required special comment <!-- HEAD_CONTENT --> as a last element of $header-includes$. If templates rely on the old behavior and require some contents between $header-includes$ and <!-- HEAD_CONTENT -->, consider including them with $header-includes$ (thanks, @atusy, @gadenbuie #2249).

  • A shiny prerendered document with only a empty server context does not error anymore. Document will be rendered with a empty server function and server.R file will be ignored. To use server.R, no server context should be present in the Rmd document (thanks, @jcheng5, #2305).

  • Fixed a regression with rendering shiny_prerendered document (thanks, @aronatkins, @gadenbuie, #2218).

  • Fixed an issue in beamer_presentation() where header-includes would be overwritten by includes = list(in_header =) (thanks, @samcarter, #2294). Same fix as for pdf_document() (#1359).

  • Fixed broken links to section headers when number_sections = TRUE is specified in md_document and github_document (thanks, @atusy, #2093).

  • draft() now works with devtools::load_all() and testthat when used in other packages.

  • Lua Filters: Added two more functions in shared.lua for other package to use:

    • Added type() function backward compatible following Pandoc 2.17 changes.
    • Added print_debug() for easier logging during debug.

rmarkdown 2.11

14 Sep 14:42
Compare
Choose a tag to compare
  • Relative paths in parent directories in the css argument of html_document() were incorrectly normalized to absolute paths by #2095 in v2.8. Now relative paths in parent directories will no longer be converted to absolute paths (thanks, @daijiang, yihui/xaringan#331).

  • It is possible to specify the version of jQuery via a global option now, e.g., options(rmarkdown.jquery.version = 2) (note that the default major version is 3). This is mainly for advanced users and developers to test different versions of jQuery.

  • pandoc_citeproc_convert() now handles correctly bib file containing specific UTF-8 characters on non default UTF-8 systems like Windows (thanks, @mitchelloharawild, #2195).

  • Shiny prerendered documents are now pre-rendered in a child environment to avoid allowing the results of static code chunks to exist in the Shiny app environment (@gadenbuie, #2203).

  • The previously unexported function convert_ipynb() is exported now (thanks, @acircleda).

rmarkdown 2.10

06 Aug 14:54
Compare
Choose a tag to compare
  • md_document() will now handle correctly preserve_yaml value for all variants and all pandoc versions (#2190).

    • with preserve_yaml = TRUE, markdown output will keep the YAML metadata block from the Rmd file.
    • with preserve_yaml = FALSE, markdown output will have no YAML metadata block.

    This fixes a breaking change in Pandoc 2.13 regarding gfm, commonmark and commonmark_x which now supports yaml_metadata_block by default (#2118).

  • New supported syntax for Shiny prerendered documents: you can now use server: shiny or server: type: shiny.

  • Ability to inject additional functions into Shiny prerendered server scope using the "server-extras" context.

  • Fixed the syntax highlighting issue with R's pipe operator |> (thanks, @edzer, rstudio/bookdown#1157).