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
arrowregarding 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_foldingargument (thanks, @atusy, #2340). -
html_document()can opt-outcode_folding = "show"or"hide"for individual code blocks by adding thefold-noneclass to the code blocks (thanks, @atusy, #2348). -
When using a development version of Pandoc, a
.9999suffix 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 = TRUEinmd_document()(#2325). -
Long title in
ioslides_presentationfailed to work with Pandoc 2.17.x (thanks, @Am386DX-40, #2327).
rmarkdown 2.12
-
html_document()andhtml_document_base()gains themath_methodargument to support all the math rendering engines from Pandoc: "mathjax", "katex", "mathml", "webtex", and "gladtex". For backward compatibility, themathjaxargument still works and will take precedence overmath_method, but we recommend using the newmath_methodargument instead of themathjaxargument, and the latter could be deprecated in the future.You can specify a math engine via
math_methodas an engine name, e.g.,output: html_document: math_method: katex
or provide both a name and a URL (for
mathjax,katexandwebtex):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_methodargument 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 = NULLto 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_sectionscan now be easily customized usingstyleordepthelement 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
highlightargument:- It is now possible to pass a custom theme file
.themeinhighlightargument 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: arrowa theme optimized for accessibility and color contrast (thanks to @apreshill), andhighlight: rstudioto mimic the RStudio editor theme. - For HTML output only, added optional downlit support in
html_document()for R syntax highlighting and autolinking. Usehighlight_downlit = TRUEto 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 newstandaloneargument, which isFALSEby 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 = TRUEnow deactivate any extension to let rmarkdown directly handle the keeping of YAML block - this means it does not setstandalone = TRUEby default. Meanwhile,github_document()gained thepreserve_yamlargument (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 aincrementalargument as other slide formats. As a reminder, settingincremental = TRUEwill make lists to display incrementally. See more in Pandoc's MANUAL. -
Added support for Pandoc's
dirvariable in HTML templates. This is the second Language Variables afterlang. -
Added a global option
rmarkdown.html_dependency.header_attr(TRUEby default). It can be set toFALSEto 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_prerenderedorruntime: shinyrmdnow natively supports custom templates. Previously since 2.8, developers had to add a special comment,<!-- HEAD_CONTENT -->, conditionally toshiny-prerenderedvariable. (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.Rfile 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_prerendereddocument (thanks, @aronatkins, @gadenbuie, #2218). -
Fixed an issue in
beamer_presentation()whereheader-includeswould be overwritten byincludes = list(in_header =)(thanks, @samcarter, #2294). Same fix as forpdf_document()(#1359). -
Fixed broken links to section headers when
number_sections = TRUEis specified inmd_documentandgithub_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.luafor other package to use:- Added
type()function backward compatible following Pandoc 2.17 changes. - Added
print_debug()for easier logging during debug.
- Added
-
Add opt-in
tabsetoption to thehtml_vignette. In contrast to the similar feature fromhtml_document, this feature supports navigation from ToC and URL. Any custom formats can introduce this feature by using an exported functionhtml_dependency_tabset()(thanks, @atusy, #2313).
rmarkdown 2.11
-
Relative paths in parent directories in the
cssargument 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_yamlvalue 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,commonmarkandcommonmark_xwhich now supportsyaml_metadata_blockby default (#2118). - with
-
New supported syntax for Shiny prerendered documents: you can now use
server: shinyorserver: 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).
rmarkdown 2.9
-
Fix a regression in version 2.8 when a url is used in
cssargument (thanks, @vnijs, #2163). -
All HTML dependencies are now correctly supported, included those with only an
hrefcomponent but notfilecomponent in theirsrcattribute. Previously, rmarkdown would throw the error'path for html_dependency not provided'when rendering documents containing HTML dependencies withhrefcomponents (thanks, @crazycapivara, @matthewstrasiotto, #1805, #1948, #2151). -
Fix an error thrown with output format using a
file_scopefunction (like in bookdown) (thanks, @rfaelens, #2149). -
Fix an issue with
copy_ressource = TRUEinhtml_document_basewhere very long HTML documents were truncated during post processing (thanks, @oliviermeslin, #2145). -
When
run()-ing aruntime: shinydocument, an extra temp folder will be used in the output path. With the extra temp random folder in the path, predictable output file names may be used. (#2137) -
When
run()-ing aruntime: shinydocument with a{bslib}theme, the global theme value wasn't being restored properly. (#2160) -
Floating ToC in
html_documentcan now hide headings with unnumbered and unlisted classes (thanks, @atusy, #1993). -
Fix prefix handling in R Markdown website's navbar for Fontawesome V5 and compatibility with V4. For icon only available in V5, the full prefix + name should be use, especially with new
fabprefix (e.g.fab fa-r-project). If no prefix is used (e.gfa-homeinstead offas fa-home), thefaprefix will be added for V4 compatibility as it has been deprecated in V5. We advice to use the full prefix + name for icons following Fontawesome documentation. (#1994) -
rmarkdown::site_generator()can hang session waiting for input when thesitefield is not found in the YAML frontmatter ofindex.Rmd(thanks, @kevinushey @mirh, #2043).
rmarkdown 2.8
-
Fix a issue with Pandoc 2.5 and
latex-div.lua- documents can now be rendered as expected without error (thanks, @davidwales, #2121). -
Fix an issue with styling and code folding button behavior when default is
code-folding: show. The Button can now be correctly style according to state asaria-expandedattributes is correctly updated. Also, new classes has been added on the button to allow styling during transition:btn-collapsingandbtn-expandingare respectively applied during transition Show to Hide and Hide to Show. (This follow Bootstrap behavior for the collapsible block) (thanks, @steveharoz, #2085). -
Fix an issue with
citation_packagehaving no effect when using.mdfile as input torender()with latex and PDF output formats (thanks, @andrewheiss, #2113). -
A new internal option
rmarkdown.knit.exthas been added to control the extension of the intermediary knit output during a rendering. It defaults tomdto produce*.knit.md. Only useful for very advanced usage (#2098). -
render()won't produce any*.utf8.mdintermediary file anymore. This was a leftover from previous versions of rmarkdown. Since knitr 1.24 and rmarkdown 2.0, only UTF-8 input files are allowed. (#2098). -
Fix an
Invalid cross-device linkerror whentempdir()is used forintermediates_dirinrender()(thanks, @gorgitko, #2096). -
Fix a regression in HTML default template with floating toc incorrectly placed on small size window (thanks, @grimbough, #2071)
-
Provided a
runtime: shinyfix for output formats that pass a modifiedbslib::bs_theme()object tohtml_document_base()'stheme(thanks, @cpsievert, #2049). -
Rendering using
runtime: shiny_prerenderedorruntime: shinyrmdwill now produce valid HTML by not inserting anymore the full document as body in the resulting shiny apps (thanks, @dakep, #1912). Header content usually containing html dependencies will be inserted in the HTML document at the end of the head before</head>, unless the rendered HTML contains<!-- HEAD_CONTENT -->special comment (seehtmltools::renderDocument()). A new Pandoc variable is set in for shiny prerendered document to allow conditional insertion of such content in the the HTML template using$if(shiny-prerendered)$. This has been done in all HTML template in this package. Users of custom template should make this change to provide support for this runtime. See rmarkdown default template (default.html) for an example (#2064). -
Added
tectonicas a supported LaTeX engine for generating PDF output (thanks, @dpryan79, #2078). You can specify to use this by addingengine: "tectonic"to your output format in YAML, such aspdf_document. -
When no
output_formatis provided in any way but anoutput_fileis provided inrender(), the default format will be determined based on the extension:"pdf_document"for.pdf, or"word_document"for.docx. Otherwise, it will be"html_document"as previous version (thanks, @pearsonca, #1569). -
Added a new global option
rmarkdown.render.message. When setFALSE,render()will not output the message starting byOutput created:allowing RStudio IDE to open a preview of the document. This is useful for package developers that would need to emit there own output message for there custom format. See?render_sitefor more info on this special message (#2092). -
Internal changes regarding Lua filters. They have now an explicit Pandoc version minimal requirement: A filter will be skipped with a warning printed by the Lua filter if this requirement is not met. For now, all filters work for Pandoc 2.1 and above (thanks, @atusy, #2088). There is also now a new mechanism to have a share Lua filter script loadable by other Lua files:
render()will set theRMARKDOWN_LUA_SHAREDenv var to the path of Lua filtershared.luaso that other filters can access functions defined in it usingdofile(os.getenv 'RMARKDOWN_LUA_SHARED'). This is for internal usage only to avoid duplication (thanks, @tarleb, #2103). -
html_document_basegains acssargument, to whichhtml_document'scssargument is now passed. This also fix an issue when.sassor.scssfiles are used with thiscssargument whenself_contained: FALSE. Moreover, sass caching mechanism can now be used when passing.sassor.scssfiles to thecssargument (thanks, @cpsievert, #2095). -
The
fig_cropoption of PDF document formats (such aspdf_documentandbeamer_presentation) supports the value"auto"now, which meansfig_crop = TRUEwhen figure cropping toolspdfcropandghostscriptare available. -
The default value of the
fig_cropoption of PDF output formats has been changed fromTRUEto"auto"(#2077). -
rmarkdown::tufte_handouthas been deprecated and will be removed in the future from this package. It has been moved to the tufte package since rmarkdown 0.9.5 (released on 2016-02-22). Please usetufte::tufte_handoutinstead.
rmarkdown 2.7
-
html_document(andhtml_document_base)'sthemeparameter now understandsbslib::bs_theme()objects/arguments, meaning that one may opt-into Bootstrap 4 and more easily create custom themes. For examples, see #1706, and for context, see https://rstudio.github.io/bslib/ (thanks, @cpsievert, #1706). -
Files with
.scss/.sassextension (i.e., Sass files) provided tohtml_document'scssparameter are now compiled to CSS using the{sass}package. Also, ifthemeis a{bslib}object, these Sass files may utilize Sass code inside thetheme(thanks, @cpsievert, #1706). -
Fix an issue with line numbering in code chunks when
.numberlineswith Pandoc's highlighting (thanks, @aosavi, #1876). -
Fix an issue with shiny runtime and
global.R(thanks, @liaojiahui-r, rstudio/flexdashboard#298). -
Accept
latex="{options}",latex=1, orlatex=truefor Latex Divs. -
Add
output_format_filterfunction todefault_site_generator(). Enables custom site generators to customize or even entirely replace the output format right before rendering of each page. -
Automatically exclude renv directory for
render_site()(thanks, @jmbuhr, #1996) -
Do not force
options(htmltools.preserve.raw = TRUE)when this option has been set, otherwise it is impossible for other packages to turn this option off, e.g., yihui/xaringan#293. -
knitr_options_pdf()will now throw a warning whenfig_crop = TRUEbut is disabled because required toolspdfcropand/orghostscriptare missing (thanks, @netique, #2016). -
Eliminated the unnecessary padding in code blocks in the
html_documentoutput with Bootstrap 4 themes (thanks, @atusy, #2019). -
github_document()will produce a working TOC even if some headers start with number (#2039). -
Fix an issue with
knit_print.data.frame. The...arguments are no more passed toprint()to avoid passingknit_print()argumentsoptionsandencodingto customprint()methods (#2047).
rmarkdown 2.6
-
Encoding is correctly handled now in
html_vignettewhen checking for identical title and vignette index entry (thanks, @py-b, #1978). -
clean_site()now default topreview = TRUEand will no more remove files without notice. This change will affect the "Clean All" button in the "Build" pane for website project.clean_site(preview = FALSE)must be run to effectively remove files (#1973). -
The intermediate
.texfile is now correctly deleted ifkeep_tex = FALSEwhen the R Markdown document is not rendered from the working directory (thanks, @vqv, #1308). -
Fix a bug causing certain resources files to be deleted as intermediate files when
intermediates_diris the same as the input (thanks, @bellma-lilly, #1248). -
Fix issues with
anchor_sections = TRUEand learnr (thanks, @gadenbuie, #1938). -
Enable use of
server.Randglobal.Ralongsideruntime: shinyrmddocuments. -
pkg_file_lua()now works withdevtools::load_all()and testthat when used in other packages. -
Fix
pandoc_convert(citeproc = TRUE)not supressing the--natbibor--biblatexoptions (thanks, @atusy, #1932). -
pandoc-citeprocis now activated if abibliographyfield is defined in another YAML block instead of the first YAML block (thanks, @bwiernik, #1364). -
Specify that
htmltools::htmlPreserve()should use the pandoc raw attribute rather than preservation tokens when pandoc >= v2.0. Note that this option will have the intended effect only for versions of htmltools >= 0.5.0.9003. -
anchor_sectionsinhtml_documents()now defaults toFALSE. It was introduced in previous version with a default toTRUE, but it is reverted now after hearing feedbacks from the community (thank you!). The#is still used as the character for the anchor but you can easily change that using CSS rules. Examples have been added to the help page?html_document. -
Using Pandoc's default for
--email-obfuscationnow. Previously, it was set tononeexplicitly, which is the default for Pandoc 1.17.2+ anyway. Only users with a Pandoc version before 1.17.2 may see a change in the content of the html source file produced if the document contains email addresses. This change allows to pass the Pandoc's command line flag if you want to set it to another value (thanks,@seankross, #1969).output: html_document: pandoc_args: ["--email-obfuscation", "javascript"]
See Pandoc's manual for the meaning of this option.
-
Fix Fontawesome 5 icons in navbar by correctly handling new prefix as
fahas been deprecated in favor offasorfab(#1967)
rmarkdown 2.5
-
Tables without header rows (wich can be possible in Pandoc's simple table) are now formatted correctly when using
html_document()format (thanks, @fkohrt, #1893). -
html_document()gains theanchor_sectionsargument, which isTRUEby default, so that readers can get links to section headers easily---when you mouse over a section header, you will see a hash symbol#at the end of the header, which contains the anchor link to this header. You can click on this link and get the URL in the addres bar of your web browser, or right-click on it and copy the URL from the context menu. The hash symbol is defined by the CSS rulea.anchor-section::before {content: '#';}. You can customize it by overriding this rule (e.g., via thecssargument ofhtml_document) and use any other symbols or icons, e.g.,content: "\02AD8;"(thanks, @atusy, #1884). -
pkg_file_lua()should have thrown an error if the expected Lua file does not exist. -
Provide
files_dirandintermediates_diras attributes on return fromrender()whenrun_pandoc = FALSE. -
Supports new Pandoc 2.11
--citeprocflags usage instead ofpandoc-citeprocexternal filter.pandoc_convert()andpandoc_citeproc_convert()will now use the correct flags according to the Pandoc version used. The logic is exported inpandoc_citeproc_args(). See Pandoc release note for more information about the newciteprocprocessing (#1916). -
Fixed the code highlighting when code block is hidden. Previous version introduced a regression where non default code highlighting was still shown when
code_foldingis activated and code block is hidden (thanks, @matthewcarlucci, #1921). -
The minimal required version for the xfun package (v0.15) has been specified for R Markdown Notebooks to work properly (thanks, @jmcphers, #1923).
-
Fixed a bug in
convert_ipynb()when the language is not specified in the.ipynbfile (thanks, @acca3003, #1925). -
Introduce
runtime: shinyrmdas a more user friendly alias forruntime: shiny_prerendered.
rmarkdown 2.4
-
Lua filters handling has been improved internally with some user-facing changes (#1899):
- New exported function
pandoc_lua_filter_args()to return the Pandoc command-line argument to add a Lua filter. - New argument
lua_filtersinpandoc_options()to pass the Lua filter paths to use with a format. This allow output format authors to add filters for a custom format using thepandocargument ofoutput_format()and to get filters from a format usingfmt$pandoc$lua_filters. - The Lua filters of an output format are now passed to Pandoc in
render(). By default, they are passed to Pandoc before any other format-defined or user-defined Pandoc arguments (usually via thepandoc_argsoption of an output format). This ensures that filters of an output format are executed first. To change the default, you need to deal with it in a custom format (i.e., modify the elements infmt$pandoc$lua_filters, such as reordering them). - New exported function
pkg_file_lua()to get the full system path of a Lua filter included in a package source within theinst/rmarkdown/luafolder (thanks, @atusy, #1903).
- New exported function
-
Fixed the path separators for the
cssparameter in YAML frontmatter for HTML output files under Windows. Previously, forward slashes incsspaths were converted to backslashes (thanks, @jonathan-g, #1862). -
Since rmarkdown 1.16, Pandoc's fenced
Div's are converted to LaTeX environments when the output format is LaTeX, e.g.,::: {.center data-latex=""}is converted to\begin{center}. The attributedata-latexof theDivwas mandatory, even if it is empty. In rmarkdown 2.2, we silently drop this requirement, which means::: {.center}is converted to\begin{center}. This turns out to be a bad idea, because users have no control over which Div's to be converted to LaTeX environments. Previously, they could opt-in by thedata-latexattribute, but with rmarkdown 2.3, all Div's are converted to LaTeX environments unconditionally. What's more, this change led to bugs like https://stackoverflow.com/q/62340425/559676 and rstudio/bookdown#883. Therefore thedata-latexattribute became mandatory again in this version. If the LaTeX environment does not need arguments, you may usedata-latex="". -
The two Lua fitlers
pagebreak.luaandlatex-div.lua(introduced in rmarkdown 1.16) are also applied to the output formatbeamer_presentationnow (thanks, @XiangyunHuang, #1815). -
When customizing formats with the
output_formatfunction,pre_knit,opts_hooks, andknit_hookscan now refer tormarkdown::metadata. Previously,rmarkdown::metadatareturnedlist()in these functions (thanks, @atusy, #1855). -
rmarkdown::find_external_resources()now discovers external template files. This in turn fixes the rendering issue ofhtml_documentwith theshinyruntime andintermediate_dirset (thanks, @atusy, @cderv, #1865). -
Added the
number_sectionsargument to following formats:github_document,ioslides_presentation,md_document,odt_document,powerpoint_presentation,rtf_document,slidy_presentation,word_document. These are powered by a Lua filter and requires Pandoc > 2.0. It will silently have no effect has before with previous pandoc version (thanks @atusy 1893). Pandoc >= 2.10.1 adds--number-sectionsfor docx format, and thusword_documentprefers the native feature to the Lua filter (thanks, @jooyoungseo, #1869). -
For the output format
pdf_document, the optionfig_cropwill not be enabled unless both the programspdfcropandghostscriptare found (thanks, @dalupus, yihui/knitr#954). -
Fixed a bug that a chunk with a class
fold-hidehides the rest of the chunks even the output format settinghtml_document(code_folding = "show")(thanks, @atusy, #1906). -
Updated documentation for
render()to make it clearer how options are set for theoutput_formatparameter (thanks, @jonathan-g, #1907 and rstudio/bookdown#930). -
Ported some CSS styles (e.g., underlines, small caps, and multi-column layouts) from the latest Pandoc's HTML template into rmarkdowns HTML templates (thanks, @atusy, #1878, #1908).
rmarkdown 2.3
-
Addressed an accessibility issue in highlighted code blocks of HTML output for screen reader users: screen readers no longer read out an unnecessary code line id values (thanks, @jooyoungseo and @atusy, #1833).
-
Added
file_scopeoption to output format definition. This enables handling of duplicate numeric footnote identifiers (e.g. across bookdown chapters) via the pandoc--file-scopeoption (#1837). -
Added the customizable
langattribute toioslides_presentationoutput (thanks, @jooyoungseo, #1841). -
Added
publish_site()function for "one-button" publishing of R Markdown websites. -
When the
df_printoption iskableand the output format is not HTML,<div class="kable-table">is no longer added to thekable()output, because recent versions of Pandoc will convert thedivto a LaTeX environment when the output format is LaTeX (thanks, Laurens, https://stackoverflow.com/q/62340425/559676). -
html_vignette()only warns against differences in the vignette title and the vignette index entry for R >= 3.6.0 (thanks, @krlmlr, #1832). -
html_document()can applycode_foldingon any chunk engines if thefoldableclass is added to a source code block via the chunk options (class.sourceorattr.source). You may apply this feature to all the source code blocks, for example, by settingknitr::opts_chunk$set(class.source = "foldable")at the beginning of your document (thanks, @atusy, #1835).
rmarkdown 2.2
-
Exported the internal function
find_pandoc(), and also added two arguments,dirandversion, so that users can provide a custom directory under which this function may find Pandoc, as well as an expected version of Pandoc to be found (thanks, @connorp, #1785). -
pandoc_metadata_arg()is a new Pandoc helper function to generate--metadataargument for Pandoc command line (thanks, @cderv, #1789). -
The output format
html_vignette()now warns against differences in the vignette title specified in thetitlefield in the YAML metadata and the one specified inside\VignetteIndexEntry{}. Normally they are expected to be identical (#1789). -
Fixed a bug with encoding when rendering
html_notebookcontaining HTML widgets (thanks, @cderv, #1799). -
TOC title can now be specified for
html_documentvia the top-level optiontoc-titlein the YAML frontmatter (thanks, @atusy, #1771). -
Floating TOC can now distinguish upper/lower-cases (thanks, @atusy, #1783).
-
When
code_folding='show'for the output formathtml_document, code blocks can be individually hidden initially by specifying the chunk optionclass.source='fold-hide'(thanks, @atusy, #1798). -
For LaTeX/PDF output formats
pdf_document,beamer_presentation, andcontext_document, the argumentcitation_package = 'none'was deprecated, andcitation_package = 'default'should be used instead if citations are to be processed bypandoc-citeproc(thanks, @njbart, rstudio/bookdown#754). -
output_format()can now inheritkeep_mdandclean_supportingfrombase_formatwhenNULLis passed to these arguments. Previously, you must explicitly specifykeep_mdand/orclean_supportingasTRUEorFALSEinoutput_format()since they could not inherit the corresponding options ofbase_format. This behavior was not consisent with other arguments ofoutput_format()(thanks, @atusy, #1823). -
The
smartargument of most output formats has been removed, because Pandoc'ssmartextension is enabled by default, and settingsmart: falsefor an output format did not really have any effect (which could be considered a bug, but we want to get rid of this option since it existed only for a historical reason for Pandoc 1.x, and Pandoc 2.x has been released for more than two years). If you want to disable thesmartextension, you can use the optionmd_extensions: -smartof the output format (thanks, @atusy, #1774). -
pdf_document()should not specify thegeometryvariable when thedocumentclassvariable is passed to Pandoc (thanks, @jpcirrus, #1782). -
render()now respects the YAML metadata in the R script when rendering the script with Pandoc 2.8 or later (thanks, @nsoranzo #1740, @cderv #1741). -
For
pandoc_convert(), when the argumentto = 'pdf', it will be changed to'latex'internally (thanks, @JohannesFriedrich, #1802). -
render(run_pandoc = FALSE)no longer cleans up the Markdown file (typically knitted from Rmd) (thanks, @BrianDiggs, #1812).
rmarkdown 2.1
-
Added the returned output from
shiny::runApp()withinrmarkdown::run()(thanks, @schloerke, #1760). -
YAML header is now correctly parsed in
html_notebook's intermediate.knit.mdfile so that features like adding bibliography works again (thanks, @everdark, @cderv, #1747). -
ioslides_presentationtemplate no longer generates an empty<h2>tag whensubtitleis not specified in YAML (thanks, @jooyoungseo #1735, @cgrudz #1663). -
No longer center the
#headerelement in thehtml_vignette()output (thanks, @EmilHvitfeldt, #1742). -
Ensure the
tempdir()exists (viatempdir(TRUE)) when writing HTML dependencies to a temporary file, because this directory might be erased by accident (thanks, Kurt Hornik, and also @karawoo #1743). -
Added the
slide_levelargument toslidy_presentation()(https://stackoverflow.com/q/59157211/559676). -
Removed the jQuery dependency in
html_document_base()(#1723). To avoid bugs like #1723, Pandoc 2.8 users have to upgrade to Pandoc 2.9+. -
For
pdf_document, horizontal rules generated by Pandoc (before v2.8) stopped working in recent versions of TeX Live, and the same fix as the one to jgm/pandoc#5801 (i.e., hard-code\linethicknessto0.5pt) was applied in rmarkdown (thanks, @cderv, https://stackoverflow.com/a/58646915/559676).
rmarkdown 2.0
-
For the output format
pdf_document(), we no longer adjust the vertical spacing of the title area. This means there will be a larger spacing above the document title in PDF. If you prefers the old (smaller) spacing, please download https://github.com/rstudio/rmarkdown/blob/f6961af/inst/rmd/latex/compact-title.tex and include it to the preamble via theincludesoption ofpdf_document. However, please note that this means you won't be able to have multiple authors in theauthorfield of the YAML frontmatter, unless you use a custom LaTeX template. With the default LaTeX template, you will run into the error in #1716. Besides, thecompact-titleoption in YAML is no longer supported. -
R code in the
header-includesfield in the YAML frontmatter stopped working in the previous version of rmarkdown. The code should be evaluated before passing to Pandoc (thanks, @mcol #1709, @cderv #1710). -
The
encodingargument is no longer passed to theintermediates_generatorof R Markdown output formats. Theintermediates_generatorfunction can only accept argumentsinput_fileandintermediates_dirnow (see?rmarkdown::output_format). This is a breaking change to developers. If you are an output format developer, you have to remove theencodingargument in yourintermediates_generatorif your output format uses this function. -
The
encodingargument is no longer passed to therenderelement of the site generator (see?rmarkdown::render_site). -
The
encodingargument has been removed from many of the internal functions in the rmarkdown package. Now all input files are assumed to be encoded in UTF-8. If you see an error message like "Error inFUN(arg = ...): unused argument (arg = ...)", please file an issue (with a reproducible example) to https://github.com/rstudio/rmarkdown. -
Added a new output format
context_document()to support ConTeXT output (thanks, @RLesur #1725, @jooyoungseo #1713). -
render_site()can render R scripts in addition to Rmd files if you setautospin: truein_site.yml(thanks, @zeehio, #1564). -
Added
extargument tomd_document(). Its default value is ".md". This argument is intended to be used together withvariantargument (e.g.,variant = "context"andext = ".pdf") (thanks, @atusy, #1715). -
ioslides_presentation()stylesheet is updated for printing. Browsers are notified that the presentation should preferentially be printed in landscape orientation and without margin (thanks, @RLesur, #1718). -
Reverted the fix #1703 and applied an alternative fix to #1700, because the original fix brought a new bug #1714 (thanks, @pablobernabeu @cderv @everron @aronatkins).
-
Tabsets don't work with Pandoc 2.8 (thanks, @mnazarov, #1723).
-
The
pdf_documentformat failed to work if theheader-includesfield in YAML is an empty list (thanks, @cderv, #1728).
rmarkdown 1.18
-
For
pdf_document(), now we patch Pandoc's built-in LaTeX template to include the document subtitle (unnecessary with pandoc 2.6 onwards) and reduce the vertical spacing before title using--include-in-headerrather than overwriting the built-in template, avoiding compability problems with newer versions of Pandoc (thanks, @adunning, #1563). -
find_external_resources()works now when multiple files are specified in theincludesoption of the output format (thanks, @andrie, #1677). -
find_external_resources()can find external resources specified in the output format'sreference_docorreference_docxoption now (thanks, @jmcphers, #1696). -
rmarkdown::run(file = NULL, dir = "foo/")failed to run Rmd files under thefoo/directory (thanks, @jenzopr, #1703). -
Reverted the fix for #1692 since it is no longer necessary (rstudio/tinytex#152 (comment)).
-
The
header-includesfield in the YAML metadata will no longer be overwritten by the command-line option--include-in-header(thanks, @crsh @mnazarov, #1359). -
Removed the
xmlnsattribute in the<html>tag in the default HTML template (thanks, @grady #1640, @spgarbet #995).
rmarkdown 1.17
-
html_vignette()passesself_containedargument value to base format (thanks, @cderv, #1668). -
find_external_resources()works for thehtml_vignettetype again, this fixes rendering vignettes with external resources in pkgdown (regression introduced in rmarkdown 1.16, #1668). -
render(..., clean = TRUE)may fail to clean the*_filesdirectory when the output format isprettydoc::html_pretty(thanks, @yixuan, #1664). -
For
ioslides_presentation, images with atributes (e.g.,{width=80%}) can be correctly embedded in the self-contained mode now (thanks, @hadley, #1687). -
Fixed the Pandoc LaTeX templates to avoid the error
Filegrffile.sty' not found`. This is because the LaTeX grffile is no longer available in TeX Live (thanks, @cderv #1691, @smmurphy #1692, @JacobD05 rstudio/tinytex#152).
rmarkdown 1.16
-
The
pandoc-citeprocbinary can now be found correctly on Windows. This fixes an issue withpandoc_citeproc_convert()(thanks @cderv, #1651). -
Added
self_containedargument tohtml_vignetteto keep intermediate directory ifself_contained = FALSE(thanks, @cderv, #1641). -
It is now possible to add pagebreak in HTML, Word, LaTeX, and ODT documents using the
\newpageor\pagebreakcommand in an Rmd file. This is possible thanks to the Pandoc's pagebreak Lua filter. Seevignette("lua-filters", package = "rmarkdown")(thanks, @cderv, #1626). -
The Pandoc extension
ascii_identifiersis no longer enabled by default. If you still need it, you may use the argumentmd_extensions = "+ascii_identifiers"in the output format function. However, please note that this will trigger an error in a future version of Pandoc. -
Output formats can be configured by arbitrary YAML files, which used to be restricted to
_output.ymlor_output.yaml. They can be specified via theoutput_yamlargument ofrender()or theoutput_yamltop-level parameter of YAML front matter, and the first existing one will be used. Ifoutput_yamlis specified both forrender()and YAML front matter, thenrender()has the priority. If none are found, then_output.ymlor_output.yamlwill be used if they exist (thanks, @atusy, #1634). -
Added a Pandoc Lua filter to convert fenced Divs to LaTeX environments when the output format is
latexorbeamer. Basically a fenced Div::: {.NAME data-latex="[OPTIONS]"}is converted to\begin{NAME}[OPTIONS] \end{NAME}in LaTeX. The attributedata-latexmust be provided, even if it is an empty string (meaning that the LaTeX environment does not have any optional arguments). For example,::: {.verbatim data-latex=""}generates averbatimenvironment, and::: {.minipage data-latex="{.5\textwidth}"}generates\begin{minipage}{.5\textwidth}. This Lua filter was originally written by @RLesur at yihui/bookdown-crc#1. It will allow users to create custom blocks that work for both HTML and LaTeX output (e.g., info boxes or warning boxes). -
Added
keep_htmlargument togithub_documentso to save a preview HTML file in a working directory (thanks, @atusy, #1650).
rmarkdown 1.15
-
Exclude
README.R?mdfrom files processed byrender_site(), -
html_documentwithcode_folding: hidesupports showing individual source code chunks if they are assigned thefold-showclass via the chunk optionclass.source="fold-show"(thanks, @atusy, #1602). -
The
extra_dependenciesargument only works withtemplate: defaultinpdf_document. Now it works with any Pandoc LaTeX templates as long as the template uses theheader-includesvariable.
rmarkdown 1.14
-
Fixed a regression in
ioslides_presentationthat background colors via thedata-backgroundattribute on slides stopped working (thanks, @ShKlinkenberg, #1265). -
Fixed the bug #1577 introduced in rmarkdown v1.12: tabsets, floating TOC, and code folding in the
html_documentformat no longer work with theshinyruntime (thanks, @RLesur for the fix #1587, and @fawda123 @ColinChisholm @JasonAizkalns for the bug report). -
Added the
keep_mdargument topdf_document()to keep the intermediate.mdoutput file (thanks, @broomej, #1001). -
For
render(), if the input filename contains special characters such as spaces or question marks (as defined inrmarkdown:::.shell_chars_regex), the file will be temporarily renamed with the special characters replaced by-(dash) instead of_(underscore, as in previous versions of rmarkdown). This change will affect users who render such files with caching (cache will be invalidated and regenerated). The change is due to the fact that-is generally a safer character than_, especially for LaTeX output (#1396). -
Added a pkgdown site for the rmarkdown package: https://rmarkdown.rstudio.com/docs/ (thanks, @apreshill, #1574).
-
Fixed the bug #1593: in HTML documents, when a MathJax URL is used with a custom template, the source code of the MathJax library is included in the document. This bug was first declared in bookdown (thanks, @topepo for the bug report rstudio/bookdown#683, and @RLesur for the fix #1594).
rmarkdown 1.13
-
For
pdf_document(), do not override margins to 1 inch when a custom document class or geometry settings are specified in the YAML front matter (thanks, @adunning, #1550) -
The default value of the
encodingargument in all functions in this package (such asrender()andrender_site()) has been changed fromgetOption("encoding")toUTF-8. We have been hoping to support UTF-8 only in rmarkdown, knitr, and other related packages in the future. For more info, you may read https://yihui.org/en/2018/11/biggest-regret-knitr/. -
The option
toc_float: trueforhtml_documentnow preserves the text formatting (thanks, @codetrainee, #1548). -
For the
output_fileargument ofrender(), a file extension will be automatically added if the filename does not contain an extension (e.g.,render('foo.Rmd', 'html_document', output_file = 'bar')will generatebar.html); see the help page?rmarkdown::renderfor details (thanks, @apreshill, #1551). -
TOC items are not correctly indented when
toc_floatis enabled for thehtml_documentformat (thanks, @carolynwclayton #1235 and @RLesur #1243). -
Fixed rstudio/shiny#2307 where the second execution of a
shiny_prerendreddocument withhrefdependencies would cause a prerender check error (thanks, @schloerke, #1562). -
The
*_filesdirectory is not properly cleared due to the inappropriate fix for #1503 and #1472 in the last version (thanks, @wxli0 #1553, @cderv #1566). -
Added an
output_extensionsargument topdf_document()to make it possible to enable/disable Pandoc extensions for the LaTeX output format (thanks, @hongyuanjia, rstudio/bookdown#687).
rmarkdown 1.12
-
Fixed file extensions of output files when using non-markdown Pandoc extensions such as
docx+styles(#1494, @noamross). -
Added a new argument
extra_linestolatex_dependency()to allow users to add extra lines of LaTeX code after\usepackage{}. Also added a helper functionlatex_dependency_tikz()based onlatex_dependency()(#1502, @malcolmbarrett). -
Fixed #1529: when the path of an Rmd file contains Unicode characters that cannot be represented in the system native encoding (especially on Windows),
rmarkdown::render()may fail. -
Applied a correct fix to an old plotly issue plotly/plotly.R#463.
-
HTML widgets used to be hidden when printing ioslides to PDF in Chrome. Now they will be printed correctly.
-
render(output_format = 'all')may delete the figure directories that are still needed by certain output formats when one output format doesn't need its figure directory (thanks, @rmcd1024 #1472, @cderv #1503). -
The
<em>tags in the subtitle, date, and author are removed from the default HTML template (thanks, @royfrancis, #1544).
rmarkdown 1.11
-
Fixed #1483, which prevented the triangle to be displayed in Firefox when
<details><summary>...</summary></details>was used (#1485, @bisaloo) -
Provided
rmarkdown.pandoc.argsas a knitr package option inknitr::opts_knit(#1468, @noamross). -
Added the exported function
pandoc_exec(), which returns the path of the pandoc binary used by the package (#1465, #1466 @noamross). -
new_session: truein_site.ymlcausesrender_site()to render each file in a new R session, eliminating some cross-file difficulties, such as function masking (#1326, #1443 @jennybc). -
Added the LaTeX command
\passthroughin the default LaTeX template for the--listingsflag of Pandoc (rstudio/bookdown#591). -
The icons in
flexdashboard::valueBox()are not of the full sizes due to the upgrade of FontAwesome in #1340 in the previous version (#1388, rstudio/flexdashboard#189). -
Added the ability to generate tabset dropdowns, usable by adding the
.tabset-dropdownclass to a header (e.g.,# Heading {.tabset .tabset-dropdown}) (#1405). Thanks @stefanfritsch for contributing the necessary code for this (#1116). -
The
darklytheme (a darker variant of the Bootswatchflatlytheme) has been added tohtml_documentandhtml_notebook(#1409, #889). -
Fixed a regression that caused scrollbars on code blocks when the syntax highlighting theme is not the default (#654, #1399).
-
Fixed #1407: reactive expressions can break the section headers of Shiny R Markdown documents.
-
Fixed #1431:
render()with theintermediates_dirargument when the output format ispowerpoint_presentationwith a customreference_docfails to find the reference document. -
Fixed the website navbar not being able to display submenus properly (#721, #1426).
-
Added checks for shiny-prerendered documents to find all html dependencies, match all execution packages, and match the major R version (#1420).
-
Added an argument
cache = TRUEto the internal functionrmarkdown:::find_pandoc(), so that users can invalidate the cached path of Pandoc viarmarkdown:::find_pandoc(cache = FALSE)(thanks, @hammer, #1482). -
Added an RStudio project template for simple R Markdown websites, so that users can create such websites from RStudio:
New Project -> New Directory -> Simple R Markdown Website(thanks, @kevinushey, #1470). -
Fixed #1471: Pandoc's (version 2.x) syntax highlighting themes don't work well with the Bootstrap style (thanks, @gponce-ars #1471, @cderv #1489).
-
Fixed the warnings in #1224 and #1288 when calling
render()with an absoluteoutput_dirorintermediates_dir. -
Fixed #1300: calling
render()withintermediates_dirmay fail when the intermediate dir is on a difference device or filesystem. -
Fixed #1358: calling
render()withintermediates_dirwill fail if the Rmd document contains bibliography files that are dynamically generated.
rmarkdown 1.10
-
Added a new argument
slide_leveltopowerpoint_presentation()(#1270). -
The tinytex package has become a required dependency (to build R Markdown to PDF).
-
Added
compact-titlevariable to the LaTeX default templates to control use of LaTeXtitlingpackage; defaults totrue(#1284). -
pdf_document(template = NULL)does not work (#1295). -
Restore ability to use any HTML format with R Markdown Websites (#1328).
-
Add
optionsargument topaged_table()to enable explicit passing of display options. -
Add
pandoc_citeproc_convert()function for conversion of bibliography files (e.g. BibTeX files). -
Update to Font Awesome version 5.0.13 (#1340).
-
Add
site_resources()function for computing resource files required for a website. -
Export
default_site_generator()function. -
The
latex_document()format should not clean up the figure directory (thanks, @emiltb, rstudio/bookdown#582). -
Enable post processors that change the output file to specify that the base post processor should still be applied to the original output file.
rmarkdown 1.9
NEW FEATURES
- Added a new (experimental) output format
powerpoint_presentation. If you want to test it, you will need Pandoc >= 2.1 (#1231).
MAJOR CHANGES
- If the tinytex package is installed, PDF output is built through
tinytex::latexmk(), otherwise it is generated byrmarkdown:::latexmk(), which has been factored out and improved in the tinytex package, so it is recommended that you install the tinytex package (#1222).
BUG FIXES
-
Temporary files created in
render()may be cleaned up prematurely, which can cause problems with Shiny R Markdown documents (#1184). -
Further improvements regarding compatibility with Pandoc 2.0, e.g. tabbed sections don't work (https://community.rstudio.com/t/3019).
-
When
preserve_yaml = TRUEinmd_document(),toc = TRUEfails to create the table of contents (thanks, @stla, #1216). -
Suppress confusing error messages from
knitr::purl()duringrmarkdown::find_external_resources()(thanks, @aronatkins #1247, and @paulobrecht #1154). -
Fixed the obscure error
Error: path for html_dependency not found:, which was due to the HTML dependency of highlight.js (thanks, @bborgesr, #1213).
rmarkdown 1.8
BUG FIXES
-
render_site()does not work with_site.ymlthat does not have theoutputsetting (#1189). -
The variables
inputandoutputdo not work in Shiny R Markdown documents (#1193). -
ioslides_presentationfails to embed images (#1197). -
With Pandoc 2.x,
github_document()generates the wrong filename extension.gfm-ascii_identifiersinstead of.md, and line height of code blocks in the HTML preview is too big (#1200).
rmarkdown 1.7
-
Fixed an issue with
df_print: pagedwhere row names where not printed and added support forrownames.printoption to control when they print. -
Add
smartoption forword_document()format. -
Save render intermediates when generating beamer presentations (fixes #1106).
-
Fixed issues when specifying NULL/null/empty parameter values (#729 and #762).
-
Better error message when unable to prerender a document. (#1125)
-
shiny::renderText()does not work in Markdown section headings (#133). -
The
valueargument ofpandoc_variable_arg()can be missing now (#287). -
Background colors and images are supported for ioslides presentations (#687).
-
HTML widgets in an Rmd document cannot be rendered if another Rmd document is rendered via
rmarkdown::render()in this document (#993). -
Try harder to clean up temporary files created during
render()(#820). -
Wrong environment for evaluating R code chunks in Shiny R Markdown docs (#1162, #1124).
-
Do not call
bibtexto create the bibliography when there are no citations in the document and the output format ispdf_document()withcitation_package = 'natbib'(#1113). -
render()will stop if the output format is PDF but there are any errors during building the index or bibliography (#1166). -
beamer_presentation()doesn't work whencitation_package != 'none'(#1161). -
File-based inputs don't work in parameterized documents (#919).
-
rmarkdown is compatible with Pandoc 2.0 now (#1120).
-
render()withintermediates_dirfails with R plots (#500). -
Added two new output formats
latex_document()andlatex_fragment()(#626). -
Relative paths of images in HTML output should not be resolved to absolute paths (#808).
-
render_site()does not support multiple output formats for a single Rmd (#793). -
Unicode characters may be scrambled when downloading the Rmd source file using the download button generated by
html_document(code_download = TRUE)(#722). -
Upgraded highlight.js from v1.1 to v9.12.0 (#988, #907).
-
The argument
keep_md = TRUEactually preserves the Markdown output file fromknitr::knit()now (as documented). Previously, it generates a new Markdown file by concatenating the YAML metadata (title, author, date) with the body of the original Markdown output file (#450). -
For
md_document(), whenvariant == 'markdown'andperserve_yaml = TRUE, the Pandoc argument--standaloneshould not be used (#656).
rmarkdown 1.6
-
Fixed an issue where headers with non-ASCII text would not be linked to correctly in the table of contents.
-
Support code folding for bash, python, sql, Rcpp, and Stan chunks.
-
Provide rmarkdown.pandoc.id_prefix as Knit option
-
Fixed two issue with
df_print: paged, one would prevent rendering data with lists of lists and the other where the column type would get cut off. -
Better support for
citation_package: biblatexinpdf_document()(#1062). -
On certain Windows platforms, compiling LaTeX to PDF may fail because
system2(stdout = FALSE)is not supported, in which case the defaultsystem2()will be used (#1061). -
Allow paged tables to render even when page load / visibility has a long delay
rmarkdown 1.5
-
Fixed an issue where code within Shiny pre-rendered documents was not rendered correctly.
-
Add
includesparameter tohtml_fragmentformat. -
Use RStudio redirection URL to replace deprecated MathJax CDN
rmarkdown 1.4
-
data.tableexpressions involving:=are no longer automatically printed within R Markdown documents. (#829) -
Fix #910: the extra_dependencies argument of pdf_document() does not work when no code chunks contain LaTeX dependencies.
-
The extra_dependencies of pdf_document() can also take a character vector of LaTeX package names, or a named list of LaTeX package options (with names being package names), which makes it much easier to express LaTeX dependencies via YAML.
-
Automatically ignore packrat directory for render_site
-
Fix #943: escape end tags in shiny_prerendered code contexts
-
Add support for sticky tabs in html_document via tabset-sticky class
-
Process Rmd files with lowercase extension (.rmd) in render_site
-
Fix stack space consumption issues with large JS payloads in chunks
-
Add
section_divsargument to html_document and html_fragment to control generation of section tags/divs. -
Remove data-context="(data|server|server-start)" chunks from HTML served to client in shiny_prerendered
rmarkdown 1.3
-
Fix v1.2 regression in ordering of CSS for ioslides_presentation.
-
Fix rendering of pagedtables within html_notebook format.
-
Ensure that html_prerendered UI is never cached.
-
Add
citeprocargument to YAML header; controls whether pandoc-citeproc is used (#831)
rmarkdown 1.2
-
Add support for df_print to handle additional dplyr classes: grouped_df, rowwise_df and tbl_sql.
-
Add new
runtime: shiny_prerenderedmode for interactive documents. -
Prepend "section-" to ids in runtime: shiny[_prerendered] to eliminate potential conflicts with shiny output ids
-
Use html_dependencies for highlight.js, pagedtables, slidy, ioslides, & navigation (improved dependency behavior for runtime: shiny[_prerendered])
-
Serialize runtime: shiny[_prerendered] dependencies to JSON rather than .rds
-
ioslides: check for null before concatenating attr["class"] (#836)
-
Add rmarkdown.onKnit/onKnitCompleted package hooks
-
Non-ASCII keys in yaml file should be marked to UTF8 as well, when read into R as the name of a list (#841)
-
Remove key-column special-case left alignment in pagedtables (#829)
-
Replace backslashes in floating TOC headings (#849)
-
Suggests rather than Imports for tibble (R 3.0 compatibility)
-
Add
paged_tablefunction for printing paged tables within HTML documents -
Support
{.active}attribute for setting initially active tab (#789) -
Add
knit_root_dirargument torender()and YAML header, a convenience for setting knitr's root.dir option -
Improve alignment of text in sub-topics for floating TOC
-
Bibliography file paths in YAML containing forward slashes could not be rendered (#875)
rmarkdown 1.1
-
Fixed an issue where attempts to render an R Notebook could fail if the path contained multibyte characters.
-
Fixed an issue where the default Beamer template did not provide vertical padding between paragraphs with certain versions of pandoc (<= 1.17.2).
-
Try to install latexmk automatically on Windows
-
Added
df_printoption to html_document format for optionally printing data frames usingknitr::kable, thetibblepackage, or an arbitrary function -
Fix for render_site not showing Chinese characters correctly
-
Fix for ignoring knit_meta that is explicitly passed to render
-
Parameter editing: don't allow NULL to overwrite previous state
-
Parameter editing: fix incorrect name for parameters with expressions
-
Parameter editing: allow multiple values when the parameter is configured to use a "multiple" selector
-
Switched the order in which format dependencies are added for
html_documentso thatextra_dependenciesare added at the end, after bootstrap, etc. (#737) -
pdf_document(keep_tex = TRUE)will generate the .tex document even if PDF conversion fails (#779). -
Move latex header includes to just before \begin{document}
-
Special 'global' chunk label for runtime: shiny which designates a chunk to be run once and only once in the global environment (startup performance improvement for multi-user shiny documents)
-
Ensure supporting files are writeable (#800)
-
Make the "show code" buttons more CSS-friendly (#795)
-
Exclude
output_dirfrom site files (#803) -
Export
navbar_htmlandyaml_front_matterfunctions
rmarkdown 1.0
-
toc_floatno longer automatically setstoc = TRUE -
Added an argument
errortopandoc_available()to signal an error when (iferror = TRUE) pandoc with the required version is not found. -
Added
html_notebookformat for creating HTML documents that include source code and output. -
Added
resolve_output_formatfunction (useful for front ends that need to mirror the default format resolution logic ofrender). -
Added
code_downloadoption tohtml_documentto provide an option to embed a downloadable copy of the Rmd source code within the document. -
Added
slide_leveloption to ioslides_presentation to set the level of heading used for individual slides. -
Added
hard_line_breaksoption togithub_documentto deal with change in behavior of GitHub's markdown renderer with respect to line breaks. -
Use "markdown_strict" rather than "markdown" for
pandoc_self_contained_htmlwhen pandoc >= 1.17 (pandoc hanging bug was fixed in this version) -
Default highlighting engine for
html_documentnow highlights bash, c++, css, ini, javascript, perl, python, r, ruby, scala, stan and xml -
Added
printsub-option totoc_floatto control whether the table of contents appears when user prints out the HTML page. -
Added
readmeoption tohtml_vignettewhich automatically creates a package level README.md (for GitHub) in addition to rendering the vignette. -
Support for
keep_mdinhtml_vignetteformat. -
Try to install the latexmk package automatically on Windows if the executable latexmk.exe exists.
rmarkdown 0.9.6
-
Ability to set
opts_hooksinknitr_options()(#672) -
Added
render_siteand related functions for rendering collections of documents within a directory as a website. -
Ability to define html_document navigation bar using simple yaml format.
-
Added
pre_knitandpost_knithooks for output formats. -
Discover
LaTeXdependencies and add them to the.texpreamble (#647) -
Added new
all_output_formatsfunction to enumerate all output formats registered for an Rmd. -
Change
fig_captiondefault to TRUE for all formats -
Change
fig_retinato 2 for HTML formats (no longer contingent onfig_caption) -
Ensure pandoc binary exists before binding to pandoc directory (#632)
-
Handle relative paths for 'default_output_format' (#638)
-
Eliminate duplicate viewport meta tag from html_document
-
Added biblatex biblio-style support to the LaTeX template for Pandoc 1.15.2 (#643)
-
Allow override of header font-size in html_document custom css (#652)
-
Fix for horizontal scrollbars appearing w/ code folding (#654)
-
Specifying
toc_floatinhtml_documentnow automatically setstoc = TRUE -
Enable per-header opt-out of
toc-floatvia {.toc-ignore} attribute -
Correctly handle soft line breaks in ioslides_presentation (#661)
-
Don't use text-muted for code folding btns (text visibility in non-default themes)
-
Fix for rendering non-HTML formats from .md files (resolve runtime before knit)
-
html_dependency_bootstrapnow accepts theme = "default" argument -
Use pandoc 1.17.0.2 compatible LaTeX template when pandoc >= 1.17.0.2
-
Support custom template for
ioslides_presentation -
Added
analyticsoption forioslides_presentationfor Google Analytics -
Removed the extra tag
<p></p>around HTML output (typically generated by htmltools) from code chunks, to avoid invalid HTML like<p><div>...</div><p>(#685)
rmarkdown 0.9.5
-
Added odt_document format for OpenDocument Text output
-
Added rtf_document format for Rich Text Format output
-
Added github_document format for GitHub Flavored Markdown output
-
Only apply white background for themed HTML documents (#588)
-
Added to the default HTML template to make it work better with mobile browsers. (#589)
-
Specify --filter pandoc-citeproc after custom pandoc args
-
Long lines in code blocks will be wrapped in the
html_vignette()output (#595) -
Added new arguments
run_pandoc = TRUEandknit_meta = NULLtorender(). See the help page ofrenderfor details. (#594) -
The
tufte_handoutformat now delegates to thetuftepackage and no longer provides a base template. -
Use pandoc 1.15.2 compatible LaTeX template when pandoc >= 1.15.2
-
Fix issue with Beamer template and pandoc 1.15.2
-
Updated embedded JQuery to v1.11.3 and Bootstrap to v3.3.5.
-
Expose core HTML dependencies for use by custom R Markdown formats.
-
New
html_documentthemes: "lumen", "paper", "sandstone", "simplex", & "yeti". -
Ability to include bootstrap navbar for multi-page
html_documentwebsites -
Added support for
abstractfield tohtml_documentformat -
Added support for floating table of contents (via tocify) to
html_document -
Added support for tabsets via use of {.tabset} class on top-level headings
-
Added support for folding/unfolding of R code chunks in
html_document -
Support
urlreferences in CSS files forruntime: shiny -
Change name of common options file to
_output.yml -
Tweak pandoc conversion used in
pandoc_self_contained_htmlto prevent hanging with large script elements (use "markdown" rather than "markdown-strict" as input format) -
The filename extension .bib will be removed before bibliography files are passed to Pandoc when the output is LaTeX/PDF and the citation package natbib or biblatex is used on Windows. This is because bibtex in MikTeX will always add the extension .bib to bibliography files, e.g. it treats foo.bib as foo.bib.bib. (#623)
-
Render Shiny documents in a clean environment; fixes issue in which code in Shiny documents could access internal R Markdown state
rmarkdown 0.9.2
- Added a fix to #580 for Windows users.
rmarkdown 0.9.1
-
Fix for a bug causing certain files to be deleted as intermediate files. (#580)
-
PDF/LaTeX output no longer uses natbib as the citation package by default. If you do want to use natbib or biblatex, you may still use the argument citation_package = 'natbib' or 'biblatex'. (#577)
rmarkdown 0.9
-
Fix for JS exception in slidy_presentation when served from the filesystem (don't call pushState for file:// urls)
-
Escape single quotes in file paths
-
Fix for missing resources when rendering a filename with shell characters
-
For PDF/LaTeX output, citations are processed via natbib or biblatex instead of pandoc-citeproc. The ciation package natbib or biblatex can be chosen using the argument
citation_packageinpdf_document(),beamer_presentation(), andtufte_handout(). LaTeX is compiled to PDF via latexmk (https://www.ctan.org/pkg/latexmk/); if it is not installed, a simple emulation will be used (run pdflatex/xelatex/lualatex, bibtex, and makeindex a few times). You are recommended to install latexmk, and please note latexmk requires a Perl installation (this is important especially for Windows users). -
Always use the graphics package for PDF output
-
Fix for the error "cannot change value of locked binding for 'metadata'" when one call of rmarkdown::render() is nested in another one (#248)
-
Fix for an issue causing image paths to be rendered incorrectly in Windows when rendering an
html_documentwithself_contained: falseand a path is passed in argumentoutput_dir. (#551) -
Add always_allow_html option for preventing errors when html_dependencies are rendered in non-HTML formats (e.g. pdf_document or word_document).
-
Fix for an issue causing resources not to be discovered in some documents containing an empty quoted string (
"") in an R chunk.
rmarkdown 0.8.1
-
Support for table of contents in word_document (requires pandoc >= 1.14)
-
Support for opts_template in knitr options
-
Don't implicitly discover directories when scanning for dependent resources
-
Fix for slide numbers not showing up in ioslides when served from the filesystem (don't call pushState for file:// urls)
-
Remove inlining of bootstrap CSS (was workaround for bug now fixed in pandoc)
-
Allow specifying an R file in calls to find_all_resources
rmarkdown 0.8
-
Add support for keep_md to word_document
-
Increase pandoc stack size to 512M (often required for base64 encoding e.g. larger embedded leaflet maps). Stack size can also be controlled by the pandoc.stack.size option.
-
Allow YAML front matter to be terminated with ...
-
Automatically generate a user-interface (via a Shiny application) for user specification of values in parameterized reports.
-
Add tightlist macro for compatibility with pandoc >= 1.14
-
Bugfix: Don't merge render params recursively with knit_params
-
Bugfix: Handle slashes correctly on Windows for slidy_presentation when self_contained = FALSE
rmarkdown 0.7
-
Add latex_engine option to beamer_presentation format
-
Ensure that when LANG=en_US pandoc receives en_US.UTF-8 (prevent hang)
-
Generate MathJax compatible output when using html_fragment format.
-
Use pandoc built-in template for Beamer
-
Use pandoc 1.14 compatible LaTeX template when pandoc >= 1.14
-
Inline bootstrap.min.css to workaround pandoc 1.14 base64 encoding issue
-
Add support for discovering references to external resources when the document output format is PDF
-
Fix several issues causing pandoc errors when an intermediates directory is used, including during render for Shiny documents
rmarkdown 0.6
-
Support for parameterized reports. Parameter names and default values are defined in YAML and can be specified via the 'params' argument to the render function
-
'md_extensions' option to enable/disable markdown extensions for input files
-
Automatically discover and include dependent resources (e.g. images, css, etc.) for interactive documents.
-
Added pandoc_version function.
-
Use VignetteEncoding directive in html_vignette format
-
Fix issues related to use of non-ASCII characters in ioslides_presentation
-
Non-ASCII characters in the YAML data are not marked with the UTF-8 encoding when they are read into R, so character strings in
rmarkdown::metadatamay be displayed incorrectly (#420) -
Various improvements to tufte_handout format
rmarkdown 0.5.1
-
Add 'dev' option to output formats to specify output device for figures
-
Enable use of footnotes in titles of LaTeX documents
-
Various improvements related to directory detection/handling on Windows
rmarkdown 0.4.2
-
Sync to the latest LaTeX and Beamer templates from pandoc-templates
-
Switched from the Bootstrap 2 web framework to Bootstrap 3. This is designed to work with Shiny >= 0.10.3, which has made the same switch
-
Add CSS to restore responsive image behavior from Bootstrap 2
-
Use a more subtle treatment for inline code in Bootstrap themed documents
-
Improved support for multiple authors in ioslides
-
Workaround for poor rendering of ioslides multi-columns lists in Safari 8
-
Serve index.html as fallback default file for rmarkdown::run
rmarkdown 0.3.11
Initial release to CRAN