knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "man/figures/README-", out.width = "100%" )
{webexercises}
packageThe goal of {webexercises}
is to enable instructors to easily create interactive web pages that students can use in self-guided learning. Although {webexercises}
has fewer features than RStudio's learnr package, it is more lightweight: whereas {learnr}
tutorials must be either hosted on a shiny server or run locally, {webexercises}
creates standalone HTML files that require only a JavaScript-enabled browser. It is also extremely simple to use.
You can install {webexercises}
from CRAN using:
install.packages("webexercises")
You can install the development version from GitHub with:
devtools::install_github("psyteachr/webexercises")
The webexercises package provides functions that create HTML widgets using inline R code. These functions are:
| function | widget | description |
|:------------------------|:---------------|:-------------------------------|
| fitb()
| text box | fill-in-the-blank question |
| mcq()
| pull-down menu | multiple choice question |
| torf()
| pull-down menu | TRUE or FALSE question |
| longmcq()
| radio buttons | MCQs with long answers |
| hide()
and unhide()
| button | solution revealed when clicked |
| total_correct()
| text | updating total correct |
The appearance of the text box and pull-down menu widgets changes when users enter the correct answer. Answers can be either static or dynamic (i.e., specified using R code). Widget styles can be changed using style_widgets()
.
Examples are provided in the Web Exercises R Markdown template. To create a file from the webexercises template in RStudio, click File -> New File... -> RMarkdown
and in the dialog box that appears, select From Template
and choose Web Exercises
.
Alternatively (or if you're not using RStudio) use:
rmarkdown::draft("exercises.Rmd", "webexercises", "webexercises")
Knit the file to HTML to see how it works. Note: The widgets only function in a JavaScript-enabled browser.
You can add webexercises to a bookdown project or start a new bookdown project using add_webex_to_bookdown()
.
# create a new book # use default includes and scripts directories (include and R) add_webexercises_to_bookdown(bookdown_dir = "demo_bs4", output_format = "bs4_book", render = TRUE) add_webexercises_to_bookdown(bookdown_dir = "demo_git", output_format = "gitbook", render = TRUE) add_webexercises_to_bookdown(bookdown_dir = "demo_html", output_format = "html_book", render = TRUE) add_webexercises_to_bookdown(bookdown_dir = "demo_tufte", output_format = "tufte_html_book", render = TRUE) # update an existing book with custom include and script directories add_webexercises_to_bookdown(bookdown_dir = ".", include_dir = "www", script_dir = "scripts", output_format = "gitbook")
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.