This github repository serves as a template for a short-form workshop, lesson, or course to be shared in the form of a pkgdown website with slides rendered by xaringan.

Instructions

  1. Click the green “Use this template” button from https://github.com/uf-repro/lesson-template.

  2. Modify README.Rmd with basic metadata for the package and lesson.

  • When knit, this will produce an updated README.md file and also update the package’s DESCRIPTION file.
  • Note: fields such as prerequisites, priorCourse, and learningOutcomes are read from the DESCRIPTION file for intro content in the slides.
  • Be sure to update the badges to point to the correct repo location!
  1. Update the slides at slides/slides.Rmd.
  • You may want to read up on the instructions for xaringan - the basic platform,
  • kunoichi - a theme with some fancier CSS styling, and
  • xaringanthemer - an extension with more font/color customizability.
  1. Update the list of resources at resources.md

  2. Push changes for the new repo.

  3. Modify the About box on the repo page to include the GitHub Pages URL as the Website.

== OPTIONAL ==

  1. Configure Zenodo for the new repo.

  2. Release a version on GitHub.

  3. Update the DOI badge.

Tech Stack

This repository is structured as an R package. For details on creating R packages, see the R Packages book.

The website is built using pkgdown, which depends on the repository being a functional R package. Basic configuration of the menu is done via the _pkgdown.yml file.

Deployment of the website is handled on GitHub and automated via GitHub Actions. The script /.github/workflows/pkgdown.yaml is a modified version from the r-lib/actions repository: * RMDconverter processes the slide content into a single continuous markdown file to show as a notes page. * A separate call is made to render the slides, so that the resulting HTML slides do NOT have the pkgdown formatting.

The static content for the site is then stored on the gh-pages branch, and viewable at the standard web location: {github account}.github.io/{repo name}.