diff --git a/NAMESPACE b/NAMESPACE index 0a1e4ae87..2a5970178 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -95,6 +95,7 @@ export(use_build_ignore) export(use_c) export(use_cc0_license) export(use_ccby_license) +export(use_cff) export(use_circleci) export(use_circleci_badge) export(use_citation) diff --git a/R/cff.R b/R/cff.R new file mode 100644 index 000000000..ff5d58aaa --- /dev/null +++ b/R/cff.R @@ -0,0 +1,22 @@ +#' Create Citation File Format +#' +#' `use_cff()` ... +#' +#' @seealso The Turing way [tutorial on CFF](https://book.the-turing-way.org/communication/citable/citable-cffinit.html). +#' @export +#' @examples +#' \dontrun{ +#' use_cff() +#' } +use_cff <- function() { + check_is_package() # CM: Other functions start with this, but not sure if I need it + use_template( + "CITATION-template.cff", + "CITATION.cff", + open = TRUE + ) + + ui_bullets(c( + "_" = "Edit `CITATION.cff` (see {.url https://book.the-turing-way.org/communication/citable/citable-cffinit.html} and {.url https://citation-file-format.github.io/cff-initializer-javascript/#/})." + )) +} diff --git a/_pkgdown.yml b/_pkgdown.yml index df4d8a5e7..0a3a253b0 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -61,6 +61,7 @@ reference: - use_test_helper - use_vignette - use_addin + - use_cff - use_citation - use_tutorial - use_author diff --git a/inst/templates/CITATION-template.cff b/inst/templates/CITATION-template.cff new file mode 100644 index 000000000..b32b2fa35 --- /dev/null +++ b/inst/templates/CITATION-template.cff @@ -0,0 +1,17 @@ +# YAML 1.2 +--- +cff-version: "1.2.0" +title: "" +authors: + - + family-names: + given-names: + orcid: "https://orcid.org/0000-0000-0000-0000" +date-released: 20??-MM-DD +doi: +version: "" +repository-code: "" +keywords: + - keyword1 +message: "If you use this software, please cite it using these metadata." +license: diff --git a/man/use_cff.Rd b/man/use_cff.Rd new file mode 100644 index 000000000..77abe0c36 --- /dev/null +++ b/man/use_cff.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/cff.R +\name{use_cff} +\alias{use_cff} +\title{Create Citation File Format} +\usage{ +use_cff() +} +\description{ +\code{use_cff()} ... +} +\examples{ +\dontrun{ +use_cff() +} +} +\seealso{ +The \href{https://r-pkgs.org/data.html}{data chapter} of \href{https://r-pkgs.org}{R Packages}. +} diff --git a/tests/testthat/test-cff.R b/tests/testthat/test-cff.R new file mode 100644 index 000000000..78ad62247 --- /dev/null +++ b/tests/testthat/test-cff.R @@ -0,0 +1,5 @@ +test_that("use_cff() creates promised file", { + create_local_package() + use_cff() + expect_proj_file("CITATION.cff") +})