{webexercises}
package
The 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.