rdev now depends on R >= 4.0.0
use_analysis_package()
now records dependency on R native pipes (R >= 4.1.0)
vignette("rdev")
languageserver
package) by defaultuse_rdev_pkgdown()
package_downloads()
: A wrapper for cranlogs::cran_downloads()
that summarizes the number of package downloads from the RStudio CRAN mirroruse_rdev_package()
create_github_repo()
use_rdev_pkgdown()
or use_analysis_package(use_quarto = FALSE)
)R-CMD-check.yaml
GitHub Action (update: use_rdev_package()
)rdev now supports Quarto Documents (.qmd
) as analysis notebooks:
rmd_metadata()
will extract the YAML front matter and description from Quarto format (.qmd
) notebooks if _quarto.yml
is present
build_quarto_site()
now supports use of both Rmd
and/or qmd
notebooks in analysis
spell_check_notebooks()
and update_wordlist_notebooks()
now check both Rmd
and qmd
files in the analysis
directory
Updated README.Rmd
template to list all .Rmd
and .qmd
notebooks in analysis
Added reference Quarto Document analysis template to inst/templates/analysis.qmd
(RStudio currently doesn't support .qmd
files as document templates)
Updated vignettes
unfreeze
parameter to stage_release()
, which is passed on to build_quarto_site()
build_rdev_site()
and build_analysis_site()
to use pkgdown::build_site_github_pages()
instead of pkgdown::build_site()
, which disables Jekyll rendering and adds a CNAME
if neededuse_analysis_package()
)Added quarto themes (flatly, darkly) (update: use_analysis_package()
)
Updated analysis template
Add new rdev hex sticker logo from stickers to man/figures/logo.png
per roxygen2 and to README.Rmd
per pkgdown
Fixed bugs in quickstart
functions
lintr.yaml
GitHub Action to match lint_all()
(update: run use_rdev_package()
)lint_all()
and style_all()
now (properly) exclude R/RcppExports.R
Updated manual tests
Bug fixes
Adjusted Quarto margins in _quarto.yml
Added ?quickstart
rdev Quick Start guide to creating a new rdev or analysis package and updated related functions (create_github_repo()
, init()
, setup_analysis()
) and README
Added function setup_rdev()
: set up an rdev package for traditional package development
Added function open_files()
: open a standard set of files for editing in RStudio
setup_analysis()
and setup_rdev()
now call open_files()
if running in RStudio
use_analysis_package()
to store _freeze
directory in git per Quarto guideuse_rdev_pkgdown()
pandoc
is in PATH
on launch (update: use_rprofile()
)Added rendering fixes to use_analysis_package()
(update: re-run use_analysis_package()
and update notebooks from Analysis Notebook template)
Added function use_rdev_pkgdown()
: add pkgdown with rdev customizations
Added support for Visual Studio Code to setup-r
Quarto bug fixes
Added support for Quarto, including:
New function build_quarto_site()
: a wrapper for quarto::quarto_render()
that also updates README.md
and optionally deletes the Quarto _freeze
directory to fully re-render the site
New function unfreeze()
: delete the Quarto _freeze
directory to fully re-render the site when quarto::quarto_render()
is called
Updated stage_release()
to run build_quarto_site()
when using Quarto
Updated use_analysis_package()
to use Quarto for publishing by default
Added "quarto" package type to local_temppkg()
Additional changes:
Updated vignettes
Added "Introduction to rdev" getting started vignette
Added a pkgdown::check_pkgdown()
check to ci()
.lintr
for lintr
3.1.1 (update use_lintr()
)remotes
instead of devtools
check_renv()
and ci()
to use renv::status(dev = TRUE)
, added in renv
1.0.3R-CMD-check.yaml
(update use_rdev_package()
)setup-r
to use rig
for installing and managing R versionsReplaced check-standard.yaml
with R-CMD-check.yaml
(update use_rdev_package()
)
Updated .lintr
for lintr
3.1.0 (update use_lintr()
)
Updated spelling tests (update use_spelling()
)
use_rprofile()
)extra_deps()
no longer reports R as an extra packagemissing_deps()
now excludes base R packages by default
Added new checks to ci()
: missing_deps()
, desc::desc_normalize()
, extra_deps()
, url_check()
, and html_url_check()
; ci()
will stop if missing_deps()
returns one or more rows
Added missing-deps.yaml
GitHub Action
new_branch()
now stashes and restores changes, so that the Bump version
commit just changes the version number in DESCRIPTION
missing_deps()
and extra_deps()
now automatically remove the current package and renv
(in renv.lock
) from the list of renv::dependencies()
Update build_analysis_site()
and 'Analysis Notebook' R markdown template to use Bootstrap 5 using bslib
Update rdev pkgdown site to use Bootstrap 5
lint_all()
to also check .Rpres
filesAdd option to disable GitHub Pages in use_rdev_package()
with options(rdev.github.pages = FALSE)
Use proper GitHub Pages URL with trailing "/"
Replace development lintr with CRAN release 3.0.0
Add Style Guide vignette, describing rdev coding style, styler and lintr configuration
Added styler cache options to .Rprofile
template
Imported urlchecker::url_check()
, urlchecker::url_update()
, and added a new function, html_url_check()
, to check URLs in docs/
(replaces proof-docs
script)
Replaced scripts in tools/
for automating package setup with init()
: run after create_github_repo()
, and setup_analysis()
: run after init()
Moved setup-r
to inst/bin
Increased test coverage
tools/
to further automate package setupinst/templates/lintr
Added functions to check dependencies: missing_deps()
reports renv::dependencies()
not in DESCRIPTION, extra_deps()
reports desc::desc_get_deps()
not found by renv
Added renv
check to ci()
: if renv::status()
is not synchronized, ci()
will stop
use_analysis_package()
Updated .Rprofile
to load current package at start
Updated for R version 4.2.0 (2022-04-22) -- "Vigorous Calisthenics"
ci()
and stage_release()
to correctly use gert::git_status()
to determine if uncommitted changes exist (instead of gert::git_diff_patch()
)Fixed update_wordlist_notebooks()
: removed duplicate words
Update use_spelling()
to install test-spelling.R testthat template
Added update_wordlist_notebooks()
: Update package inst/WORDLIST
with words from spell_check_notebooks()
Updated spell_check_notebooks()
to use Language field in DESCRIPTION
by default
Added new options and features to support GitHub Enterprise.
Added settings, configured using options()
rdev.host
: set the default server for create_github_repo()
, stage_release()
, merge_release()
(to support GitHub Enterprise)
rdev.codecov
: to disable codecov.io support in use_codecov()
rdev.dependabot
: to disable support for Dependabot in create_github_repo()
rdev.license
and rdev.license.copyright
: specify licenses for create_github_repo()
, use_rdev_package()
rdev.github.actions
: to disable support for GitHub Actions in create_github_repo()
, use_codecov()
, use_rdev_package()
create_github_repo()
now supports creating repositories within organizations
Updated setup-r
script to include pkgdown
stage_release()
to run build_rdev_site()
only when _pkgdown.yml
existsci()
to run spell check testsuse_codecov()
to use sort_rbuildignore()
Implement workaround for closed usethis issue #1568
use_analysis_package()
now installs dplyr, used in the README.Rmd
template
Documentation updates
create_github_repo()
now adds branch protection to the default branchspell_check_notebooks()
: Perform a spell check on notebooks with spelling::spell_check_files()
.Fix R-CMD-check for Windows
check_renv()
now defaults to running update
when interactive
ci()
:style_all()
now runs automatically if there are no uncommitted changeslint_all()
now runs by default and opens RStudio markers pane if any lints are foundrdev is now stable enough for a 1.0.0 release!
rdev provides functions and templates for:
Release automation: Stage and create GitHub releases, including GitHub pages
Continuous Integration: Local continuous integration checks and dependency management
Package Setup: Package setup tasks, typically performed once
Changes since release 0.8.9:
Add use_spelling()
and use_codecov()
Added local_temppkg()
test helper function
Minor enhancements to use_rdev_package()
, use_analysis_package()
, build_analysis_site()
, README.Rmd templates
Updated documentation
Added manual test script for new package setup, increased test coverage
In ci()
:
styler
should be set to automatically run if there are no uncommitted changes
lintr
should stop execution and open RStudio markers if any lints are found
ci()
should run styler
and lintr
by default
use_rdev_package()
, proof-docs
proof-docs
script to tools, checks docs directory using htmlprooferMoved rmd_metadata()
from README-analysis.Rmd to rdev package
Increased test coverage, reorganized files
Added code coverage using codecov.io, new tests for existing code
Refactored sort_file()
to_document()
to_document()
to parse yaml front matter and confirm the source file is a valid R Notebookuse_rdev_package()
to better conform to rdev conventions (README.Rmd, .git/hooks/pre-commit), support committing and error-free ci()
immediately after it is runbuild_rdev_site()
and build_analysis_site()
to abort if there are missing topics in the pkgdown reference sectionnew_branch()
: Create a new feature branch, and (optionally) bump the version in DESCRIPTIONMajor update adding automation for GitHub releases.
Added functions to automate workflow for staging and creating releases on GitHub:
stage_release()
: Open a GitHub pull request for a new release from NEWS.md
get_release()
: Extract release version and release notes from NEWS.md. Called by stage_release()
and merge_release()
.
merge_release()
: Merge a staged pull request and create a new GitHub release
Updated build_analysis_site()
to run devtools::build_readme()
to regenerate the dynamic list of notebooks (in case new notebooks were added)
Important update from renv 0.15.0 to 0.15.1
use_analysis_package()
: add dynamic notebook list to README.Rmd
templateMajor update adding automation for creating rdev and R analysis packages.
Added functions to automate steps when creating new packages following rdev and optionally analysis package conventions:
create_github_repo()
: Create new GitHub repository following rdev conventions in the active user's account and create a basic package
use_rdev_package()
: Add rdev templates and settings within the active package. Normally invoked when first setting up a package.
Install templates using usethis::use_template()
: use_rprofile()
, use_lintr()
, use_todo()
, use_package_r()
Add functionality to use_analysis_package()
: also install the analysis package README.Rmd
template
Changed both use_analysis_package()
and build_analysis_site()
to write _pkgdown.yml
to the project root and to store in GitHub to make projects discoverable by pkgdown.
Updated setup-r
to install rdev and dependencies in site_library
Added build_rdev_site()
, a wrapper for pkgdown::build_site()
optimized for rdev workflow that updates README.md
and performs a clean build using pkgdown
Added 'Analysis Notebook' R markdown template for RStudio (File > New File > Rmarkdown > From Template)
Migrated ggplot2 themes/styles (theme_quo()
, viridis_quo()
) to new package, jabenninghoff/jbplot
use_analysis_package()
: Create _base.yml
in pkgdown
from the first URL
in the package DESCRIPTION
file.use_analysis_package()
use_analysis_package()
: Add the Analysis Package Layout to the current packagetheme_quo()
to disable both panel.grid.major
and panel.grid.minor
for x
and y
Disable lintr
by default in ci()
, since the normal workflow is style_all()
, lint_all()
, then ci()
Documentation fixes
theme_quo()
: set base theme to ggplot2::theme_minimal()
and add parameters for disabling grid linesAdded theme_quo()
: ggplot2 theme based on ggplot2::theme_bw()
and font Lato
Added viridis_quo()
: Sets the default theme to theme_quo()
and the default color scales to viridis
maintenance
build_analysis_site()
to work with pkgdown
version 2Add devtools::document()
option to ci()
, turned on by default
Add R Analysis Package layout definition, migrated from rtraining
Update ci()
to use style_all()
and lint_all()
for consistency
Add import
directory to build_analysis_site()
minor updates, improved tests, maintenance
build_analysis_site()
, new function migrated from rtraining: a wrapper for pkgdown::build_site()
that adds an 'Analysis' menu containing rendered versions of all .Rmd
files in analysis/
. It is still considered Experimental, due to lack of test coverage and some features that are not implemented, but should work for projects with limited pkgdown customization. The update also includes a function to convert notebooks to html_document
, to_document()
.ci()
: updated to match my preferred GitHub workflow: use_github_action_check_standard()
with --as-cran
removed
documentation updates for all functions (style, links)
Initial GitHub release
./tools/setup-r
: shell script to install development packages to site repository on macOS + Homebrew
check_renv()
: convenience function that runs renv
status()
, clean()
, and optionally update()
(on by default).
style_all()
: style all .R
and .Rmd
files in a project using styler
lint_all()
: lint all .R
and .Rmd
files in a project using lintr
sort_file()
: sort a file using R sort()
, similar to the unix sort
command
sort_rbuildignore()
: sort the .Rbuildignore
file using sort_file()
, because unsorted is annoying
ci()
: run continuous integration tests locally: lint, R CMD check, and style (off by default).
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.