{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_to_bookdown()
.
# create a new book
# use default includes and scripts directories (include and R)
add_to_bookdown(bookdown_dir = "demo_bs4",
output_format = "bs4_book",
render = TRUE)
add_to_bookdown(bookdown_dir = "demo_git",
output_format = "gitbook",
render = TRUE)
add_to_bookdown(bookdown_dir = "demo_html",
output_format = "html_book",
render = TRUE)
add_to_bookdown(bookdown_dir = "demo_tufte",
output_format = "tufte_html_book",
render = TRUE)
# update an existing book with custom include and script directories
add_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.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.