use_quarto_ext <- function(out_name, ext_name = "document-fn") {
# Check available extensions ------
all_available_extensions <- list.dirs(
system.file("extdata/_extensions/", package = "platen"),
recursive = FALSE,
full.names = FALSE
)
stopifnot("Extension not in package" = ext_name %in% all_available_extensions)
# Various reading of key-value pairs for reporting ------
ext_yml <- readLines(system.file(paste0("extdata/_extensions/", ext_name, "/_extension.yml"),
package = "platen"))
ext_ver <- gsub(
x = ext_yml[grepl(x = ext_yml, pattern = "version:")],
pattern = "version: ",
replacement = ""
)
ext_nm <- gsub(
x = ext_yml[grepl(x = ext_yml, pattern = "title:")],
pattern = "title: ",
replacement = ""
)
# Create folder for recursive copying into ahead of time ------
dir.create(here::here(ext_name))
# Copy from internals ------
file.copy(
from = system.file(paste0("extdata/_extensions/", ext_name), package = "platen"),
to = here::here(),
overwrite = TRUE,
recursive = TRUE,
copy.mode = TRUE
)
# Rename ------
file.rename(
here::here(ext_name),
here::here(out_name)
)
message(paste(ext_nm, "v", ext_ver, "was installed to ", ext_name," folder in project directory."))
}