Create separate repository workflowrBeta for early adopters to continue using beta version of workflowr for existing projects. New users are encouraged to the latest workflowr release.
wflow_publish()
now views the website by default if run interactively (view = interactive()
) just like wflow_build()
Pin the dependency git2r to version 0.21.0 or lower because of the forthcoming breaking changes in the git2r API. This is not a great solution because install.packages()
always installs the latest version, which will cause an error in the installation. If you are having trouble with this, first install git2r with devtools::install_version("git2r", "0.21.0")
and then retry installing workflowr. If your machine is running macOS or Windows, you may need to run install_version("git2r", "0.21.0", type = "binary")
.
Fix minor bug that affected the error message produced for a failed push or pull using the SSH protocol
When wflow_git_push()
or wflow_git_pull()
fails for an unknown reason, the exact error message from git2r::push()
or git2r::pull()
is reported to faciliate troubleshooting
Multiple other internal changes to make workflowr more robust
Fix bug that caused wflow_status()
(and thus wflow_publish()
) to ignore R Markdown files with the all lowercase file extension .rmd
(reported by @LSun and @pcarbo). This was recently introduced in commit a8ce711, so it only affected versions 0.10.0 and 0.10.1.
Fix bug that prevented deleted files from being committed with wflow_commit()
or wflow_publish()
(reported by @pcarbo)
wflow_view()
(or wflow_build()
) now opens the website in the RStudio Viewer if run from within RStudiowflow_build()
automatically removes unused figure fileswflow_build()
argumentstempdir()
instead of to /tmp/workflowr
. This prevents failures due to permission issues when mutliple workflowr users try to use the same machine (e.g. a compute node on a HPC cluster) (#86)wflow_build()
to build the R Markdown files in an external R process, it now runs render_site()
in the global environment of the external R process. This better mimics the results of the RStudio “Knit” button.wflow_git_config()
sets the Git options user.name
and user.email
wflow_git_push()
pushes changes from the local computer to GitHubwflow_git_pull()
pulls the changes from GitHub to the local computerwflow_build()
automatically opens the website after building files, thus it’s not necessary to always run wflow_view()
manually afterwards. If one file is built, then that file is opened. If more than one file is built, then the index page is opened. (#41)wflow_build()
adds objects to the global environment when building files locally in the R console (i.e. local = TRUE
) (#53)wflow_remove()
removes R Markdown files and all their associated files (e.g. HTML and figures)git rm
)wflow_remove()
also works on non-Rmd fileswflow_update()
and wflow_convert()
fail gracefully if the diff
utility is not available and inform the user to install Rtools
This minor release fixes a bug in how filepaths are resolved so that workflowr can run on Windows.
This release changes the interface of some of the main workflowr functions. The functions wflow_publish()
and wflow_status()
are introduced, and the previous functions wflow_build()
and wflow_commit()
are re-designed.
New function wflow_status()
reports which analysis files require user attention (inspired by git status
)
Defines R Markdown files whose HTML has been committed as part of the Git repo as “Published”, R Markdown files which have been committed to the Git repo but not their HTML as “Unpublished”, and R Markdown files that are untracked by Git as “Scratch”. Furthermore, previously published files that have been subsequently edited are classified as “Modified”. See the man page ?wflow_status
for more details.
This new function replaces the previous functionality of wflow_commit()
. The basic interface is much simpler.
wflow_publish("analysis/file.Rmd")
will 1) commit analysis/file.Rmd
, 2) build analysis/file.Rmd
in its own separate R session with set.seed(12345)
, and 3) commit docs/file.html
and any generated figures. These 3 steps are referred to as “publishing a file”.
wflow_publish(all = TRUE)
will publish all tracked analysis files, analogous to git commit -a
.
To change the theme or make some other change to the entire site, run wflow_publish("analysis/_site.yml", republish = TRUE)
, which will 1) commit the configuration file analysis/_site.yml
, 2) re-build all the previously published analysis files using the new configuration options, and 3) commit the re-built HTML files.
By default, wflow_build()
runs in “Make”-mode, only building R Markdown files that have been updated more recently than their corresponding HTML files. If instead files are specfically stated, those files will be built.
By default, R Markdown files are now built each in their own separate R session (similar in function to the “Knit HTML” button in RStudio). This prevents undesirable behavior like sharing variables and loaded packages across separate files. Set local = TRUE
to build the files in the local R console (useful for debugging, but otherwise discouraged).
By default, the seed for random number generation is set to the arbitrary number 12345
(using set.seed()
). This ensures that any code that produces random numbers will be reproducible.
wflow_commit()
has been demoted to only being a wrapper for the equivalent functionality of git add
and git commit
. This can be useful for committing non-analysis files or R Markdown files that you aren’t ready to publish yet. However, you should use wflow_publish()
for the standard workflow.
Set all = TRUE
to run the equivalent of git commit -a
.
wflow_update()
to better explain its functionality. It will attempt to convert all R Markdown files present to use the latest version of the workflowr R Markdown template; however, it will only commit R Markdown files that are tracked by Git.All workflowr functions should now accept the file extesion .rmd
in addition to .Rmd
(Issue #10)
Replaced the shared argument path
with project
to clarify that this argument specifies the path to a directory in the workflowr project
wflow_start()
now includes docs/.nojekyll
Change dependency to R >= 3.2.5 (Issue #32)
Change stringr dependency (>= 1.1.0)
Started a vignette with Frequently Asked Questions
Added sections to README (Quick start, Upgrading, Related work, and Citation)
wflow_start()
API has been simplified. Now the first (and only required) argument is the directory to be created. By default, the name of the project will be determined from the directory name. For example, wflow_start("~/projects/proj-x")
will create a workflowr project with the name “proj-x”. To specify a different name, provide the argument name
change_wd = TRUE
changes the working directory to the newly created project.existing = FALSE
is a safety feature so that by default workflowr projects are only created in new directorieswflow_start()
no longer adds “BuildType: Website” to RStudio project file. Users should run wflow_build()
instead. wflow_update()
removes the build specification for existing workflowr projectswflow_convert()
to convert an R Markdown file based on the previous template to use the latest versionstandalone = TRUE
for wflow_open()
)path = NULL
wflow_update()
function updates workflowr projects to use the latest version of the templatewflow_convert()
converts an existing R Markdown file to use the workflowr template (can also update a file that uses a previous version of the template)wflow_view()
opens the website in the browserwflow_remotes()
manages remote Git repositories on GitHub. It can add a remote, remove a remote, or update the URL for an existing remoteSecond alpha release. Major API overhaul.
Improved naming of functions: start_project
-> wflow_start
, open_rmd
-> wflow_open
, build_site
-> wflow_build
, commit_site
-> wflow_commit
, create_results
-> create_links_page
wflow_commit
can optionally add and commit provided files (argument is commit_files
) before re-building website and commiting HTML files
wflow_open
accepts multiple filenames
Both wflow_build
and wflow_commit
have the argument all
to optionally build all the HTML files