This package features a toolset for creating and updating website content for courses taught in R, especially in a managed environment running RStudio and/or Shiny servers.
Install from github:
devtools::install_github("whitwort/courseR")
Start a new project in the current working directory (by default, some example content will be created):
courseR::init()
Build a website and package with:
courseR::build()
See courseR.yml
for configuration options and files in templates/
to customize the generated website and R package.
You can preview the website by opening files in the dist/
subdirectory. Then, after setting things up in courseR.yml
publish your website and course application with:
courseR::publish()
There are currently a few components, all of which are configurable from the courseR.yml
file created after calling courseR::init
:
- Website generation. Source R Markdown files are built into "hand-out" style web pages and reveal.js slides. Use
courseR::newContent()
to get a fresh course content R Markdown file. - Course package. By default
courseR
creates a course-specific R package; this is useful when students are interacting with R on a managed server, especially if you're also running RStudio Server. The course package exports some convenience functions likecourseR::website
, but also helps implement a course assignment workflow. The course package is built when you callcourseR::build
and published to a global R path defined incourseR.yml
withcourseR::publish
. - Assignments. Assignment documents, templated with
courseR::newAssignment
are built to reference solutions by instructors in the course and scaffolded into assignment R Markdowns files for students. The assignments component depends on the course package and provides automatic code checking facilities (via checkr) and a Shiny grading app. - Projects. Provides some infrastructure for helping students in the class to deploy Shiny apps to a Shiny Server instance. This component is disable by default; see
courseR.yml
for instructions about how to enable it.
- 0.5 Re-implementation and overhaul of grading application; now integrates with checkr while maintaining original pedagogical goal of showing students an answer key as their target.
- 0.4 Yup, it happened again. The new
rmarkdown::render_site
supercedes most of what this package used to do. Also added v2.0 of the course package implementation. - 0.3 Rewritten to leaverage new features in RMarkdown v2.0
- 0.2 Rewritten to use whisker for templating and make heavier use of new Knitr features
- 0.1 Initital experiment in developing a workflow to produce both handout-style webpages and HTML slides from a common set of markdown sources.
- rmarkdown and in-turn pandoc for most of the heavy-lifting behind website creation
- Twitter bootstrap for layout and styles
- Shiny for interactive assignment apps
Copyright © 2013-2017 Gregg Whitworth and licensed under GPLv3.