diff --git a/NEWS.md b/NEWS.md index 20060abad..8f0c75a9d 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,7 @@ # usethis (development version) +* `use_article()` now creates the file in the `vignettes/articles/` (#548). + * `use_lifecycle()` has been updated for changes in our lifecycle workflow (#1323). diff --git a/R/vignette.R b/R/vignette.R index f381f1c99..3a5b5a21d 100644 --- a/R/vignette.R +++ b/R/vignette.R @@ -38,21 +38,29 @@ use_vignette <- function(name, title = name) { use_article <- function(name, title = name) { check_is_package("use_article()") - use_vignette_template("article.Rmd", name, title) + use_vignette_template("article.Rmd", name, title, subdir = "articles") use_build_ignore("vignettes/articles") invisible() } -use_vignette_template <- function(template, name, title) { +use_vignette_template <- function(template, name, title, subdir = NULL) { stopifnot(is_string(name)) stopifnot(is_string(title)) use_directory("vignettes") + if (!is.null(subdir)) { + use_directory(path("vignettes", subdir)) + } use_git_ignore(c("*.html", "*.R"), directory = "vignettes") use_dependency("rmarkdown", "Suggests") - path <- path("vignettes", asciify(name), ext = "Rmd") + if (!is.null(subdir)) { + path <- path("vignettes", subdir, asciify(name), ext = "Rmd") + } else { + path <- path("vignettes", asciify(name), ext = "Rmd") + } + data <- list( Package = project_name(), diff --git a/tests/testthat/test-vignette.R b/tests/testthat/test-vignette.R index 719bff828..6ad515efd 100644 --- a/tests/testthat/test-vignette.R +++ b/tests/testthat/test-vignette.R @@ -37,3 +37,10 @@ test_that("use_vignette() does the promised setup", { c(VignetteBuilder = "knitr") ) }) + +test_that("use_article goes in article subdirectory", { + create_local_package() + + use_article("test") + expect_proj_file("vignettes/articles/test.Rmd") +})