new df_print option: theme-styled data frame tables by default (kable)
Change-Id: I827aa1c5f372ee78944a8bd32f51caea1731e87f
diff --git a/NEWS.md b/NEWS.md
index 134bf68..a5593f8 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,5 +1,7 @@
# revealjs.ids (development version)
+- New `df_print` option (default `"kable"`): data frames are now printed as theme-styled HTML tables by default, so raw results on slides look reasonable without extra code. Use `df_print: default` for plain text output (or `tibble` / `paged` as in `rmarkdown::html_document`); `"kable"` prints all rows, so show only `head(x)` on slides with many-rowed results.
+
- New transcript view, toggled with `r` (or, on touch devices, with a list button next to the speaker notes button): a single scrollable page containing every slide's content and speaker notes. Text-to-speech ("read aloud") browser extensions cannot walk a reveal.js deck (hidden slides are not part of the visible page text), but they can read the transcript from start to finish -- e.g. to have the whole talk including notes read aloud while practicing.
- Slides titled "Overview" or "Überblick" are now automatically turned into a table of contents (ported from the old Google Docs slide workflow): their body content is replaced at presentation time with a clickable list of all `#` chapter headings. Adding `{data-overview-subheadings=true}` to the heading also includes the `##` sub-headings, laid out in two columns. References and appendix chapters (References/Literatur/Literaturverzeichnis/Appendix/Anhang) are excluded, together with their sub-slides.
diff --git a/R/revealjs_presentation.R b/R/revealjs_presentation.R
index ec8a814..68d0733 100644
--- a/R/revealjs_presentation.R
+++ b/R/revealjs_presentation.R
@@ -186,6 +186,13 @@
#' `c("notes", "search", "menu", "zoom")`; pass `NULL` to render without
#' any plugins. Note that `self_contained` must be set to `FALSE` in order
#' to use Reveal plugins.
+#' @param df_print Method used to print data frames in the document. The
+#' default, `"kable"`, renders data frames as plain HTML tables styled by
+#' the presentation theme, so that results look reasonable on slides without
+#' any extra code. Since `"kable"` prints all rows, consider showing only
+#' `head(x)` on slides with many-rowed results. Other supported methods are
+#' `"default"` (plain text output), `"tibble"`, and `"paged"` (an
+#' interactive paged table, see [rmarkdown::html_document()]).
#' @param 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
@@ -228,6 +235,7 @@
reveal_options = NULL,
reveal_plugins = c("notes", "search", "menu", "zoom"),
highlight = "default",
+ df_print = "kable",
mathjax = "default",
template = "default",
css = NULL,
@@ -457,6 +465,7 @@
),
keep_md = keep_md,
clean_supporting = self_contained,
+ df_print = df_print,
pre_processor = pre_processor,
post_processor = post_processor,
base_format = html_document_base(
diff --git a/man/revealjs_presentation.Rd b/man/revealjs_presentation.Rd
index fe4fb7e..7f48a89 100644
--- a/man/revealjs_presentation.Rd
+++ b/man/revealjs_presentation.Rd
@@ -21,6 +21,7 @@
reveal_options = NULL,
reveal_plugins = c("notes", "search", "menu", "zoom"),
highlight = "default",
+ df_print = "kable",
mathjax = "default",
template = "default",
css = NULL,
@@ -103,6 +104,14 @@
Pass \code{NULL} to prevent syntax highlighting.}
+\item{df_print}{Method used to print data frames in the document. The
+default, \code{"kable"}, renders data frames as plain HTML tables styled by
+the presentation theme, so that results look reasonable on slides without
+any extra code. Since \code{"kable"} prints all rows, consider showing only
+\code{head(x)} on slides with many-rowed results. Other supported methods are
+\code{"default"} (plain text output), \code{"tibble"}, and \code{"paged"} (an
+interactive paged table, see \code{\link[rmarkdown:html_document]{rmarkdown::html_document()}}).}
+
\item{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