library(targets)
test_that("targets works with apa6", {
scoped_temporary_project()
# browser()
unlink("R", recursive = TRUE)
worcs::worcs_project(path = ".",
manuscript = "github_document",
preregistration = "None",
add_license = "None",
use_renv = FALSE,
use_targets = TRUE,
use_git = FALSE
)
lnz <- readLines("_targets.R")
lnz[grep("tarchetypes::", lnz, fixed = TRUE)] <- gsub(")", ", cue = tar_cue(mode = 'always'))", lnz[grep("tarchetypes::", lnz, fixed = TRUE)], fixed = TRUE)
writeLines(lnz, "_targets.R")
# It seems like it's necessary to first render individual output chunks,
# then render the manuscript,
# and THEN it's possible to render the manuscript using tar_make()
tryCatch(targets::tar_make(), error = function(e){}, warning = function(w){})
# expect_true(file.exists("manuscript/manuscript.html"))
tryCatch(rmarkdown::render("manuscript/manuscript.Rmd"), error = function(e){}, warning = function(w){})
expect_true(file.exists("manuscript/manuscript.html"))
if(file.exists("manuscript/manuscript.html")){
file.remove("manuscript/manuscript.html")
}
cat(readLines("_targets.R"))
print(list.files("./manuscript"))
tryCatch(targets::tar_make(), error = function(e){}, warning = function(w){})
expect_true(file.exists("manuscript/manuscript.html"))
})
# test_that("targets works with renv", {
# scoped_temporary_project()
# worcs::worcs_project(path = ".",
# manuscript = "github_document",
# preregistration = "None",
# add_license = "None",
# use_renv = TRUE,
# use_targets = TRUE,
# use_git = FALSE
# )
# tryCatch(targets::tar_make(), error = function(e){}, warning = function(w){})
#
# expect_true(file.exists("manuscript/manuscript.html"))
#
# })
#
test_that("targets works with target markdown", {
scoped_temporary_project()
unlink("R", recursive = TRUE)
worcs::worcs_project(path = ".",
manuscript = "target_markdown",
preregistration = "None",
add_license = "None",
use_renv = FALSE,
use_git = FALSE
)
# file.remove(file.path(test_dir, "_targets.rmd"))
if(file.exists("_targets.r")){
file.remove("_targets.r")
}
linz <- c("---", " title: \"Target Markdown\"", " output: html_document",
"---", "", "```{r setup, include = FALSE}", "knitr::opts_chunk$set(collapse = TRUE, comment = \"#>\")",
"```", "", "# Setup", "", "bla", "", "```{r}", "library(targets)",
"tar_unscript()", "```", "", "# Targets", "", "bla", "", "```{targets raw-data}",
"tar_target(raw_data, airquality)", "```", "", "blbaal", "",
"```{targets downstream-targets}", "list(", " tar_target(data, {raw_data[complete.cases(airquality), ]}),",
" tar_target(hist, hist(data$Ozone))", ")", "```", "", "try this now",
"", "```{targets fit, tar_simple = TRUE}", "lm(Ozone ~ Wind + Temp, data)",
"```", "", "# Pipeline", "", "run everything", "", "```{r}",
"tar_make()", "```", "", "# Output", "", "get results", "", "```{r, message = FALSE}",
"tar_read(fit)", "```", "", "```{r}", "tar_read(hist)", "```",
"", "", "interactive")
cat(linz, file = "_targets.Rmd", append = FALSE, sep = "\n")
tryCatch(rmarkdown::render("_targets.Rmd"), error = function(e){}, warning = function(w){})
expect_true(file.exists("_targets.html"))
if(file.exists("_targets.html")){
file.remove("_targets.html")
}
tryCatch(worcs::reproduce(check_endpoints = FALSE), error = function(e){}, warning = function(w){})
expect_true(file.exists("_targets.html"))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.