blob: 5d2e5d5e489bbc632aa6e2682f18471ec0e1ea1b [file] [log] [blame]
JJ Allaired708ef02016-01-30 14:30:26 -05001% Generated by roxygen2: do not edit by hand
junkkad4b3a162015-03-16 07:49:11 +01002% Please edit documentation in R/revealjs_presentation.R
JJ Allaire2ec40242014-09-15 09:18:39 -04003\name{revealjs_presentation}
4\alias{revealjs_presentation}
5\title{Convert to a reveal.js presentation}
6\usage{
Atsushi Yasumoto7053f452020-02-15 00:08:46 +09007revealjs_presentation(
8 incremental = FALSE,
9 center = FALSE,
10 slide_level = 2,
Christophe Dervieuxaa008e42021-09-23 16:52:37 +020011 toc = FALSE,
12 toc_depth = 3,
Atsushi Yasumoto7053f452020-02-15 00:08:46 +090013 fig_width = 8,
14 fig_height = 6,
15 fig_retina = if (!fig_caption) 2,
16 fig_caption = FALSE,
Atsushi Yasumoto7053f452020-02-15 00:08:46 +090017 self_contained = TRUE,
18 theme = "simple",
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020019 transition = "convex",
20 background_transition = "fade",
Atsushi Yasumoto7053f452020-02-15 00:08:46 +090021 reveal_options = NULL,
22 reveal_plugins = NULL,
23 highlight = "default",
24 mathjax = "default",
25 template = "default",
26 css = NULL,
27 includes = NULL,
28 keep_md = FALSE,
29 lib_dir = NULL,
30 pandoc_args = NULL,
31 extra_dependencies = NULL,
32 md_extensions = NULL,
33 ...
34)
JJ Allaire2ec40242014-09-15 09:18:39 -040035}
36\arguments{
37\item{incremental}{\code{TRUE} to render slide bullets incrementally. Note
38that if you want to reverse the default incremental behavior for an
JJ Allaire29152752016-03-08 15:06:38 -050039individual bullet you can precede it with \code{>}. For example:
Christophe Dervieux37782092023-03-24 17:36:16 +010040\emph{\verb{> - Bullet Text}}. See more in
41\href{https://pandoc.org/MANUAL.html#incremental-lists}{Pandoc's Manual}}
JJ Allaire2ec40242014-09-15 09:18:39 -040042
43\item{center}{\code{TRUE} to vertically center content on slides}
44
JJ Allaire4c178052016-01-30 19:35:39 -050045\item{slide_level}{Level of heading to denote individual slides. If
46\code{slide_level} is 2 (the default), a two-dimensional layout will be
47produced, with level 1 headers building horizontally and level 2 headers
48building vertically. It is not recommended that you use deeper nesting of
49section levels with reveal.js.}
50
Christophe Dervieuxaa008e42021-09-23 16:52:37 +020051\item{toc}{\code{TRUE} to include a table of contents in the output (only
52level 1 headers will be included in the table of contents).}
53
54\item{toc_depth}{Depth of headers to include in table of contents}
55
JJ Allaire2ec40242014-09-15 09:18:39 -040056\item{fig_width}{Default width (in inches) for figures}
57
Atsushi Yasumoto7053f452020-02-15 00:08:46 +090058\item{fig_height}{Default height (in inches) for figures}
JJ Allaire2ec40242014-09-15 09:18:39 -040059
JJ Allaire82a8dee2016-07-12 10:25:36 -040060\item{fig_retina}{Scaling to perform for retina displays (defaults to 2, which
61currently works for all widely used retina displays). Set to \code{NULL} to
62prevent retina scaling. Note that this will always be \code{NULL} when
63\code{keep_md} is specified (this is because \code{fig_retina} relies on
64outputting HTML directly into the markdown document).}
JJ Allaire2ec40242014-09-15 09:18:39 -040065
66\item{fig_caption}{\code{TRUE} to render figures with captions}
67
Atsushi Yasumoto7053f452020-02-15 00:08:46 +090068\item{self_contained}{Whether to generate a full LaTeX document (\code{TRUE})
69or just the body of a LaTeX document (\code{FALSE}). Note the LaTeX
70document is an intermediate file unless \code{keep_tex = TRUE}.}
JJ Allaire2ec40242014-09-15 09:18:39 -040071
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020072\item{theme}{Visual theme ("simple", "dark", "black", "sky", "beige", "serif", "solarized", "blood", "moon", "night", "league", or "white")}
JJ Allaire2ec40242014-09-15 09:18:39 -040073
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020074\item{transition}{Slide transition (
75"convex", "fade", "slide", "concave", "zoom", or "none"
76)}
junkkad4b3a162015-03-16 07:49:11 +010077
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020078\item{background_transition}{Slide background-transition (
79"convex", "fade", "slide", "concave", "zoom", or "none"
80)}
JJ Allaire2ec40242014-09-15 09:18:39 -040081
JJ Allaire35c0b492017-02-10 09:30:24 -050082\item{reveal_options}{Additional options to specify for reveal.js (see
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020083\url{https://revealjs.com/config/} for details). Options for plugins can also
84be passed, using plugin name as first level key (e.g \code{list(slideNumber = FALSE, menu = list(number = TRUE))}).}
JJ Allaire37f45b72016-01-30 18:17:45 -050085
JJ Allaire35c0b492017-02-10 09:30:24 -050086\item{reveal_plugins}{Reveal plugins to include. Available plugins include
Atsushi Yasumoto7053f452020-02-15 00:08:46 +090087"notes", "search", "zoom", "chalkboard", and "menu". Note that
JJ Allaire35c0b492017-02-10 09:30:24 -050088\code{self_contained} must be set to \code{FALSE} in order to use Reveal
89plugins.}
JJ Allaire82a8dee2016-07-12 10:25:36 -040090
Christophe Dervieux37782092023-03-24 17:36:16 +010091\item{highlight}{Syntax highlighting style passed to Pandoc.
92
93 Supported built-in styles include "default", "tango", "pygments", "kate",
94 "monochrome", "espresso", "zenburn", "haddock", and "breezedark".
95
96 Two custom styles are also included, "arrow", an accessible color scheme,
97 and "rstudio", which mimics the default IDE theme. Alternatively, supply a
98 path to a \samp{.theme} file to use
99 \href{https://pandoc.org/MANUAL.html#syntax-highlighting}{a custom Pandoc
100 style}. Note that custom theme requires Pandoc 2.0+.
101
102 Pass \code{NULL} to prevent syntax highlighting.}
JJ Allaire2ec40242014-09-15 09:18:39 -0400103
Atsushi Yasumoto7053f452020-02-15 00:08:46 +0900104\item{mathjax}{Include mathjax. The "default" option uses an https URL from a
105MathJax CDN. The "local" option uses a local version of MathJax (which is
106copied into the output directory). You can pass an alternate URL or pass
107\code{NULL} to exclude MathJax entirely.}
JJ Allaire2ec40242014-09-15 09:18:39 -0400108
JJ Allaire4c178052016-01-30 19:35:39 -0500109\item{template}{Pandoc template to use for rendering. Pass "default" to use
110the rmarkdown package default template; pass \code{NULL} to use pandoc's
111built-in template; pass a path to use a custom template that you've
112created. Note that if you don't use the "default" template then some
113features of \code{revealjs_presentation} won't be available (see the
114Templates section below for more details).}
JJ Allaire2ec40242014-09-15 09:18:39 -0400115
Christophe Dervieux21239cf2021-09-15 15:34:01 +0200116\item{css}{CSS and/or Sass files to include. Files with an extension of .sass
117or .scss are compiled to CSS via \code{sass::sass()}. Also, if \code{theme} is a
118\code{\link[bslib:bs_theme]{bslib::bs_theme()}} object, Sass code may reference the relevant Bootstrap
119Sass variables, functions, mixins, etc.}
JJ Allairefad55232015-10-19 07:47:26 -0400120
JJ Allaire2ec40242014-09-15 09:18:39 -0400121\item{includes}{Named list of additional content to include within the
Atsushi Yasumoto7053f452020-02-15 00:08:46 +0900122document (typically created using the \code{\link[rmarkdown]{includes}} function).}
JJ Allaire2ec40242014-09-15 09:18:39 -0400123
124\item{keep_md}{Keep the markdown file generated by knitting.}
125
126\item{lib_dir}{Directory to copy dependent HTML libraries (e.g. jquery,
JJ Allaire091cb122016-02-09 13:04:23 -0500127bootstrap, etc.) into. By default this will be the name of the document with
128\code{_files} appended to it.}
JJ Allaire2ec40242014-09-15 09:18:39 -0400129
130\item{pandoc_args}{Additional command line options to pass to pandoc}
JJ Allaire8d1c2f42016-01-30 14:56:45 -0500131
JJ Allaire35c0b492017-02-10 09:30:24 -0500132\item{extra_dependencies}{Additional function arguments to pass to the base R
133Markdown HTML output formatter \code{\link[rmarkdown:html_document_base]{rmarkdown::html_document_base()}}.}
JJ Allaire375805c2016-11-15 08:56:43 -0500134
Atsushi Yasumoto7053f452020-02-15 00:08:46 +0900135\item{md_extensions}{Markdown extensions to be added or removed from the
Christophe Dervieux37782092023-03-24 17:36:16 +0100136default definition of R Markdown. See the \code{\link[rmarkdown]{rmarkdown_format}} for
Atsushi Yasumoto7053f452020-02-15 00:08:46 +0900137additional details.}
138
JJ Allaire8d1c2f42016-01-30 14:56:45 -0500139\item{...}{Ignored}
JJ Allaire2ec40242014-09-15 09:18:39 -0400140}
141\value{
christophe dervieuxd26add32021-09-23 16:55:00 +0200142R Markdown output format to pass to \code{\link[rmarkdown:render]{rmarkdown::render()}}
JJ Allaire2ec40242014-09-15 09:18:39 -0400143}
144\description{
145Format for converting from R Markdown to a reveal.js presentation.
146}
147\details{
JJ Allaire4c178052016-01-30 19:35:39 -0500148In reveal.js presentations you can use level 1 or level 2 headers for slides.
149If you use a mix of level 1 and level 2 headers then a two-dimensional layout
150will be produced, with level 1 headers building horizontally and level 2
151headers building vertically.
JJ Allaire2ec40242014-09-15 09:18:39 -0400152
JJ Allaire4c178052016-01-30 19:35:39 -0500153For additional documentation on using revealjs presentations see
christophe dervieuxd26add32021-09-23 16:55:00 +0200154\url{https://github.com/rstudio/revealjs}
JJ Allaire2ec40242014-09-15 09:18:39 -0400155}
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200156\section{About plugins}{
157\subsection{Built-in plugins with reveal.js}{
158\subsection{Zoom}{
159
160When activated, ALT + Click can be used to zoom on a slide.
161}
162
163\subsection{Notes}{
164
165Show a \href{https://revealjs.com/speaker-view/}{speaker view} in a separated
166window. This speaker view contains a timer, current slide, next slide, and
167speaker notes. It also duplicate the window to have presentation mode
168synchronized with main presentation.
169
Christophe Dervieux37782092023-03-24 17:36:16 +0100170Use
171
172\if{html}{\out{<div class="sourceCode markdown">}}\preformatted{::: notes
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200173Content of speaker notes
174:::
175}\if{html}{\out{</div>}}
176
177to create notes only viewable in presentation mode.
178}
179
180\subsection{Search}{
181
182When opt-in, it is possible to show a search box when pressing \code{CTRL + SHIFT + F}. It will seach in the whole presentation, and highlight matched words. The
183matches will also be highlighted in overview mode (pressing ESC to see all
184slides in one scrollable view)
185}
186
187}
188
189\subsection{Menu}{
190
191A slideout menu plugin for Reveal.js to quickly jump to any slide by title.
192
Christophe Dervieux37782092023-03-24 17:36:16 +0100193Version is
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200194currently used and documentation for configurations can be found at
195\href{https://github.com/denehyg/reveal.js-menu/blob/2.1.0/README.md}{denehyg/reveal.js-menu}
196\subsection{Known limitations}{
197
198Some configurations cannot be modified in the current template:
199\itemize{
200\item \code{loadIcons: false} the fontawesome icons are loaded by \pkg{rmarkdown}
201when this plugin is used
202\item \code{custom: false}
203\item \code{themes: false}
204\item \code{transitions: false}
205}
206}
207
208}
209
210\subsection{Chalkboard}{
211
212A plugin adding a chalkboard and slide annotation
213
Christophe Dervieux37782092023-03-24 17:36:16 +0100214Version is
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200215currently used and documentation for configurations can be found at
216\href{https://github.com/rajgoel/reveal.js-plugins/tree/4.1.5/4.1.5/chalkboard}{rajgoel/reveal.js-plugins}
217
218By default, chalkboard and annotations modes will be accessible using keyboard
219shortcuts, respectively, pressing B, or pressing C.
Christophe Dervieux37782092023-03-24 17:36:16 +0100220In addition, buttons on the bottom left can be added by using the following
221
222\if{html}{\out{<div class="sourceCode yaml">}}\preformatted{reveal_plugins:
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200223 - chalkboard
224reveal_options:
225 chalkboard:
226 toggleNotesButton: true
227 toggleChalkboardButton: true
228}\if{html}{\out{</div>}}
229}
230}
231
JJ Allaire2ec40242014-09-15 09:18:39 -0400232\examples{
233\dontrun{
234
235library(rmarkdown)
236library(revealjs)
237
238# simple invocation
239render("pres.Rmd", revealjs_presentation())
240
241# specify an option for incremental rendering
242render("pres.Rmd", revealjs_presentation(incremental = TRUE))
243}
JJ Allaired708ef02016-01-30 14:30:26 -0500244
JJ Allaire2ec40242014-09-15 09:18:39 -0400245}