This is a repository for ARCTraining Quarto slides collection.
This repository was created from Sparrow0hawk/quarto-revealjs-template.
This repository is used to publish a RevealJS website that has been written in Quarto. It includes a GitHub Action which will convert the Quarto source to HTML and publish them via GitHub Pages.
Its a useful way of making slides portable as they are then available via the URL and naturally the slides are version controlled.
A standard Research Computing presentation includes
- Title slide
- Team slide
- End slide
- Footer
The meta
definition for a standard presentation is:
---
format:
revealjs:
navigation-mode: linear
controls-layout: bottom-right
controls: true
footer: "[Research IT Website]({{< var rc.website >}}) | [Research IT Query]({{< var rc.servicedesk >}}) | [Courses Material]({{< var rc.material >}})"
code: Course Code
name: Course Name
---
Note that code
and name
are meta
variables used to generate the title slide (see below).
The title slide is defined in the _title.qmd
file, and is included in the presentation file via the {{< include _title.qmd >}}
command. This slide has three elements:
- Title: value retrieved via
meta.code
- Subtitle: value retrieved via
meta.name
- Image
The title slide should looks like:
Tip: if you want to create a title slide without title or subtitle, you can leave the meta
values for code
or name
empty.
The team slide is defined in the _team.qmd
file, and is included in the presentation file via the {{< include _team.qmd >}}
command. This slide has two variables elements:
- Staff: value retrieved from
_variables.yml
file via{{< var rc.team >}}
- IT Servicedesk link: value retrieved from
_variables.yml
file via{{< var rc.servicedesk >}}
Tip: If any of these values needed to be updated, please do this via _variables.yml
file, and then, all standard presentations are going to be automatically updated.
The team slide should looks like:
The end slide is defined in the _end.qmd
file, and is included in the presentation file via the {{< include _end.qmd >}}
command. This slide has three variables elements:
- IT Servicedesk link: value retrieved from
_variables.yml
file via{{< var rc.servicedesk >}}
- ARC Website: value retrieved from
_variables.yml
file via{{< var rc.website >}}
- HPC documentation: value retrieved from
_variables.yml
file via{{< var rc.documentation >}}
Tip: If any of these values needed to be updated, please do this via _variables.yml
file, and then, all standard presentations are going to be automatically updated.
The end slide should looks like:
To start a new standard presentation, start by creating a copy of the file template.qmd
.
Then, rename the new file using the training code, for example hpc0.qmd
.
Now, you will have to edit this new file and change the meta
information (code
and name
) to reflect the training course content. For example, the meta
for the HPC0
is:
---
format:
clean-revealjs:
self-contained: true
navigation-mode: linear
controls-layout: bottom-right
controls: false
footer: "[Research IT Website]({{< var rc.website >}}) | [Research IT Query]({{< var rc.servicedesk >}}) | [Courses Material]({{< var rc.material >}})"
code: HPC0
name: Introduction to Linux for HPC
---
Done! The standard presentation is created. You can write the main content for the presentation by replacing the ## Slide A
, ## Slide B
and ## Slide C
temporary content.
You are now ready to create your slides by editing the index.qmd
in the root of the repository. For more information
on writing RevealJS slides in Quarto see the RevealJS guide and the
Revealjs Reference.
You'll need a working quarto. This can be installed from conda and you'll also want to install the theme extension:
conda create -n quarto -c conda-forge quarto
conda activate quarto
quarto install --no-prompt extension grantmcdermott/quarto-revealjs-clean
You can then preview this via:
quarto preview
You will need to run quarto publish gh-pages
once locally before deploying this template.
A basic pre-commit configuration is included (see .pre-commit-config.yaml) however to use it
you will have to install pre-commit
in your cloned repository. This requires pre-commit
to be installed on your
system or within a Python Virtual Environment. To find out more about installing and configuring pre-commit
see the
article pre-commit : Protecting your future self.
There is a growing number of useful Quarto extensions.
The quarto-qrcode extension is particularly useful as it simplifies generating and embedding QR Codes that link to websites in your slides.