The anatomy of a reveal.js deck
.qmd reveal.js fileEverything today is in there, in more detail.
We get all the goodness from quarto,
Code cells run at render time:
Figures and tables regenerate from the data instead of being pasted screenshots, HUGE when new data comes in.
A rendered deck is a web page.
Animation, video, iframes, links, and anything else the web can do.
The same source renders to PDF or PowerPoint.
Except for html specific things like animation and interactivity.
my-deck.qmd
Produces my-deck.html.
If you are in a repo with index.qmd only then quarto render will find it
Re-renders and refreshes the browser on every save.
RStudio and Positron will help you here.
| Key | Action |
|---|---|
| → / ← | next / previous slide |
| f | fullscreen |
| s | speaker view |
| o | overview of all slides |
| ? | all shortcuts |
my-deck.qmd
theme a built-in theme, your own SCSS, or both: [default, styles.scss]width / height the canvas you design against, 1280 x 720echo show code or not; false by default, turn it on where it earns the spacecode-line-numbers false to hide code line numberspagetitle what the browser tab says## a new slide, heading becomes the title# a section slide, a title-only dividermy-deck.qmd
Markdown alone cannot say “make this part special”. Quarto adds two ways to wrap content and attach attributes to it.
Almost every feature in this workshop is one of these two with a different class on it.
.name a class, the usual way to reach a div from CSS#name an id, unique on the pagekey="value" any other attribute, style= includedOrder does not matter, and you can use as many as you like.
The outer fence needs more colons than the inner one, otherwise Pandoc closes the wrong div. Three is only the minimum.
Columns are just nested divs: a .columns div holding .column divs.
my-deck.qmd with format: revealjs# section slide, and two ## slidesquarto preview my-deck.qmd, then press oBack to the workshop materials.
Slidecrafting Workshop