Skip to contents

These functions allow you to create an episode that will be added to the schedule.

Usage

create_episode(title, ext = "Rmd", make_prefix = FALSE, add = TRUE, path = ".")

create_episode_md(title, make_prefix = FALSE, add = TRUE, path = ".")

create_episode_rmd(title, make_prefix = FALSE, add = TRUE, path = ".")

draft_episode_md(title, make_prefix = FALSE, path = ".")

draft_episode_rmd(title, make_prefix = FALSE, path = ".")

Arguments

title

the title of the episode

ext

a character. If ext = "Rmd" (default), then the new episode will be an R Markdown episode. If ext = "md", then the new episode will be a markdown episode, which can not generate dynamic content.

make_prefix

a logical. When TRUE, the prefix for the file will be automatically determined by the files already present. When FALSE (default), it assumes no prefix is needed.

add

(logical or numeric) If numeric, it represents the position the episode should be added. If TRUE, the episode is added to the end of the schedule. If FALSE, the episode is added as a draft episode.

path

the path to the sandpaper lesson.

Examples

tmp <- tempfile()
create_lesson(tmp)
#> → Creating Lesson in /tmp/RtmpP9eYUD/file193246a3a0f4...
#>  No schedule set, using Rmd files in episodes/ directory.
#> → Creating Lesson in /tmp/RtmpP9eYUD/file193246a3a0f4...

#> To remove this message, define your schedule in config.yaml or use `set_episodes()` to generate it.
#> → Creating Lesson in /tmp/RtmpP9eYUD/file193246a3a0f4...

#> ────────────────────────────────────────────────────────────────────────
#> → Creating Lesson in /tmp/RtmpP9eYUD/file193246a3a0f4...

#>  To save this configuration, use
#> 
#> set_episodes(path = path, order = ep, write = TRUE)
#> → Creating Lesson in /tmp/RtmpP9eYUD/file193246a3a0f4...

#>  First episode created in /tmp/RtmpP9eYUD/file193246a3a0f4/episodes/introduction.Rmd
#> → Creating Lesson in /tmp/RtmpP9eYUD/file193246a3a0f4...

#>  Workflows up-to-date!
#> → Creating Lesson in /tmp/RtmpP9eYUD/file193246a3a0f4...

#>  Consent to use package cache provided
#> → Creating Lesson in /tmp/RtmpP9eYUD/file193246a3a0f4...

#> - The project is out-of-sync -- use `renv::status()` for details.
#> → Searching for and installing available dependencies
#> The following packages were discovered:
#> 
#> # ~/work/_temp/Library -------------------------------------------------------
#> - R6            2.5.1
#> - base64enc     0.1-3
#> - bslib         0.7.0
#> - cachem        1.1.0
#> - cli           3.6.3
#> - digest        0.6.36
#> - evaluate      0.24.0
#> - fastmap       1.2.0
#> - fontawesome   0.5.2
#> - fs            1.6.4
#> - glue          1.7.0
#> - highr         0.11
#> - htmltools     0.5.8.1
#> - jquerylib     0.1.4
#> - jsonlite      1.8.8
#> - knitr         1.48
#> - lifecycle     1.0.4
#> - memoise       2.0.1
#> - mime          0.12
#> - rappdirs      0.3.3
#> - rlang         1.1.4
#> - rmarkdown     2.27
#> - sass          0.4.9
#> - tinytex       0.52
#> - xfun          0.46
#> - yaml          2.3.10
#> 
#> They will be copied into the project library.
#> 
#> - Copying packages into the project library ... Done!
#> - Hydrated 26 packages in 0.21 seconds.
#> - Resolving missing dependencies ... 
#> # Installing packages --------------------------------------------------------
#> - The project is out-of-sync -- use `renv::status()` for details.
#> → Recording changes in lockfile
#> The following package(s) will be updated in the lockfile:
#> 
#> # GitHub ---------------------------------------------------------------------
#> - renv          [* -> rstudio/renv]
#> 
#> # https://packagemanager.posit.co/cran/__linux__/jammy/latest ----------------
#> - R6            [* -> 2.5.1]
#> - base64enc     [* -> 0.1-3]
#> - bslib         [* -> 0.7.0]
#> - cachem        [* -> 1.1.0]
#> - cli           [* -> 3.6.3]
#> - digest        [* -> 0.6.36]
#> - evaluate      [* -> 0.24.0]
#> - fastmap       [* -> 1.2.0]
#> - fontawesome   [* -> 0.5.2]
#> - fs            [* -> 1.6.4]
#> - glue          [* -> 1.7.0]
#> - highr         [* -> 0.11]
#> - htmltools     [* -> 0.5.8.1]
#> - jquerylib     [* -> 0.1.4]
#> - jsonlite      [* -> 1.8.8]
#> - knitr         [* -> 1.48]
#> - lifecycle     [* -> 1.0.4]
#> - memoise       [* -> 2.0.1]
#> - mime          [* -> 0.12]
#> - rappdirs      [* -> 0.3.3]
#> - rlang         [* -> 1.1.4]
#> - rmarkdown     [* -> 2.27]
#> - sass          [* -> 0.4.9]
#> - tinytex       [* -> 0.52]
#> - xfun          [* -> 0.46]
#> - yaml          [* -> 2.3.10]
#> 
#> The version of R recorded in the lockfile will be updated:
#> - R             [* -> 4.4.1]
#> 
#> - Lockfile written to "/tmp/RtmpP9eYUD/file193246a3a0f4/renv/profiles/lesson-requirements/renv.lock".
#>  Lesson successfully created in /tmp/RtmpP9eYUD/file193246a3a0f4
#> → Creating Lesson in /tmp/RtmpP9eYUD/file193246a3a0f4...

#> /tmp/RtmpP9eYUD/file193246a3a0f4
create_episode_md("getting-started", path = tmp)