Independently compile several qmd and create a common html
Usage
compile_qmd_course(
vec_qmd_path,
output_dir,
output_html,
template = system.file("template_minimal.qmd", package = "squash"),
output_format = "revealjs",
title = "Title",
metadata_template = NULL,
metadata_qmd = NULL,
template_text = NULL,
ext_dir = NULL,
quiet = FALSE,
debug = FALSE,
fix_img_path = TRUE
)
Arguments
- vec_qmd_path
character. Vector of the path to qmd files
- output_dir
character. Output path to store html files and companion folders
- output_html
character. File name of the complete html output saved
- template
character. Path to the template qmd to use. Content will be included at the positions inside double-brackets
- output_format
character. Output format of the qmd, default to "revealjs". Can be adapted for specific themes.
- title
character. Title of the presentation
- metadata_template
list. List of metadata used for rendering template. If a path to a yml file is provided, metadata will be read from this file.
- metadata_qmd
list. List of metadata used for rendering individual qmd files. If a path to a yml file is provided, metadata will be read from this file.
- template_text
list. List of named elements to include in the template.
- ext_dir
character. Path to the _extensions directory to use when compiling qmd
- quiet
logical. Output info in user console
- debug
logical. Output rendering output in user console.
- fix_img_path
logical. If image path are present as raw html inside files, use this option to correctly edit their path.
Examples
library(future)
# set parallel rendering
plan(multisession, workers = 2)
# list example qmds
courses_path <- system.file(
"courses",
"M01",
package = "squash"
)
# copy course tree in tmpdir, add quarto porject file
tmp_course_path <- tempfile(pattern = "course")
dir.create(tmp_course_path)
file.create(file.path(tmp_course_path, "_quarto.yaml"))
#> [1] TRUE
file.copy(
from = courses_path,
to = tmp_course_path,
recursive = TRUE
)
#> [1] TRUE
qmds <- list.files(
path = tmp_course_path,
full.names = TRUE,
recursive = TRUE,
pattern = "qmd$"
)
# generate html in temp folder
temp_dir <- tempfile(pattern = "compile")
html_output <- compile_qmd_course(
vec_qmd_path = qmds,
output_dir = temp_dir,
output_html = "complete_course.html"
)
#> ℹ {future} is using plan(multisession, workers = 2), to modify this use `future::plan()`
#> ✔ All qmd rendered.
# reset default rendering
plan("default")
# clean up
unlink(temp_dir, recursive = TRUE)
unlink(tmp_course_path, recursive = TRUE)