--- source: Rmd title: "Using RMarkdown" teaching: 10 exercises: 2 questions: - "How to write a lesson using RMarkdown?" objectives: - "Explain how to use RMarkdown with the new lesson template." - "Demonstrate how to include pieces of code, figures, and challenges." keypoints: - "It shouldn't be difficult" --- This episode demonstrates all the features that can be used when writing a lesson in [RMarkdown][r-markdown]. To generate the site, you will need to have the following packages installed: ```{r, eval=FALSE} install.packages(c("knitr", "stringr", "checkpoint")) ``` If the lesson uses additional packages, the script that converts the Rmd files into markdown, will detect them and install them for you, when you run `make serve` or `make site`. This first chunk is really important, and need to be included at the beginning of each episode written in RMarkdown. ```{r, echo=TRUE} source("../bin/chunk-options.R") ``` The rest of the lesson should be written as a normal RMarkdown file. You can include chunk for codes, just like you'd normally do. Normal output: ```{r} 1 + 1 ``` Output with error message: ```{r} x[10] ``` Output generating figures: ```{r plot-example} library(ggplot2) ggplot(diamonds, aes(x = carat, y = price, color = cut)) + geom_point() ``` For the challenges and their solutions, you need to pay attention to where the `>` go and where to leave blank lines. You can include code chunks in both the instructions and solutions. For instance this: ``` > ## Challenge: Can you do it? > > What is the output of this command? > > ```{r, eval=FALSE} > paste("This", "new", "template", "looks", "good") > ``` > > > ## Solution > > > > ```{r, echo=FALSE} > > paste("This", "new", "template", "looks", "good") > > ``` > {: .solution} {: .challenge} ``` will generate this: > ## Challenge: Can you do it? > > What is the output of this command? > > ```{r, eval=FALSE} > paste("This", "new", "template", "looks", "good") > ``` > > > ## Solution > > > > ```{r, echo=FALSE} > > paste("This", "new", "template", "looks", "good") > > ``` > {: .solution} {: .challenge} {% include links.md %}