blob: 4fc15949271866ff123d9a27fb74b2d862b99203 [file] [log] [blame]
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/revealjs_presentation.R
\name{revealjs_presentation}
\alias{revealjs_presentation}
\title{Convert to a reveal.js presentation}
\usage{
revealjs_presentation(incremental = FALSE, center = FALSE, fig_width = 8,
fig_height = 6, fig_retina = if (!fig_caption) 2, fig_caption = FALSE,
smart = TRUE, self_contained = TRUE, theme = "simple",
transition = "default", background_transition = "default",
history = TRUE, reveal_options = NULL, highlight = "default",
mathjax = "default", template = "default", css = NULL,
includes = NULL, keep_md = FALSE, lib_dir = NULL, pandoc_args = NULL,
...)
}
\arguments{
\item{incremental}{\code{TRUE} to render slide bullets incrementally. Note
that if you want to reverse the default incremental behavior for an
individual bullet you can preceded it with \code{>}. For example:
\emph{\code{> - Bullet Text}}}
\item{center}{\code{TRUE} to vertically center content on slides}
\item{fig_width}{Default width (in inches) for figures}
\item{fig_height}{Default width (in inches) for figures}
\item{fig_retina}{Scaling to perform for retina displays (defaults to 2 when
\code{fig_caption} is \code{FALSE}, which currently works for all widely
used retina displays). Set to \code{NULL} to prevent retina scaling. Note
that this will always be \code{NULL} when \code{keep_md} is specified (this
is because \code{fig_retina} relies on outputting HTML directly into the
markdown document).}
\item{fig_caption}{\code{TRUE} to render figures with captions}
\item{smart}{Produce typographically correct output, converting straight
quotes to curly quotes, --- to em-dashes, -- to en-dashes, and ... to
ellipses.}
\item{self_contained}{Produce a standalone HTML file with no external
dependencies, using data: URIs to incorporate the contents of linked
scripts, stylesheets, images, and videos. Note that even for self contained
documents MathJax is still loaded externally (this is necessary because of
it's size).}
\item{theme}{Visual theme ("simple", "sky", "beige", "serif",
"solarized", "blood", "moon", "night", "black", "league" or "white").}
\item{transition}{Slide transition ("default", "none", "fade", "slide",
"convex", "concave" or "zoom")}
\item{background_transition}{Slide background-transition ("default", "none", "fade", "slide",
"convex", "concave" or "zoom")}
\item{history}{\code{TRUE} to push each slide change to the browser history.}
\item{reveal_options}{Additional options to specify for reveal.js (see
\href{https://github.com/hakimel/reveal.js#configuration}{https://github.com/hakimel/reveal.js#configuration} for details).}
\item{highlight}{Syntax highlighting style. Supported styles include
"default", "tango", "pygments", "kate", "monochrome", "espresso",
"zenburn", and "haddock". Pass \code{NULL} to prevent syntax highlighting.}
\item{mathjax}{Include mathjax. The "default" option uses an https URL from
the official 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 \code{NULL} to exclude MathJax entirely.}
\item{template}{Pandoc template to use for rendering. Pass "default"
to use the rmarkdown package default template; pass \code{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 \code{revealjs_presentation} won't be available
(see the Templates section below for more details).}
\item{css}{One or more css files to include}
\item{includes}{Named list of additional content to include within the
document (typically created using the \code{\link{includes}} function).}
\item{keep_md}{Keep the markdown file generated by knitting.}
\item{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 \code{_files} appended to it.}
\item{pandoc_args}{Additional command line options to pass to pandoc}
\item{...}{Ignored}
}
\value{
R Markdown output format to pass to \code{\link{render}}
}
\description{
Format for converting from R Markdown to a reveal.js presentation.
}
\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 more information on markdown syntax for presentations see
\href{http://johnmacfarlane.net/pandoc/demo/example9/producing-slide-shows-with-pandoc.html}{producing
slide shows with pandoc}.
}
\section{Templates}{
You can provide a custom HTML template to be used for rendering. The syntax
for templates is described in the documentation on
\href{http://johnmacfarlane.net/pandoc/demo/example9/templates.html}{pandoc
templates}. You can also use the basic pandoc template by passing
\code{template = NULL}.
Note however that if you choose not to use the "default" reveal.js template
then several aspects of reveal.js presentation rendering will behave
differently:
\itemize{
\item{The \code{center} parameter does not work (you'd need to
set this directly in the template).
}
\item{The built-in template includes some additional tweaks to styles
to optimize for output from R, these won't be present.
}
\item{MathJax will not work if \code{self_contained} is \code{TRUE}
(these two options can't be used together in normal pandoc templates).
}
}
}
\examples{
\dontrun{
library(rmarkdown)
library(revealjs)
# simple invocation
render("pres.Rmd", revealjs_presentation())
# specify an option for incremental rendering
render("pres.Rmd", revealjs_presentation(incremental = TRUE))
}
}