Nothing
# copy part of our demo site to a tempdir
local_create_site <- function(files, env = parent.frame()) {
site_dir <- tempfile()
dir.create(site_dir, recursive = TRUE)
withr::defer(unlink(site_dir, recursive = TRUE), envir = env)
# by default copy all files
if (missing(files)) files <- c("_site.yml", "index.Rmd", "PageA.Rmd",
"PageB.rmd", "PageC.md", "PageD.R", "styles.css",
"script.R", "docs.txt")
file.copy(test_path("site", files), site_dir, recursive = TRUE)
site_dir
}
test_that("render_site works", {
# copy our demo site to a tempdir
site_dir <- local_create_site()
# render it
capture.output(render_site(site_dir))
# did the html files get rendered and the css get copied?
html_files <- c("index.html", "PageA.html", "PageB.html", "PageC.html",
"PageD.html")
html_files <- file.path(site_dir, "_site", html_files)
expect_true(all(file.exists(html_files)))
# moved directories
moved <- c("site_libs", "PageA_files")
expect_true(all(!file.exists(file.path(site_dir, moved))))
expect_true(all(file.exists(file.path(site_dir, "_site", moved))))
# respected includes
included <- "script.R"
expect_true(all(file.exists(file.path(site_dir, "_site", included))))
# respected excluded
excluded <- "docs.txt"
expect_true(all(!file.exists(file.path(site_dir, "_site", excluded))))
})
test_that("site_generator() correctly try to use custom site generator", {
# copy our demo site to a tempdir
site_dir <- local_create_site()
withr::local_dir(site_dir)
expect_equal(site_generator(), default_site("."))
xfun::gsub_file("index.Rmd", "(output: html_document)", "\\1\nsite: rmarkdown::dummy_site")
# It errors if not found
expect_error(site_generator(), regexp = "'dummy_site' is not an exported object from 'namespace:rmarkdown'", fixed = TRUE)
file.rename("index.Rmd", "index.rmd")
expect_error(site_generator(), regexp = "'dummy_site' is not an exported object from 'namespace:rmarkdown'", fixed = TRUE)
})
test_that("render_site respects 'new_session' in the config", {
skip_if_not_installed("xfun", "0.13")
# copy parts of our demo site to a tempdir
files <- c("_site.yml", "index.Rmd", "PageA.Rmd", "PageB.rmd", "PageD.R")
site_dir <- local_create_site(files)
# default behaviour --> new_session: false
render_site(site_dir, quiet = TRUE)
a <- readLines(file.path(site_dir, "_site", "PageA.html"))
b <- readLines(file.path(site_dir, "_site", "PageB.html"))
# pkg loaded in PageA (tinytex) should show up in search path of PageB
expect_match(a, "library(tinytex)", fixed = TRUE, all = FALSE)
expect_true(any(grepl("tinytex", b, fixed = TRUE)))
# edit config --> new_session: true
cat("new_session: true", file = file.path(site_dir, "_site.yml"), append = TRUE)
render_site(site_dir, quiet = TRUE)
a <- readLines(file.path(site_dir, "_site", "PageA.html"))
b <- readLines(file.path(site_dir, "_site", "PageB.html"))
# pkg loaded in PageA (tinytex) should NOT show up in search path of PageB
expect_match(a, "library(tinytex)", fixed = TRUE, all = FALSE)
expect_false(any(grepl("tinytex", b, fixed = TRUE)))
})
test_that("clean_site gives notices before removing", {
site_dir <- local_create_site()
render_site(site_dir, quiet = TRUE)
withr::local_dir(site_dir)
expect_output(clean_site(), "removed.*_site")
expect_true(dir.exists("_site"))
expect_silent(clean_site(preview = FALSE, quiet = TRUE))
expect_output(clean_site(preview = FALSE, quiet = FALSE), "Nothing")
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.