This function orchestrates rendering generated lesson content and applying the theme for the HTML site.
Usage
build_lesson(
path = ".",
rebuild = FALSE,
quiet = !interactive(),
preview = TRUE,
override = list()
)
Arguments
- path
the path to your repository (defaults to your current working directory)
- rebuild
if
TRUE
, everything will be built from scratch as if there was no cache. Defaults toFALSE
, which will only build markdown files that haven't been built before.- quiet
when
TRUE
, output is supressed- preview
if
TRUE
, the rendered website is opened in a new window- override
options to override (e.g. building to alternative paths). This is used internally and will likely be changed.
Details
Structure of a Workbench Lesson
A Carpentries Workbench lesson is comprised of a set of markdown files and folders:
+-- config.yaml
+-- index.md
+-- episodes
| +-- data
| +-- fig
| +-- files
| \-- introduction.Rmd
+-- instructors
| \-- instructor-notes.md
+-- learners
| \-- setup.md
+-- profiles
| \-- learner-profiles.md
+-- links.md
+-- site
\-- [...]
+-- renv
| \-- [...]
+-- CODE_OF_CONDUCT.md
+-- CONTRIBUTING.md
+-- LICENSE.md
\-- README.md
See also
serve()
: an interactive way to build and edit lesson content.
Examples
tmp <- tempfile()
create_lesson(tmp, open = FALSE, rmd = FALSE)
#> → Creating Lesson in /tmp/Rtmpy58M2t/file18761d3b781e...
#> ℹ No schedule set, using Rmd files in episodes/ directory.
#> → Creating Lesson in /tmp/Rtmpy58M2t/file18761d3b781e...
#> → To remove this message, define your schedule in config.yaml or use `set_episodes()` to generate it.
#> → Creating Lesson in /tmp/Rtmpy58M2t/file18761d3b781e...
#> ────────────────────────────────────────────────────────────────────────
#> → Creating Lesson in /tmp/Rtmpy58M2t/file18761d3b781e...
#> ℹ To save this configuration, use
#>
#> set_episodes(path = path, order = ep, write = TRUE)
#> → Creating Lesson in /tmp/Rtmpy58M2t/file18761d3b781e...
#> • Edit '/tmp/Rtmpy58M2t/file18761d3b781e/episodes/introduction.md'
#> ✔ First episode created in /tmp/Rtmpy58M2t/file18761d3b781e/episodes/introduction.md
#> → Creating Lesson in /tmp/Rtmpy58M2t/file18761d3b781e...
#> ℹ Workflows up-to-date!
#> → Creating Lesson in /tmp/Rtmpy58M2t/file18761d3b781e...
#> ✔ Lesson successfully created in /tmp/Rtmpy58M2t/file18761d3b781e
#> → Creating Lesson in /tmp/Rtmpy58M2t/file18761d3b781e...
#> /tmp/Rtmpy58M2t/file18761d3b781e
create_episode("first-script", path = tmp, open = FALSE)
#> • Edit '/tmp/Rtmpy58M2t/file18761d3b781e/episodes/first-script.Rmd'
#> /tmp/Rtmpy58M2t/file18761d3b781e/episodes/first-script.Rmd
check_lesson(tmp)
build_lesson(tmp)
#> ── Initialising site ───────────────────────────────────────────────────
#> Copying
#> ../../../../home/runner/work/_temp/Library/pkgdown/BS3/assets/bootstrap-toc.css,
#> ../../../../home/runner/work/_temp/Library/pkgdown/BS3/assets/bootstrap-toc.js,
#> ../../../../home/runner/work/_temp/Library/pkgdown/BS3/assets/docsearch.css,
#> ../../../../home/runner/work/_temp/Library/pkgdown/BS3/assets/docsearch.js,
#> ../../../../home/runner/work/_temp/Library/pkgdown/BS3/assets/link.svg,
#> ../../../../home/runner/work/_temp/Library/pkgdown/BS3/assets/pkgdown.css,
#> and
#> ../../../../home/runner/work/_temp/Library/pkgdown/BS3/assets/pkgdown.js
#> to bootstrap-toc.css, bootstrap-toc.js, docsearch.css, docsearch.js,
#> link.svg, pkgdown.css, and pkgdown.js
#> Copying
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/android-chrome-192x192.png,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/android-chrome-512x512.png,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/apple-touch-icon.png,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/assets/fonts/Mulish-Bold.ttf,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/assets/fonts/Mulish-Bold.woff,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/assets/fonts/Mulish-ExtraBold.ttf,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/assets/fonts/mulish-v5-latin-regular.eot,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/assets/fonts/mulish-v5-latin-regular.svg,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/assets/fonts/mulish-v5-latin-regular.ttf,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/assets/fonts/mulish-v5-latin-regular.woff,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/assets/fonts/mulish-v5-latin-regular.woff2,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/assets/fonts/mulish-variablefont_wght.woff,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/assets/fonts/mulish-variablefont_wght.woff2,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/assets/images/carpentries-logo-sm.svg,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/assets/images/carpentries-logo.svg,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/assets/images/data-logo-sm.svg,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/assets/images/data-logo.svg,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/assets/images/dropdown-arrow.svg,
#> …,
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/safari-pinned-tab.svg,
#> and
#> ../../../../home/runner/work/_temp/Library/varnish/pkgdown/assets/site.webmanifest
#> to android-chrome-192x192.png, android-chrome-512x512.png,
#> apple-touch-icon.png, assets/fonts/Mulish-Bold.ttf,
#> assets/fonts/Mulish-Bold.woff, assets/fonts/Mulish-ExtraBold.ttf,
#> assets/fonts/mulish-v5-latin-regular.eot,
#> assets/fonts/mulish-v5-latin-regular.svg,
#> assets/fonts/mulish-v5-latin-regular.ttf,
#> assets/fonts/mulish-v5-latin-regular.woff,
#> assets/fonts/mulish-v5-latin-regular.woff2,
#> assets/fonts/mulish-variablefont_wght.woff,
#> assets/fonts/mulish-variablefont_wght.woff2,
#> assets/images/carpentries-logo-sm.svg,
#> assets/images/carpentries-logo.svg, assets/images/data-logo-sm.svg,
#> assets/images/data-logo.svg, assets/images/dropdown-arrow.svg, …,
#> safari-pinned-tab.svg, and site.webmanifest
#> ℹ Previewing site