From 2fa422a5412b59a2d3fa36712a4376c953526369 Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Thu, 23 Oct 2025 22:17:44 -0700 Subject: [PATCH 01/18] Bumped roxygen, added pkgdown workflow --- .github/workflows/pkgdown.yaml | 56 ++++++++++++++++++++++++ DESCRIPTION | 2 +- _pkgdown.yml | 80 ++++++++++++++++++++++++++++++++++ 3 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/pkgdown.yaml create mode 100644 _pkgdown.yml diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml new file mode 100644 index 0000000..02b5fde --- /dev/null +++ b/.github/workflows/pkgdown.yaml @@ -0,0 +1,56 @@ +# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples +# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help +on: + pull_request: + # build dev site on merged pushes + push: + branches: [main, master] + # build full site on releases + release: + types: [published] + workflow_dispatch: + +name: pkgdown.yaml + +jobs: + pkgdown: + runs-on: ubuntu-latest + # Only restrict concurrency for non-PR jobs + concurrency: + group: pkgdown-${{ github.event_name != 'pull_request' || github.run_id }} + cancel-in-progress: true + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + permissions: + contents: write + steps: + - uses: actions/checkout@v4 + + - uses: r-lib/actions/setup-pandoc@v2 + + - uses: r-lib/actions/setup-r@v2 + with: + use-public-rspm: true + + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::pkgdown, local::., any::withr, stan-dev/pkgdown-config + + - name: Build site + run: | + withr::with_envvar( + c("NOT_CRAN" = "true"), # this should already be set by setup-r@v2? keeping because vignettes don't build otherwise + pkgdown::build_site_github_pages( + lazy = FALSE, # change to TRUE if runner times out. + run_dont_run = TRUE, + new_process = TRUE + ) + ) + shell: Rscript {0} + + - name: Deploy to GitHub pages 🚀 + uses: JamesIves/github-pages-deploy-action@v4 + with: + clean: false + branch: gh-pages + folder: docs diff --git a/DESCRIPTION b/DESCRIPTION index 8a3220a..cf9a34c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -53,6 +53,6 @@ Suggests: roxygen2 (>= 6.0.1), rmarkdown, rstudioapi -RoxygenNote: 7.3.2 +RoxygenNote: 7.3.3 VignetteBuilder: knitr Roxygen: list(markdown = TRUE) diff --git a/_pkgdown.yml b/_pkgdown.yml new file mode 100644 index 0000000..b2157fa --- /dev/null +++ b/_pkgdown.yml @@ -0,0 +1,80 @@ +url: https://mc-stan.org/rstantools + +destination: "." + +template: + package: pkgdownconfig + +navbar: + title: "rstantools" + + structure: + left: [home, vignettes, functions, news, pkgs, stan] + right: [search, bluesky, forum, github, lightswitch] + + components: + pkgs: + text: Other Packages + menu: + - text: bayesplot + href: https://mc-stan.org/bayesplot + - text: cmdstanr + href: https://mc-stan.org/cmdstanr + - text: loo + href: https://mc-stan.org/loo + - text: posterior + href: https://mc-stan.org/posterior + - text: projpred + href: https://mc-stan.org/projpred + - text: rstan + href: https://mc-stan.org/rstan + - text: rstanarm + href: https://mc-stan.org/rstanarm + - text: shinystan + href: https://mc-stan.org/shinystan + +articles: + - title: "Recommendations for R package development with Stan" + desc: > + This vignette provides many recommendations for developers interested in + creating an R package that interface with Stan. Topics include + development best practices, precompiling Stan programs, R code and + documentation, and more. + contents: + - developer-guidelines + - title: "Step-by-step guide" + desc: > + This vignette walks through the steps required to set up a package with + a precompiled Stan model, from creating the initial package structure to + adding the precompiled Stan program and writing the R function that users + will call to fit the model. + contents: + - minimal-rstan-package + +reference: + - title: "Package structure" + desc: > + Creating the basic structure of a Stan-based R package or add + Stan programs to an existing package. + contents: + - rstantools-package + - rstan_create_package + - use_rstan + - rstan_config + - rstantools_load_code + - title: "Generics" + desc: > + S3 generics (and some default methods) for adding functionality + to your package using the same naming conventions as **rstanarm** + and other Stan-based R packages. + contents: + - bayes_R2 + - log_lik + - loo-prediction + - posterior_interval + - posterior_epred + - posterior_linpred + - posterior_predict + - predictive_error + - predictive_interval + - prior_summary \ No newline at end of file From 5cb9b8fb09b5f1b0af1bfa483925cc8bf53afe17 Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Thu, 23 Oct 2025 22:18:42 -0700 Subject: [PATCH 02/18] Don't run on PRs --- .github/workflows/pkgdown.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml index 02b5fde..37084ab 100644 --- a/.github/workflows/pkgdown.yaml +++ b/.github/workflows/pkgdown.yaml @@ -1,7 +1,6 @@ # Workflow derived from https://github.com/r-lib/actions/tree/v2/examples # Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help on: - pull_request: # build dev site on merged pushes push: branches: [main, master] From 179786f3849d58eeac1386d2b63cd16c1c81757d Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Thu, 23 Oct 2025 22:30:10 -0700 Subject: [PATCH 03/18] Added newline to end of config file --- _pkgdown.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_pkgdown.yml b/_pkgdown.yml index b2157fa..ff6aec1 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -77,4 +77,4 @@ reference: - posterior_predict - predictive_error - predictive_interval - - prior_summary \ No newline at end of file + - prior_summary From 83e3823dd40e9ac28e14178bcdaaf88b967cb00c Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Thu, 23 Oct 2025 22:47:24 -0700 Subject: [PATCH 04/18] Swapped to devtools::document() in vignette --- vignettes/minimal-rstan-package.Rmd | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/vignettes/minimal-rstan-package.Rmd b/vignettes/minimal-rstan-package.Rmd index 050b451..0cc133f 100644 --- a/vignettes/minimal-rstan-package.Rmd +++ b/vignettes/minimal-rstan-package.Rmd @@ -235,16 +235,11 @@ information about the package. With __roxygen__ documentation enabled, we need to generate the documentation for `lm_stan` and update the `NAMESPACE` so the function is exported, i.e., -available to users when the package is installed. This can be done with the -function `roxygen2::roxygenize()`, which needs to be called twice initially. +available to users when the package is installed. This can be done with the +function `devtools::document()`. -```{r, eval = FALSE} -try(roxygen2::roxygenize(load_code = rstantools_load_code), silent = TRUE) -roxygen2::roxygenize() -``` -```{r, echo=FALSE, results="hide"} -try(roxygen2::roxygenize(PATH, load_code = rstantools_load_code), silent = TRUE) -roxygen2::roxygenize(PATH) +```{r} +devtools::document(PATH) ``` ## Install and use From 779d5d85c982d40fd5ddcddcb9d7065974c18e08 Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Thu, 23 Oct 2025 22:53:24 -0700 Subject: [PATCH 05/18] Adde devtools to suggests for vignette --- DESCRIPTION | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index cf9a34c..698ba47 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -52,7 +52,8 @@ Suggests: pkgload, roxygen2 (>= 6.0.1), rmarkdown, - rstudioapi + rstudioapi, + devtools RoxygenNote: 7.3.3 VignetteBuilder: knitr Roxygen: list(markdown = TRUE) From d5893ec2223ed79e01f2ca09c6fb4c4d6011b953 Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Thu, 23 Oct 2025 23:08:56 -0700 Subject: [PATCH 06/18] LIbrary dev package before calling function --- vignettes/minimal-rstan-package.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/minimal-rstan-package.Rmd b/vignettes/minimal-rstan-package.Rmd index 0cc133f..98e6836 100644 --- a/vignettes/minimal-rstan-package.Rmd +++ b/vignettes/minimal-rstan-package.Rmd @@ -262,7 +262,7 @@ documentation, you can set `quick=TRUE` to speed up the process, or use After installation, the package can be loaded and used like any other R package: -```{r, eval=FALSE} +```{r} library("rstanlm") ``` From db347ea524c52f3311b510aa11d0cf351045e753 Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Thu, 23 Oct 2025 23:19:04 -0700 Subject: [PATCH 07/18] Fixed title of vignette in pkgdown config --- _pkgdown.yml | 2 +- vignettes/minimal-rstan-package.Rmd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_pkgdown.yml b/_pkgdown.yml index ff6aec1..8f9162b 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -42,7 +42,7 @@ articles: documentation, and more. contents: - developer-guidelines - - title: "Step-by-step guide" + - title: "Step by step guide for creating a package that depends on RStan" desc: > This vignette walks through the steps required to set up a package with a precompiled Stan model, from creating the initial package structure to diff --git a/vignettes/minimal-rstan-package.Rmd b/vignettes/minimal-rstan-package.Rmd index 98e6836..0cc133f 100644 --- a/vignettes/minimal-rstan-package.Rmd +++ b/vignettes/minimal-rstan-package.Rmd @@ -262,7 +262,7 @@ documentation, you can set `quick=TRUE` to speed up the process, or use After installation, the package can be loaded and used like any other R package: -```{r} +```{r, eval=FALSE} library("rstanlm") ``` From 73f299437ef3cb25511c10bb24bdeab02c29d526 Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Thu, 23 Oct 2025 23:33:32 -0700 Subject: [PATCH 08/18] Fix vignette index entry --- _pkgdown.yml | 2 +- vignettes/minimal-rstan-package.Rmd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_pkgdown.yml b/_pkgdown.yml index 8f9162b..ff6aec1 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -42,7 +42,7 @@ articles: documentation, and more. contents: - developer-guidelines - - title: "Step by step guide for creating a package that depends on RStan" + - title: "Step-by-step guide" desc: > This vignette walks through the steps required to set up a package with a precompiled Stan model, from creating the initial package structure to diff --git a/vignettes/minimal-rstan-package.Rmd b/vignettes/minimal-rstan-package.Rmd index 0cc133f..01617d7 100644 --- a/vignettes/minimal-rstan-package.Rmd +++ b/vignettes/minimal-rstan-package.Rmd @@ -8,7 +8,7 @@ output: params: EVAL: !r identical(Sys.getenv("NOT_CRAN"), "true") vignette: > - %\VignetteIndexEntry{Step by step guide} + %\VignetteIndexEntry{Step by step guide for creating a package that depends on RStan} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- From ce9e87df7056b27136772d46808d1074592c50aa Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Mon, 1 Dec 2025 11:41:13 -0800 Subject: [PATCH 09/18] Don't use devtools::document() --- DESCRIPTION | 3 +-- vignettes/minimal-rstan-package.Rmd | 10 ++++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 698ba47..cf9a34c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -52,8 +52,7 @@ Suggests: pkgload, roxygen2 (>= 6.0.1), rmarkdown, - rstudioapi, - devtools + rstudioapi RoxygenNote: 7.3.3 VignetteBuilder: knitr Roxygen: list(markdown = TRUE) diff --git a/vignettes/minimal-rstan-package.Rmd b/vignettes/minimal-rstan-package.Rmd index 01617d7..d31e5a4 100644 --- a/vignettes/minimal-rstan-package.Rmd +++ b/vignettes/minimal-rstan-package.Rmd @@ -238,8 +238,14 @@ for `lm_stan` and update the `NAMESPACE` so the function is exported, i.e., available to users when the package is installed. This can be done with the function `devtools::document()`. -```{r} -devtools::document(PATH) +```{r, eval = FALSE} +try(roxygen2::roxygenize(load_code = rstantools_load_code), silent = TRUE) +roxygen2::roxygenize() +``` + +```{r, echo=FALSE, results="hide"} +try(roxygen2::roxygenize(PATH, load_code = rstantools_load_code), silent = TRUE) +roxygen2::roxygenize(PATH) ``` ## Install and use From af6d21332924a5c914afbe5afc9c27b2cfeacc9b Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Mon, 1 Dec 2025 11:57:35 -0800 Subject: [PATCH 10/18] Removed automatic website builds --- .github/workflows/pkgdown.yaml | 55 ---------------------------------- 1 file changed, 55 deletions(-) delete mode 100644 .github/workflows/pkgdown.yaml diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml deleted file mode 100644 index 37084ab..0000000 --- a/.github/workflows/pkgdown.yaml +++ /dev/null @@ -1,55 +0,0 @@ -# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples -# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help -on: - # build dev site on merged pushes - push: - branches: [main, master] - # build full site on releases - release: - types: [published] - workflow_dispatch: - -name: pkgdown.yaml - -jobs: - pkgdown: - runs-on: ubuntu-latest - # Only restrict concurrency for non-PR jobs - concurrency: - group: pkgdown-${{ github.event_name != 'pull_request' || github.run_id }} - cancel-in-progress: true - env: - GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} - permissions: - contents: write - steps: - - uses: actions/checkout@v4 - - - uses: r-lib/actions/setup-pandoc@v2 - - - uses: r-lib/actions/setup-r@v2 - with: - use-public-rspm: true - - - uses: r-lib/actions/setup-r-dependencies@v2 - with: - extra-packages: any::pkgdown, local::., any::withr, stan-dev/pkgdown-config - - - name: Build site - run: | - withr::with_envvar( - c("NOT_CRAN" = "true"), # this should already be set by setup-r@v2? keeping because vignettes don't build otherwise - pkgdown::build_site_github_pages( - lazy = FALSE, # change to TRUE if runner times out. - run_dont_run = TRUE, - new_process = TRUE - ) - ) - shell: Rscript {0} - - - name: Deploy to GitHub pages 🚀 - uses: JamesIves/github-pages-deploy-action@v4 - with: - clean: false - branch: gh-pages - folder: docs From d0a0a67f89746d0e1b2084fe0064839f1bdb400c Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Mon, 1 Dec 2025 13:37:48 -0800 Subject: [PATCH 11/18] Revert "Removed automatic website builds" This reverts commit af6d21332924a5c914afbe5afc9c27b2cfeacc9b. --- .github/workflows/pkgdown.yaml | 55 ++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/workflows/pkgdown.yaml diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml new file mode 100644 index 0000000..37084ab --- /dev/null +++ b/.github/workflows/pkgdown.yaml @@ -0,0 +1,55 @@ +# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples +# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help +on: + # build dev site on merged pushes + push: + branches: [main, master] + # build full site on releases + release: + types: [published] + workflow_dispatch: + +name: pkgdown.yaml + +jobs: + pkgdown: + runs-on: ubuntu-latest + # Only restrict concurrency for non-PR jobs + concurrency: + group: pkgdown-${{ github.event_name != 'pull_request' || github.run_id }} + cancel-in-progress: true + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + permissions: + contents: write + steps: + - uses: actions/checkout@v4 + + - uses: r-lib/actions/setup-pandoc@v2 + + - uses: r-lib/actions/setup-r@v2 + with: + use-public-rspm: true + + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::pkgdown, local::., any::withr, stan-dev/pkgdown-config + + - name: Build site + run: | + withr::with_envvar( + c("NOT_CRAN" = "true"), # this should already be set by setup-r@v2? keeping because vignettes don't build otherwise + pkgdown::build_site_github_pages( + lazy = FALSE, # change to TRUE if runner times out. + run_dont_run = TRUE, + new_process = TRUE + ) + ) + shell: Rscript {0} + + - name: Deploy to GitHub pages 🚀 + uses: JamesIves/github-pages-deploy-action@v4 + with: + clean: false + branch: gh-pages + folder: docs From 1ee0fa3d32f7c79f2a5f9d34e637260aebdd589e Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Wed, 3 Dec 2025 10:30:55 -0800 Subject: [PATCH 12/18] Trying to remove red logo --- R/rstan_create_package.R | 114 +++++++++++++++++++++++++----------- R/rstantools-package.R | 5 +- README.md | 2 +- _pkgdown.yml | 3 + man/figures/logo.svg | 96 ------------------------------ man/figures/stanlogo.png | Bin 16172 -> 0 bytes man/rstan_create_package.Rd | 2 +- man/rstantools-package.Rd | 4 +- 8 files changed, 90 insertions(+), 136 deletions(-) delete mode 100644 man/figures/logo.svg delete mode 100644 man/figures/stanlogo.png diff --git a/R/rstan_create_package.R b/R/rstan_create_package.R index f3a9236..a2c0b3f 100644 --- a/R/rstan_create_package.R +++ b/R/rstan_create_package.R @@ -21,7 +21,7 @@ #' @aliases rstan_package_skeleton #' #' @description -#' \if{html}{\figure{stanlogo.png}{options: width="25" alt="https://mc-stan.org/about/logo/"}} +#' \if{html}{\figure{logo.svg.png}{options: width="25" alt="https://mc-stan.org/about/logo/"}} #' The `rstan_create_package()` function helps get you started developing a #' new \R package that interfaces with Stan via the \pkg{rstan} package. First #' the basic package structure is set up via [usethis::create_package()]. @@ -118,26 +118,32 @@ #' @template seealso-vignettes #' @template seealso-get-help #' -rstan_create_package <- function(path, - fields = NULL, - rstudio = TRUE, - open = TRUE, - stan_files = character(), - roxygen = TRUE, - travis = FALSE, - license = TRUE, - auto_config = TRUE) { +rstan_create_package <- function( + path, + fields = NULL, + rstudio = TRUE, + open = TRUE, + stan_files = character(), + roxygen = TRUE, + travis = FALSE, + license = TRUE, + auto_config = TRUE +) { if (!requireNamespace("usethis", quietly = TRUE)) { - stop("Please install package 'usethis' to use function 'rstan_create_package'.", - call. = FALSE) + stop( + "Please install package 'usethis' to use function 'rstan_create_package'.", + call. = FALSE + ) } DIR <- dirname(path) name <- basename(path) .check_stan_ext(stan_files) if (rstudio && !requireNamespace("rstudioapi", quietly = TRUE)) { - stop("Please install package 'rstudioapi' to use option 'rstudio = TRUE'.", - call. = FALSE) + stop( + "Please install package 'rstudioapi' to use option 'rstudio = TRUE'.", + call. = FALSE + ) rstudio <- rstudio && rstudioapi::isAvailable() } if (open && rstudio) { @@ -169,28 +175,48 @@ rstan_create_package <- function(path, # check stan extensions .check_stan_ext <- function(stan_files) { if (length(stan_files) && !all(grepl("\\.stan$", stan_files))) { - stop("All files named in 'stan_files' must end ", - "with a '.stan' extension.", call. = FALSE) + stop( + "All files named in 'stan_files' must end ", + "with a '.stan' extension.", + call. = FALSE + ) } } # add travis file .add_travis <- function(pkgdir) { travis_file <- readLines(.system_file("travis.yml")) - .add_stanfile(gsub("RSTAN_PACKAGE_NAME", basename(pkgdir), travis_file), - pkgdir, ".travis.yml", - noedit = FALSE, msg = TRUE, warn = FALSE) + .add_stanfile( + gsub("RSTAN_PACKAGE_NAME", basename(pkgdir), travis_file), + pkgdir, + ".travis.yml", + noedit = FALSE, + msg = TRUE, + warn = FALSE + ) } # add .gitignore and .Rbuildignore files .add_gitignore_Rbuildignore <- function(pkgdir, travis) { gitignore_files <- c("^rcppExports.cpp$", "^stanExports_*") - .add_stanfile(gitignore_files, pkgdir, ".gitignore", - noedit = FALSE, msg = TRUE, warn = FALSE) + .add_stanfile( + gitignore_files, + pkgdir, + ".gitignore", + noedit = FALSE, + msg = TRUE, + warn = FALSE + ) Rbuildignore_files <- c(gitignore_files, if (travis) "^\\.travis\\.yml$") - .add_stanfile(Rbuildignore_files, pkgdir, ".Rbuildignore", - noedit = FALSE, msg = TRUE, warn = FALSE) + .add_stanfile( + Rbuildignore_files, + pkgdir, + ".Rbuildignore", + noedit = FALSE, + msg = TRUE, + warn = FALSE + ) } # add R/mypkg-package.R file with roxygen import comments @@ -199,9 +225,15 @@ rstan_create_package <- function(path, pkg_file <- readLines(.system_file("rstanpkg-package.R")) pkg_file <- gsub("RSTAN_PACKAGE_NAME", basename(pkgdir), pkg_file) pkg_file <- gsub("RSTAN_REFERENCE", .rstan_reference(), pkg_file) - .add_stanfile(pkg_file, pkgdir, - "R", paste0(basename(pkgdir), "-package.R"), - noedit = FALSE, msg = TRUE, warn = FALSE) + .add_stanfile( + pkg_file, + pkgdir, + "R", + paste0(basename(pkgdir), "-package.R"), + noedit = FALSE, + msg = TRUE, + warn = FALSE + ) desc_pkg <- desc::description$new(file.path(pkgdir, "DESCRIPTION")) desc_pkg$set(Encoding = "UTF-8") desc_pkg$write() @@ -210,25 +242,40 @@ rstan_create_package <- function(path, # reference to rstan package .rstan_reference <- function() { has_version <- utils::packageDescription("rstan", fields = "Version") - version_year <- substr(utils::packageDescription("rstan", fields = "Date"), 1, 4) + version_year <- substr( + utils::packageDescription("rstan", fields = "Date"), + 1, + 4 + ) paste0( - "Stan Development Team (", version_year,"). ", + "Stan Development Team (", + version_year, + "). ", "RStan: the R interface to Stan. ", - "R package version ", has_version, ". ", + "R package version ", + has_version, + ". ", "https://mc-stan.org" ) } # add stan functionality to package -.rstan_make_pkg <- function(pkgdir, stan_files, - roxygen, travis, license, auto_config) { - +.rstan_make_pkg <- function( + pkgdir, + stan_files, + roxygen, + travis, + license, + auto_config +) { use_rstan(pkgdir, license = license, auto_config = auto_config) file.copy( from = stan_files, to = file.path(pkgdir, "inst", "stan", basename(stan_files)) ) - if (roxygen) .add_roxygen(pkgdir) + if (roxygen) { + .add_roxygen(pkgdir) + } if (travis) { .add_travis(pkgdir) warning( @@ -301,7 +348,6 @@ rstan_create_package <- function(path, ## error: ## - when {dir/file}.create fails even though it doesn't exist - ## ok stan_meta_header.hpp is problematic, because want to warn if already exists, but only if it's there from before... ## so .add_stanfile(file_lines, pkgdir, ..., diff --git a/R/rstantools-package.R b/R/rstantools-package.R index c347516..f292345 100644 --- a/R/rstantools-package.R +++ b/R/rstantools-package.R @@ -5,7 +5,7 @@ #' #' @description #' \if{html}{ -#' \figure{stanlogo.png}{options: width="50" alt="mc-stan.org"} +#' \figure{logo.svg.png}{options: width="50" alt="mc-stan.org"} #' } *Stan Development Team* #' #' The \pkg{rstantools} package provides various tools for developers of \R @@ -26,7 +26,8 @@ # internal ---------------------------------------------------------------- # release reminders (for devtools) -release_questions <- function() { # nocov start +release_questions <- function() { + # nocov start c( "Have you updated the developer guidelines in the vignette?" ) diff --git a/README.md b/README.md index ef5e8aa..98360e7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# rstantools +# rstantools [![CRAN_Status_Badge](https://www.r-pkg.org/badges/version/rstantools?color=blue)](https://cran.r-project.org/web/packages/rstantools) diff --git a/_pkgdown.yml b/_pkgdown.yml index ff6aec1..2c57c4d 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -5,6 +5,9 @@ destination: "." template: package: pkgdownconfig +development: + mode: auto + navbar: title: "rstantools" diff --git a/man/figures/logo.svg b/man/figures/logo.svg deleted file mode 100644 index b4c09fc..0000000 --- a/man/figures/logo.svg +++ /dev/null @@ -1,96 +0,0 @@ - - - - diff --git a/man/figures/stanlogo.png b/man/figures/stanlogo.png deleted file mode 100644 index 4a4f06aa9e11cc8772bfbc428651c85adac16f38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16172 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 3)} license (see whenever the package gets installed (see \strong{Details}). Defaults to \code{TRUE}.} } \description{ -\if{html}{\figure{stanlogo.png}{options: width="25" alt="https://mc-stan.org/about/logo/"}} +\if{html}{\figure{logo.svg.png}{options: width="25" alt="https://mc-stan.org/about/logo/"}} The \code{rstan_create_package()} function helps get you started developing a new \R package that interfaces with Stan via the \pkg{rstan} package. First the basic package structure is set up via \code{\link[usethis:create_package]{usethis::create_package()}}. diff --git a/man/rstantools-package.Rd b/man/rstantools-package.Rd index 7b6a5b2..3a730e6 100644 --- a/man/rstantools-package.Rd +++ b/man/rstantools-package.Rd @@ -7,7 +7,7 @@ \title{Tools for Developing \R Packages Interfacing with Stan} \description{ \if{html}{ - \figure{stanlogo.png}{options: width="50" alt="mc-stan.org"} + \figure{logo.svg.png}{options: width="50" alt="mc-stan.org"} } \emph{Stan Development Team} The \pkg{rstantools} package provides various tools for developers of \R @@ -40,7 +40,7 @@ Useful links: } \author{ -\strong{Maintainer}: Jonah Gabry \email{jsg2201@columbia.edu} +\strong{Maintainer}: Jonah Gabry \email{jgabry@gmail.com} Authors: \itemize{ From aebf423af2f54354ec167949ef2906d0a639bfc5 Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Wed, 3 Dec 2025 10:40:27 -0800 Subject: [PATCH 13/18] Added blue logo to man\figures [no ci] --- man/figures/logo.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 man/figures/logo.svg diff --git a/man/figures/logo.svg b/man/figures/logo.svg new file mode 100644 index 0000000..496f040 --- /dev/null +++ b/man/figures/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file From f2b34b5c7b6b33ca6d90e56e837285a279e9ecc8 Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Wed, 3 Dec 2025 10:45:21 -0800 Subject: [PATCH 14/18] Fixed file extension issue [ci skip] --- R/rstan_create_package.R | 2 +- R/rstantools-package.R | 2 +- README.md | 2 +- man/rstan_create_package.Rd | 2 +- man/rstantools-package.Rd | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/R/rstan_create_package.R b/R/rstan_create_package.R index a2c0b3f..3d1087a 100644 --- a/R/rstan_create_package.R +++ b/R/rstan_create_package.R @@ -21,7 +21,7 @@ #' @aliases rstan_package_skeleton #' #' @description -#' \if{html}{\figure{logo.svg.png}{options: width="25" alt="https://mc-stan.org/about/logo/"}} +#' \if{html}{\figure{logo.svg}{options: width="25" alt="https://mc-stan.org/about/logo/"}} #' The `rstan_create_package()` function helps get you started developing a #' new \R package that interfaces with Stan via the \pkg{rstan} package. First #' the basic package structure is set up via [usethis::create_package()]. diff --git a/R/rstantools-package.R b/R/rstantools-package.R index f292345..92fdea3 100644 --- a/R/rstantools-package.R +++ b/R/rstantools-package.R @@ -5,7 +5,7 @@ #' #' @description #' \if{html}{ -#' \figure{logo.svg.png}{options: width="50" alt="mc-stan.org"} +#' \figure{logo.svg}{options: width="50" alt="mc-stan.org"} #' } *Stan Development Team* #' #' The \pkg{rstantools} package provides various tools for developers of \R diff --git a/README.md b/README.md index 98360e7..e5a2fe5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# rstantools +# rstantools [![CRAN_Status_Badge](https://www.r-pkg.org/badges/version/rstantools?color=blue)](https://cran.r-project.org/web/packages/rstantools) diff --git a/man/rstan_create_package.Rd b/man/rstan_create_package.Rd index 7475cfb..d7bfeb6 100644 --- a/man/rstan_create_package.Rd +++ b/man/rstan_create_package.Rd @@ -48,7 +48,7 @@ file. If \code{TRUE} (the default) adds the \verb{GPL (>= 3)} license (see whenever the package gets installed (see \strong{Details}). Defaults to \code{TRUE}.} } \description{ -\if{html}{\figure{logo.svg.png}{options: width="25" alt="https://mc-stan.org/about/logo/"}} +\if{html}{\figure{logo.svg}{options: width="25" alt="https://mc-stan.org/about/logo/"}} The \code{rstan_create_package()} function helps get you started developing a new \R package that interfaces with Stan via the \pkg{rstan} package. First the basic package structure is set up via \code{\link[usethis:create_package]{usethis::create_package()}}. diff --git a/man/rstantools-package.Rd b/man/rstantools-package.Rd index 3a730e6..327d82d 100644 --- a/man/rstantools-package.Rd +++ b/man/rstantools-package.Rd @@ -7,7 +7,7 @@ \title{Tools for Developing \R Packages Interfacing with Stan} \description{ \if{html}{ - \figure{logo.svg.png}{options: width="50" alt="mc-stan.org"} + \figure{logo.svg}{options: width="50" alt="mc-stan.org"} } \emph{Stan Development Team} The \pkg{rstantools} package provides various tools for developers of \R From 220eb19e225434d8146810b173f45e107ddd547b Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Wed, 3 Dec 2025 13:38:21 -0800 Subject: [PATCH 15/18] Reverted code formatting changes --- R/rstan_create_package.R | 112 ++++++++++++--------------------------- R/rstantools-package.R | 3 +- 2 files changed, 34 insertions(+), 81 deletions(-) diff --git a/R/rstan_create_package.R b/R/rstan_create_package.R index 3d1087a..caa15c1 100644 --- a/R/rstan_create_package.R +++ b/R/rstan_create_package.R @@ -118,32 +118,26 @@ #' @template seealso-vignettes #' @template seealso-get-help #' -rstan_create_package <- function( - path, - fields = NULL, - rstudio = TRUE, - open = TRUE, - stan_files = character(), - roxygen = TRUE, - travis = FALSE, - license = TRUE, - auto_config = TRUE -) { +rstan_create_package <- function(path, + fields = NULL, + rstudio = TRUE, + open = TRUE, + stan_files = character(), + roxygen = TRUE, + travis = FALSE, + license = TRUE, + auto_config = TRUE) { if (!requireNamespace("usethis", quietly = TRUE)) { - stop( - "Please install package 'usethis' to use function 'rstan_create_package'.", - call. = FALSE - ) + stop("Please install package 'usethis' to use function 'rstan_create_package'.", + call. = FALSE) } DIR <- dirname(path) name <- basename(path) .check_stan_ext(stan_files) if (rstudio && !requireNamespace("rstudioapi", quietly = TRUE)) { - stop( - "Please install package 'rstudioapi' to use option 'rstudio = TRUE'.", - call. = FALSE - ) + stop("Please install package 'rstudioapi' to use option 'rstudio = TRUE'.", + call. = FALSE) rstudio <- rstudio && rstudioapi::isAvailable() } if (open && rstudio) { @@ -175,48 +169,28 @@ rstan_create_package <- function( # check stan extensions .check_stan_ext <- function(stan_files) { if (length(stan_files) && !all(grepl("\\.stan$", stan_files))) { - stop( - "All files named in 'stan_files' must end ", - "with a '.stan' extension.", - call. = FALSE - ) + stop("All files named in 'stan_files' must end ", + "with a '.stan' extension.", call. = FALSE) } } # add travis file .add_travis <- function(pkgdir) { travis_file <- readLines(.system_file("travis.yml")) - .add_stanfile( - gsub("RSTAN_PACKAGE_NAME", basename(pkgdir), travis_file), - pkgdir, - ".travis.yml", - noedit = FALSE, - msg = TRUE, - warn = FALSE - ) + .add_stanfile(gsub("RSTAN_PACKAGE_NAME", basename(pkgdir), travis_file), + pkgdir, ".travis.yml", + noedit = FALSE, msg = TRUE, warn = FALSE) } # add .gitignore and .Rbuildignore files .add_gitignore_Rbuildignore <- function(pkgdir, travis) { gitignore_files <- c("^rcppExports.cpp$", "^stanExports_*") - .add_stanfile( - gitignore_files, - pkgdir, - ".gitignore", - noedit = FALSE, - msg = TRUE, - warn = FALSE - ) + .add_stanfile(gitignore_files, pkgdir, ".gitignore", + noedit = FALSE, msg = TRUE, warn = FALSE) Rbuildignore_files <- c(gitignore_files, if (travis) "^\\.travis\\.yml$") - .add_stanfile( - Rbuildignore_files, - pkgdir, - ".Rbuildignore", - noedit = FALSE, - msg = TRUE, - warn = FALSE - ) + .add_stanfile(Rbuildignore_files, pkgdir, ".Rbuildignore", + noedit = FALSE, msg = TRUE, warn = FALSE) } # add R/mypkg-package.R file with roxygen import comments @@ -225,15 +199,9 @@ rstan_create_package <- function( pkg_file <- readLines(.system_file("rstanpkg-package.R")) pkg_file <- gsub("RSTAN_PACKAGE_NAME", basename(pkgdir), pkg_file) pkg_file <- gsub("RSTAN_REFERENCE", .rstan_reference(), pkg_file) - .add_stanfile( - pkg_file, - pkgdir, - "R", - paste0(basename(pkgdir), "-package.R"), - noedit = FALSE, - msg = TRUE, - warn = FALSE - ) + .add_stanfile(pkg_file, pkgdir, + "R", paste0(basename(pkgdir), "-package.R"), + noedit = FALSE, msg = TRUE, warn = FALSE) desc_pkg <- desc::description$new(file.path(pkgdir, "DESCRIPTION")) desc_pkg$set(Encoding = "UTF-8") desc_pkg$write() @@ -242,40 +210,25 @@ rstan_create_package <- function( # reference to rstan package .rstan_reference <- function() { has_version <- utils::packageDescription("rstan", fields = "Version") - version_year <- substr( - utils::packageDescription("rstan", fields = "Date"), - 1, - 4 - ) + version_year <- substr(utils::packageDescription("rstan", fields = "Date"), 1, 4) paste0( - "Stan Development Team (", - version_year, - "). ", + "Stan Development Team (", version_year,"). ", "RStan: the R interface to Stan. ", - "R package version ", - has_version, - ". ", + "R package version ", has_version, ". ", "https://mc-stan.org" ) } # add stan functionality to package -.rstan_make_pkg <- function( - pkgdir, - stan_files, - roxygen, - travis, - license, - auto_config -) { +.rstan_make_pkg <- function(pkgdir, stan_files, + roxygen, travis, license, auto_config) { + use_rstan(pkgdir, license = license, auto_config = auto_config) file.copy( from = stan_files, to = file.path(pkgdir, "inst", "stan", basename(stan_files)) ) - if (roxygen) { - .add_roxygen(pkgdir) - } + if (roxygen) .add_roxygen(pkgdir) if (travis) { .add_travis(pkgdir) warning( @@ -348,6 +301,7 @@ rstan_create_package <- function( ## error: ## - when {dir/file}.create fails even though it doesn't exist + ## ok stan_meta_header.hpp is problematic, because want to warn if already exists, but only if it's there from before... ## so .add_stanfile(file_lines, pkgdir, ..., diff --git a/R/rstantools-package.R b/R/rstantools-package.R index 92fdea3..130e549 100644 --- a/R/rstantools-package.R +++ b/R/rstantools-package.R @@ -26,8 +26,7 @@ # internal ---------------------------------------------------------------- # release reminders (for devtools) -release_questions <- function() { - # nocov start +release_questions <- function() { # nocov start c( "Have you updated the developer guidelines in the vignette?" ) From badc83bede4391ac9c534076e67a2cc70def45b3 Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Thu, 4 Dec 2025 14:52:45 -0800 Subject: [PATCH 16/18] Don't use devtools::document() --- vignettes/minimal-rstan-package.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/minimal-rstan-package.Rmd b/vignettes/minimal-rstan-package.Rmd index d31e5a4..e0fa99e 100644 --- a/vignettes/minimal-rstan-package.Rmd +++ b/vignettes/minimal-rstan-package.Rmd @@ -236,7 +236,7 @@ information about the package. With __roxygen__ documentation enabled, we need to generate the documentation for `lm_stan` and update the `NAMESPACE` so the function is exported, i.e., available to users when the package is installed. This can be done with the -function `devtools::document()`. +function `roxygen2::roxygenize()`, which needs to be called twice initially. ```{r, eval = FALSE} try(roxygen2::roxygenize(load_code = rstantools_load_code), silent = TRUE) From a83679b01a850e929a195bbc038f52b45263dbd6 Mon Sep 17 00:00:00 2001 From: Visruth <67435125+VisruthSK@users.noreply.github.com> Date: Thu, 4 Dec 2025 17:34:53 -0800 Subject: [PATCH 17/18] Clean gh-pages branch on builds --- .github/workflows/pkgdown.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml index 37084ab..95c41cf 100644 --- a/.github/workflows/pkgdown.yaml +++ b/.github/workflows/pkgdown.yaml @@ -50,6 +50,6 @@ jobs: - name: Deploy to GitHub pages 🚀 uses: JamesIves/github-pages-deploy-action@v4 with: - clean: false + clean: true branch: gh-pages folder: docs From 9b37feca95104cb3e5645255483ea252f14ebf3c Mon Sep 17 00:00:00 2001 From: VisruthSK <67435125+VisruthSK@users.noreply.github.com> Date: Fri, 5 Dec 2025 15:53:55 -0800 Subject: [PATCH 18/18] Revert "Clean gh-pages branch on builds" This reverts commit a83679b01a850e929a195bbc038f52b45263dbd6. --- .github/workflows/pkgdown.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml index 95c41cf..37084ab 100644 --- a/.github/workflows/pkgdown.yaml +++ b/.github/workflows/pkgdown.yaml @@ -50,6 +50,6 @@ jobs: - name: Deploy to GitHub pages 🚀 uses: JamesIves/github-pages-deploy-action@v4 with: - clean: true + clean: false branch: gh-pages folder: docs