revealjs_presentation: Convert to a reveal.js presentation

View source: R/revealjs_presentation.R

revealjs_presentationR Documentation

Convert to a reveal.js presentation

Description

Format for converting from R Markdown to a reveal.js presentation.

Usage

revealjs_presentation(
  incremental = FALSE,
  center = FALSE,
  slide_level = 2,
  toc = FALSE,
  toc_depth = 3,
  fig_width = 8,
  fig_height = 6,
  fig_retina = if (!fig_caption) 2,
  fig_caption = FALSE,
  self_contained = TRUE,
  theme = "simple",
  transition = "convex",
  background_transition = "fade",
  reveal_options = NULL,
  reveal_plugins = NULL,
  highlight = "default",
  mathjax = "default",
  template = "default",
  css = NULL,
  includes = NULL,
  keep_md = FALSE,
  lib_dir = NULL,
  pandoc_args = NULL,
  extra_dependencies = NULL,
  md_extensions = NULL,
  ...
)

Arguments

incremental

TRUE to render slide bullets incrementally. Note that if you want to reverse the default incremental behavior for an individual bullet you can precede it with >. For example: ⁠> - Bullet Text⁠. See more in Pandoc's Manual

center

TRUE to vertically center content on slides

slide_level

Level of heading to denote individual slides. If slide_level is 2 (the default), a two-dimensional layout will be produced, with level 1 headers building horizontally and level 2 headers building vertically. It is not recommended that you use deeper nesting of section levels with reveal.js.

toc

TRUE to include a table of contents in the output (only level 1 headers will be included in the table of contents).

toc_depth

Depth of headers to include in table of contents

fig_width

Default width (in inches) for figures

fig_height

Default height (in inches) for figures

fig_retina

Scaling to perform for retina displays (defaults to 2, which currently works for all widely used retina displays). Set to NULL to prevent retina scaling. Note that this will always be NULL when keep_md is specified (this is because fig_retina relies on outputting HTML directly into the markdown document).

fig_caption

TRUE to render figures with captions

self_contained

Whether to generate a full LaTeX document (TRUE) or just the body of a LaTeX document (FALSE). Note the LaTeX document is an intermediate file unless keep_tex = TRUE.

theme

Visual theme ("simple", "dark", "black", "sky", "beige", "serif", "solarized", "blood", "moon", "night", "league", or "white")

transition

Slide transition ( "convex", "fade", "slide", "concave", "zoom", or "none" )

background_transition

Slide background-transition ( "convex", "fade", "slide", "concave", "zoom", or "none" )

reveal_options

Additional options to specify for reveal.js (see https://revealjs.com/config/ for details). Options for plugins can also be passed, using plugin name as first level key (e.g list(slideNumber = FALSE, menu = list(number = TRUE))).

reveal_plugins

Reveal plugins to include. Available plugins include "notes", "search", "zoom", "chalkboard", and "menu". Note that self_contained must be set to FALSE in order to use Reveal plugins.

highlight

Syntax highlighting style passed to Pandoc.

Supported built-in styles include "default", "tango", "pygments", "kate", "monochrome", "espresso", "zenburn", "haddock", and "breezedark".

Two custom styles are also included, "arrow", an accessible color scheme, and "rstudio", which mimics the default IDE theme. Alternatively, supply a path to a ‘⁠.theme⁠’ file to use a custom Pandoc style. Note that custom theme requires Pandoc 2.0+.

Pass NULL to prevent syntax highlighting.

mathjax

Include mathjax. The "default" option uses an https URL from a MathJax CDN. The "local" option uses a local version of MathJax (which is copied into the output directory). You can pass an alternate URL or pass NULL to exclude MathJax entirely.

template

Pandoc template to use for rendering. Pass "default" to use the rmarkdown package default template; pass NULL to use pandoc's built-in template; pass a path to use a custom template that you've created. Note that if you don't use the "default" template then some features of revealjs_presentation won't be available (see the Templates section below for more details).

css

CSS and/or Sass files to include. Files with an extension of .sass or .scss are compiled to CSS via sass::sass(). Also, if theme is a bslib::bs_theme() object, Sass code may reference the relevant Bootstrap Sass variables, functions, mixins, etc.

includes

Named list of additional content to include within the document (typically created using the includes function).

keep_md

Keep the markdown file generated by knitting.

lib_dir

Directory to copy dependent HTML libraries (e.g. jquery, bootstrap, etc.) into. By default this will be the name of the document with _files appended to it.

pandoc_args

Additional command line options to pass to pandoc

extra_dependencies

Additional function arguments to pass to the base R Markdown HTML output formatter rmarkdown::html_document_base().

md_extensions

Markdown extensions to be added or removed from the default definition of R Markdown. See the rmarkdown_format for additional details.

...

Ignored

Details

In reveal.js presentations you can use level 1 or level 2 headers for slides. If you use a mix of level 1 and level 2 headers then a two-dimensional layout will be produced, with level 1 headers building horizontally and level 2 headers building vertically.

For additional documentation on using revealjs presentations see https://github.com/rstudio/revealjs

Value

R Markdown output format to pass to rmarkdown::render()

About plugins

Built-in plugins with reveal.js

Zoom

When activated, ALT + Click can be used to zoom on a slide.

Notes

Show a speaker view in a separated window. This speaker view contains a timer, current slide, next slide, and speaker notes. It also duplicate the window to have presentation mode synchronized with main presentation.

Use

::: notes
Content of speaker notes
:::

to create notes only viewable in presentation mode.

Search

When opt-in, it is possible to show a search box when pressing CTRL + SHIFT + F. It will seach in the whole presentation, and highlight matched words. The matches will also be highlighted in overview mode (pressing ESC to see all slides in one scrollable view)

Menu

A slideout menu plugin for Reveal.js to quickly jump to any slide by title.

Version is currently used and documentation for configurations can be found at denehyg/reveal.js-menu

Known limitations

Some configurations cannot be modified in the current template:

  • loadIcons: false the fontawesome icons are loaded by rmarkdown when this plugin is used

  • custom: false

  • themes: false

  • transitions: false

Chalkboard

A plugin adding a chalkboard and slide annotation

Version is currently used and documentation for configurations can be found at rajgoel/reveal.js-plugins

By default, chalkboard and annotations modes will be accessible using keyboard shortcuts, respectively, pressing B, or pressing C. In addition, buttons on the bottom left can be added by using the following

reveal_plugins: 
  - chalkboard
reveal_options:
  chalkboard:
    toggleNotesButton: true
    toggleChalkboardButton: true

Examples

## Not run: 

library(rmarkdown)
library(revealjs)

# simple invocation
render("pres.Rmd", revealjs_presentation())

# specify an option for incremental rendering
render("pres.Rmd", revealjs_presentation(incremental = TRUE))

## End(Not run)


rstudio/revealjs documentation built on March 25, 2023, 9:58 p.m.