Title: | Presentation Ninja |
---|---|
Description: | Create HTML5 slides with R Markdown and the JavaScript library 'remark.js' (<https://remarkjs.com>). |
Authors: | Yihui Xie [aut, cre] |
Maintainer: | Yihui Xie <[email protected]> |
License: | MIT + file LICENSE |
Version: | 0.30.1 |
Built: | 2024-08-23 05:48:06 UTC |
Source: | https://github.com/yihui/xaringan |
This function can use either the decktape
command or the hosted
docker image of the decktape library to convert HTML slides to PDF
(including slides produced by xaringan).
decktape( file, output, args = "--chrome-arg=--allow-file-access-from-files", docker = Sys.which("decktape") == "", version = "", open = FALSE )
decktape( file, output, args = "--chrome-arg=--allow-file-access-from-files", docker = Sys.which("decktape") == "", version = "", open = FALSE )
file |
The path to the HTML presentation file. When |
output |
The desired output path of the PDF file. |
args |
Command-line arguments to be passed to |
docker |
Whether to use Docker ( |
version |
The decktape version when you use Docker. |
open |
Whether to open the resulting PDF with your system PDF viewer. |
The output file path (invisibly).
For some operating systems you may need to
add yourself to the
docker
group and restart your machine if you use DeckTape via
Docker. By default, the latest version of the decktape Docker image
is used. In case of errors, you may want to try older versions (e.g.,
version = '2.8.0'
).
DeckTape: https://github.com/astefanutti/decktape. Docker: https://www.docker.com.
xaringan::decktape("https://slides.yihui.org/xaringan", "xaringan.pdf", docker = FALSE)
xaringan::decktape("https://slides.yihui.org/xaringan", "xaringan.pdf", docker = FALSE)
Use the servr package to serve and reload slides on change.
inf_mr()
and mugen_tsukuyomi()
are aliases of
infinite_moon_reader()
.
infinite_moon_reader(moon, cast_from = ".", ...) inf_mr(moon, cast_from = ".", ...) mugen_tsukuyomi(moon, cast_from = ".", ...)
infinite_moon_reader(moon, cast_from = ".", ...) inf_mr(moon, cast_from = ".", ...) mugen_tsukuyomi(moon, cast_from = ".", ...)
moon |
The input Rmd file path (if missing and in RStudio, the current active document is used). |
cast_from |
The root directory of the server. |
... |
Passed to |
The Rmd document is compiled continuously to trap the world in the Infinite
Tsukuyomi. The genjutsu is cast from the directory specified by
cast_from
, and the Rinne Sharingan will be reflected off of the
moon
. Use servr::daemon_stop()
to perform a genjutsu Kai and
break the spell.
This function is not really tied to the output format
moon_reader()
. You can use it to serve any single-HTML-file R
Markdown output.
https://naruto.fandom.com/wiki/Infinite_Tsukuyomi
servr::httw
This output format produces an HTML file that contains the Markdown source
(knitted from R Markdown) and JavaScript code to render slides.
tsukuyomi()
is an alias of moon_reader()
.
moon_reader( css = c("default", "default-fonts"), self_contained = FALSE, seal = TRUE, yolo = FALSE, chakra = "https://remarkjs.com/downloads/remark-latest.min.js", nature = list(), anchor_sections = FALSE, ... ) tsukuyomi(...)
moon_reader( css = c("default", "default-fonts"), self_contained = FALSE, seal = TRUE, yolo = FALSE, chakra = "https://remarkjs.com/downloads/remark-latest.min.js", nature = list(), anchor_sections = FALSE, ... ) tsukuyomi(...)
css |
A vector of CSS file paths. Two default CSS files
(‘default.css’ and ‘default-fonts.css’) are provided in this
package, which was borrowed from https://remarkjs.com. If the
character vector |
self_contained |
Whether to produce a self-contained HTML file by embedding all external resources into the HTML file. See the ‘Note’ section below. |
seal |
Whether to generate a title slide automatically using the YAML
metadata of the R Markdown document (if |
yolo |
Whether to insert the
Mustache
Karl (TM) randomly in the slides. |
chakra |
A path to the remark.js library (can be either local or
remote). Please note that if you use the default remote latest version of
remark.js, your slides will not work when you do not have Internet access.
They might also be broken after a newer version of remark.js is released.
If these issues concern you, you should download remark.js locally (e.g.,
via |
nature |
(Nature transformation) A list of configurations to be passed
to |
anchor_sections , ...
|
For |
Tsukuyomi is a genjutsu to trap the target in an illusion on eye contact.
If you are unfamiliar with CSS, please see the xaringan wiki on Github providing CSS slide modification examples.
Do not stare at Karl's picture for too long after you turn on the
yolo
mode. I believe he has Sharingan.
For the option self_contained = TRUE
, it encodes images as base64
data in the HTML output file. The image path should not contain the string
")"
when the image is written with the syntax ![](PATH)
or
background-image: url(PATH)
, and should not contain the string
"/>"
when it is written with the syntax <img src="PATH" />
.
Rendering slides in the self-contained mode can be time-consuming when you
have remote resources (such as images or JS libraries) in your slides
because these resources need to be downloaded first. We strongly recommend
that you download remark.js (via summon_remark()
) and use a
local copy instead of the default chakra
argument when
self_contained = TRUE
, so remark.js does not need to be downloaded
each time you compile your slides.
When the slides are previewed via xaringan::inf_mr()
,
self_contained
will be temporarily changed to FALSE
even if
the author of the slides set it to TRUE
. This will make it faster to
preview slides locally (by avoiding downloading remote resources explicitly
and base64 encoding them). You can always click the Knit button in RStudio
or call rmarkdown::render()
to render the slides in the
self-contained mode (these approaches will respect the
self_contained
setting).
Each page has its own countdown timer (when the option countdown
is
set in nature
), and the timer is (re)initialized whenever you
navigate to a new page. If you need a global timer, you can use the
presenter's mode (press P).
https://naruto.fandom.com/wiki/Tsukuyomi
# rmarkdown::render('foo.Rmd', 'xaringan::moon_reader')
# rmarkdown::render('foo.Rmd', 'xaringan::moon_reader')
Download a version of the remark.js script to your local disk, so you can
render slides offline. You need to change the chakra
argument of
moon_reader()
after downloading remark.js.
summon_remark(version = "latest", to = "libs/")
summon_remark(version = "latest", to = "libs/")
version |
The version of remark.js (e.g. |
to |
The destination directory. |