---
:
output::revealjs_presentation:
revealjs: false
incremental: 'none'
transition: 'none'
background_transition: 1
slide_level: custom.css
css:
reveal_options: false
controls: false
slideNumber: false
progress# shuffle: true # uncomment to randomize cards
: false
self_contained---
I recently passed the AZ-900: Microsoft Azure Fundamentals exam. To help study, I created a set of flashcards using a reveal.js presentation from an Excel file of terms/definitions. The repo is here, with the presentation found here The terms come from the official skills measured document for 2021.
The R code is pretty simple. To set up the presentation, you’ll need the latest version of the revealjs package (Any version of reveal.js past version 4 should work for the r-stack option.). The following front-matter setup should work fine. You can turn on the shuffle option to shuffle the cards every time the document is re-knitted.
The following code is the only markdown needed. It’ll read in the Excel file and loop through the rows to create the presentation. Each flashcard is a different slide. The term is the first fragment with the definition second because the r-stack places them on top of each other. The data-fragment-index is the same for both, so the term will fade out while the definition fades in on the same click. The line of breaks moves the term up a little. I just think it looks a little better.
```{r results='asis', echo=FALSE}
library(readxl)
terms <- read_excel(here::here("az 900 Skills.xlsx"))
for(i in 1:nrow(terms)) {
term <- terms$Term[i]
definition <- terms$Definition[i]
cat(paste("
<section class=\"center\">\n
<div class=\"r-stack\">\n
<div class=\"fragment fade-out\" data-fragment-index=\"1\"><b>",
term,
"</b><br> \n <br> \n <br>
</div>\n"))
cat(paste(
"<div class=\"fragment fade-in\" data-fragment-index=\"1\">",
definition,
"</div>\n
</div>\n
</section>"))
}
```
There are opportunities to color the slides based on the subject area, add additional information in the notes, or filter the terms.