Create a project laid out for producing training materials

createTrainingProject(
  name,
  title = NULL,
  folder = getwd(),
  initial_status = "wip",
  dirs = c("data", "handouts", "slides"),
  handoutEngine = "rmarkdown",
  slideEngine = "rmarkdown",
  packagedeps = "renv",
  git = TRUE,
  external_setup = list(git_service = "GitHub", login = gh::gh_whoami()$login, private =
    FALSE, protocol = "ssh", ci_activation = "travis"),
  reset = TRUE,
  open = FALSE
)

create_training_project(
  name,
  title = NULL,
  folder = getwd(),
  initial_status = "wip",
  dirs = c("data", "handouts", "slides"),
  handoutEngine = "rmarkdown",
  slideEngine = "rmarkdown",
  packagedeps = "renv",
  git = TRUE,
  external_setup = list(git_service = "GitHub", login = gh::gh_whoami()$login, private =
    FALSE, protocol = "ssh", ci_activation = "travis"),
  reset = TRUE,
  open = FALSE
)

Arguments

name

Project

title

"What the Project Does (One Line, Title Case)" If NULL, a random one will be generated.

folder

Folder under which to create the project

initial_status

initial repostatus.org status for the project, whose badge will be added to the README.

dirs

Directories to create

handoutEngine

Package for building handouts

slideEngine

Package for building slides

packagedeps

Set a tool for package reproducibility

git

Configure Git

external_setup

How to do the partly interactive setup of online git, CI and coverage platforms. If NULL, no setup.

  • git_service Only "GitHub" is supported at the moment.

  • login username or organization name to use for the git service. If NULL, no GitHub repo is created.

  • private whether to make the created repo private

  • protocol "ssh" or "https", protocol to use for GitHub

  • ci_activation Only NULL, and "travis" are supported at the moment. "travis" means calling usethis::use_travis() and adding the Travis badge to the README.

reset

Whether to reset the project to current project

open

Whether to open the newly created project (in another RStudio session)

Functions

  • create_training_project: aesthetic addition for continuity purposes

Examples

if (FALSE) { folder <- tempdir() createTrainingProject( name = "doggos", title = "Learning how to count cute dogs", folder = folder, dirs = c("data", "handouts", "slides", "dogs"), packagedeps = "none", git = TRUE, external_setup = NULL, reset = TRUE, open = FALSE ) list.files(file.path(folder, "doggos")) unlink(file.path(folder, "doggos")) }