You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
3.0 KiB
104 lines
3.0 KiB
#' ipsum R markdown template
|
|
#'
|
|
#' Template for creating an R markdown document with an emphasis on typography
|
|
#'
|
|
#' @inheritParams rmarkdown::html_document
|
|
#' @param toc,toc_depth TOC params
|
|
#' @param extra_dependencies,... Additional function arguments to pass to the
|
|
#' base R Markdown HTML output formatter
|
|
#' @export
|
|
ipsum <- function(number_sections = FALSE,
|
|
fig_width = 7,
|
|
fig_height = 5,
|
|
fig_retina = if (!fig_caption) 2,
|
|
fig_caption = FALSE,
|
|
dev = 'png',
|
|
smart = TRUE,
|
|
self_contained = TRUE,
|
|
highlight = "default",
|
|
mathjax = "default",
|
|
extra_dependencies = NULL,
|
|
css = NULL,
|
|
includes = NULL,
|
|
keep_md = FALSE,
|
|
lib_dir = NULL,
|
|
md_extensions = NULL,
|
|
pandoc_args = NULL,
|
|
toc = FALSE,
|
|
toc_depth = 2,
|
|
...) {
|
|
|
|
theme <- NULL
|
|
template <- "default"
|
|
code_folding <- "none"
|
|
|
|
dep <- htmltools::htmlDependency(
|
|
name = "ipsum",
|
|
version = "0.1.0",
|
|
system.file("rmarkdown", "templates", "ipsum", "resources", package = "hrbrthemes"),
|
|
# script="rainbow-custom.min.js",
|
|
stylesheet="ipsum.css"
|
|
)
|
|
|
|
extra_dependencies <- append(extra_dependencies, list(dep))
|
|
|
|
|
|
args <- c("--standalone")
|
|
args <- c(args, "--section-divs")
|
|
args <- c(args, rmarkdown::pandoc_toc_args(toc, toc_depth))
|
|
args <- c(
|
|
args, "--template",
|
|
rmarkdown::pandoc_path_arg(
|
|
system.file("rmarkdown", "templates", "ipsum", "base.html", package = "hrbrthemes")
|
|
)
|
|
)
|
|
|
|
if (number_sections) args <- c(args, "--number-sections")
|
|
|
|
for (css_file in css) args <- c(args, "--css", rmarkdown::pandoc_path_arg(css_file))
|
|
|
|
pre_processor <- function(metadata, input_file, runtime,
|
|
knit_meta, files_dir, output_dir) {
|
|
|
|
if (is.null(lib_dir)) lib_dir <- files_dir
|
|
|
|
args <- c()
|
|
args <- c(
|
|
args,
|
|
pandoc_html_highlight_args(highlight, template, self_contained, lib_dir, output_dir)
|
|
)
|
|
args <- c(
|
|
args,
|
|
includes_to_pandoc_args(
|
|
includes = includes, filter = if (identical(runtime, "shiny")) normalize_path else identity
|
|
)
|
|
)
|
|
args
|
|
|
|
}
|
|
|
|
output_format(
|
|
knitr = rmarkdown::knitr_options_html(
|
|
fig_width, fig_height, fig_retina, keep_md, dev
|
|
),
|
|
pandoc = rmarkdown::pandoc_options(
|
|
to = "html",
|
|
from = from_rmarkdown(fig_caption, md_extensions),
|
|
args = args
|
|
),
|
|
keep_md = keep_md,
|
|
clean_supporting = self_contained,
|
|
pre_processor = pre_processor,
|
|
base_format = rmarkdown::html_document_base(
|
|
smart = smart,
|
|
theme = theme,
|
|
self_contained = self_contained,
|
|
lib_dir = lib_dir,
|
|
mathjax = mathjax,
|
|
template = template,
|
|
pandoc_args = pandoc_args,
|
|
extra_dependencies = extra_dependencies,
|
|
...
|
|
)
|
|
)
|
|
}
|
|
|