Releases: rstudio/rmarkdown
rmarkdown 2.19
- No longer use
xfun::isFALSE()
internally.
rmarkdown 2.18
-
rmarkdown::render()
argumentoutput_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 ispandoc_convert()
in this package. See the help page?pandoc_options
for more details.
rmarkdown 2.17
-
rmarkdown::render_site()
will now also look forindex.rmd
in addition toindex.Rmd
for custom site generator in YAML withsite:
(thanks, @kamalsacranie, #2409). -
Icons in tabset dropdown are now correctly shown, including when
self_contained: false
(thanks, @cpsievert, #1697).
rmarkdown 2.16
-
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 optionself_contained = TRUE
(#2382). -
pandoc_version()
returns a version number of the formX.Y.Z.YYYY.MM.DD
for the nightly build of Pandoc now, whereYYYY.MM.DD
is its build date. Previously it would returnX.Y.Z.9999
to indicate the nightly version.
rmarkdown 2.15
-
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 usetufte::tufte_handout()
instead ofrmarkdown::tufte_handout()
. The latter will be removed eventually from this package. -
github_document()
gainsmath_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
-
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()
gainscode_folding
argument (thanks, @atusy, #2340). -
html_document()
can opt-outcode_folding = "show"
or"hide"
for individual code blocks by adding thefold-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 thatpandoc_available()
can correctly compared version with last release.
rmarkdown 2.13
-
Fix an issue with older R version and vignette building (#2324).
-
Fix an issue with older R version and
preserve_yaml = TRUE
inmd_document()
(#2325). -
Long title in
ioslides_presentation
failed to work with Pandoc 2.17.x (thanks, @Am386DX-40, #2327).
rmarkdown 2.12
-
html_document()
andhtml_document_base()
gains themath_method
argument to support all the math rendering engines from Pandoc: "mathjax", "katex", "mathml", "webtex", and "gladtex". For backward compatibility, themathjax
argument still works and will take precedence overmath_method
, but we recommend using the newmath_method
argument instead of themathjax
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
andwebtex
):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 asurl
.For
math_method = "webtex"
, it will default to inset SVG usinghttps://latex.codecogs.com/svg.image?
. Usehttps://latex.codecogs.com/png.image?
for PNG. See https://latex.codecogs.com for supported options (dpi, background, ...).Most HTML output format using
html_document()
orhtml_document_base()
as based format should benefit from this new feature.
See?rmarkdown::html_document()
for details (thanks, @atusy, #1940). -
github_document()
also gains themath_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. Setmath_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 usingstyle
ordepth
element foranchor_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
inhighlight
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), andhighlight: rstudio
to mimic the RStudio editor theme. - For HTML output only, added optional downlit support in
html_document()
for R syntax highlighting and autolinking. Usehighlight_downlit = TRUE
to activate it (same argument as in distill). This features require the downlit package.
- It is now possible to pass a custom theme file
-
Templates for
html_document()
andioslides_presentation()
gained a new CSS rule to display single line<summary>
content inline (rstudio/rstudio#10589). -
md_document()
gained a newstandalone
argument, which isFALSE
by default unlesstoc = 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 extensionsyaml_metadata_block
,preserve_yaml = TRUE
now deactivate any extension to let rmarkdown directly handle the keeping of YAML block - this means it does not setstandalone = TRUE
by default. Meanwhile,github_document()
gained thepreserve_yaml
argument (thanks, @florisvdh, #2297). -
Added
available_templates()
to list all the templates from a specific package that can be used withrmarkdown::draft()
. -
Following support in Pandoc 2.15,
powerpoint_presentation()
gained aincremental
argument as other slide formats. As a reminder, settingincremental = 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 afterlang
. -
Added a global option
rmarkdown.html_dependency.header_attr
(TRUE
by default). It can be set toFALSE
to opt-out the HTML dependencyhtml_dependency_header_attrs()
in documents based onhtml_document_base()
(thanks, @salim-b rstudio/bookdown#865, @maelle r-lib/downlit#1538). -
Rendering using
runtime: shiny_prerendered
orruntime: shinyrmd
now natively supports custom templates. Previously since 2.8, developers had to add a special comment,<!-- HEAD_CONTENT -->
, conditionally toshiny-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 useserver.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()
whereheader-includes
would be overwritten byincludes = list(in_header =)
(thanks, @samcarter, #2294). Same fix as forpdf_document()
(#1359). -
Fixed broken links to section headers when
number_sections = TRUE
is specified inmd_document
andgithub_document
(thanks, @atusy, #2093). -
draft()
now works withdevtools::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.
- Added
rmarkdown 2.11
-
Relative paths in parent directories in the
css
argument ofhtml_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 is3
). 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
-
md_document()
will now handle correctlypreserve_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
andcommonmark_x
which now supportsyaml_metadata_block
by default (#2118). - with
-
New supported syntax for Shiny prerendered documents: you can now use
server: shiny
orserver: 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).