diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml
index 0fdc22d..5065b4c 100644
--- a/.github/workflows/R-CMD-check.yaml
+++ b/.github/workflows/R-CMD-check.yaml
@@ -1,4 +1,4 @@
-# Workflow derived from https://github.com/r-lib/actions/tree/master/examples
+# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
 # Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
 #
 # NOTE: This workflow is overkill for most R packages and
@@ -30,63 +30,55 @@
       matrix:
         config:
           # testing R release with last shipped pandoc version in RStudio IDE and new pandoc
-          - {os: macOS-latest,   pandoc: '2.11.4', r: 'release'}
-          - {os: macOS-latest,   pandoc: '2.14.2', r: 'release'}
-
-          # TODO: issue on windows with pandoc 2.11.4 - change when fixed
-          - {os: windows-latest, pandoc: '2.7.3', r: 'release'}
-          # Use 3.6 to trigger usage of RTools35
-          - {os: windows-latest, pandoc: '2.7.3', r: '3.6'}
-
-          # Use older ubuntu to maximise backward compatibility
-          - {os: ubuntu-18.04,   pandoc: '2.11.4', r: 'devel', http-user-agent: 'release'}
-          - {os: ubuntu-18.04,   pandoc: 'devel', r: 'release'}
-          - {os: ubuntu-18.04,   pandoc: '2.14.2', r: 'release'}
-          - {os: ubuntu-18.04,   pandoc: '2.11.4', r: 'release'}
-          - {os: ubuntu-18.04,   pandoc: '2.11.4', r: 'oldrel-1'}
-
+          - {os: windows-latest, pandoc: '3.1.1',    r: 'release'}
+          - {os: macOS-latest,   pandoc: '3.1.1',    r: 'release'}
+          - {os: ubuntu-latest,  pandoc: 'devel',    r: 'release'}
+          # testing older pandoc versions
+          - {os: ubuntu-latest,  pandoc: '2.19.2',   r: 'release'}
+          - {os: ubuntu-latest,  pandoc: '2.18',     r: 'release'}
+          - {os: ubuntu-latest,  pandoc: '2.17.1.1', r: 'release'}
+          - {os: ubuntu-latest,  pandoc: '2.16.2',   r: 'release'}
+          - {os: ubuntu-latest,  pandoc: '2.14.2',   r: 'release'}
+          - {os: ubuntu-latest,  pandoc: '2.11.4',   r: 'release'}
+          - {os: ubuntu-latest,  pandoc: '2.7.3',    r: 'release'}
+          - {os: ubuntu-latest,  pandoc: '2.5',      r: 'release'}
+          # testing other R versions
+          - {os: ubuntu-latest,  pandoc: '2.11.4',   r: 'devel', http-user-agent: 'release'}
+          - {os: ubuntu-latest,  pandoc: '2.11.4',   r: 'oldrel-1'}
+          - {os: ubuntu-latest,  pandoc: '2.11.4',   r: 'oldrel-2'}
+          - {os: ubuntu-latest,  pandoc: '2.11.4',   r: 'oldrel-3'}
     env:
       GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
       R_KEEP_PKG_SOURCE: yes
 
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
 
-      - uses: r-lib/actions/setup-pandoc@v1
-        if: matrix.config.pandoc != 'devel'
-        with:
-          pandoc-version: ${{ matrix.config.pandoc }}
-      
-      - uses: cderv/actions/setup-pandoc-nightly@nightly-pandoc
-        if: matrix.config.pandoc == 'devel'
+      - uses: r-lib/actions/setup-pandoc@v2
 
-      - uses: r-lib/actions/setup-r@v1
+      - uses: r-lib/actions/setup-r@v2
         with:
           r-version: ${{ matrix.config.r }}
           http-user-agent: ${{ matrix.config.http-user-agent }}
           use-public-rspm: true
 
-      - uses: r-lib/actions/setup-r-dependencies@v1
+      - uses: r-lib/actions/setup-r-dependencies@v2
         with:
-          extra-packages: rcmdcheck
+          extra-packages: any::rcmdcheck
+          needs: check
 
-      - uses: r-lib/actions/check-r-package@master
+      - name: Remove default installed Pandoc
+        if: runner.os == 'Linux'
+        run: sudo dpkg -r pandoc
 
-      - name: Show testthat output
-        if: always()
-        run: find check -name 'testthat.Rout*' -exec cat '{}' \; || true
-        shell: bash
-
-      - name: Upload check results
-        if: failure()
-        uses: actions/upload-artifact@main
+      - uses: r-lib/actions/setup-pandoc@v2
+        if: matrix.config.pandoc != 'devel'
         with:
-          name: ${{ runner.os }}-r${{ matrix.config.r }}-results
-          path: check
-          
-      - name: Test coverage
-        if: success() && runner.os == 'Linux' && matrix.config.r == 'release' && matrix.config.pandoc == '2.11.4'
-        run: |
-          pak::pkg_install('covr')
-          covr::codecov()
-        shell: Rscript {0}
+          pandoc-version: ${{ matrix.config.pandoc }}
+
+      - uses: cderv/actions/setup-pandoc-nightly@nightly-pandoc
+        if: matrix.config.pandoc == 'devel'
+
+      - uses: r-lib/actions/check-r-package@v2
+        with:
+          upload-snapshots: true
diff --git a/.github/workflows/pr-commands.yaml b/.github/workflows/pr-commands.yaml
index 1cdafbf..71f335b 100644
--- a/.github/workflows/pr-commands.yaml
+++ b/.github/workflows/pr-commands.yaml
@@ -1,4 +1,4 @@
-# Workflow derived from https://github.com/r-lib/actions/tree/master/examples
+# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
 # Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
 on:
   issue_comment:
@@ -8,28 +8,30 @@
 
 jobs:
   document:
-    if: startsWith(github.event.comment.body, '/document')
+    if: ${{ github.event.issue.pull_request && (github.event.comment.author_association == 'MEMBER' || github.event.comment.author_association == 'OWNER') && startsWith(github.event.comment.body, '/document') }}
     name: document
     runs-on: ubuntu-latest
     env:
       GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
 
-      - uses: r-lib/actions/pr-fetch@v1
+      - uses: r-lib/actions/pr-fetch@v2
         with:
           repo-token: ${{ secrets.GITHUB_TOKEN }}
 
-      - uses: r-lib/actions/setup-r@v1
+      - uses: r-lib/actions/setup-r@v2
         with:
           use-public-rspm: true
 
-      - uses: r-lib/actions/setup-r-dependencies@v1
+      - uses: r-lib/actions/setup-r-dependencies@v2
         with:
-          extra-packages: roxygen2
+          extra-packages: any::roxygen2
+          needs: pr-document
 
       - name: Document
-        run: Rscript -e 'roxygen2::roxygenise()'
+        run: roxygen2::roxygenise()
+        shell: Rscript {0}
 
       - name: commit
         run: |
@@ -38,30 +40,32 @@
           git add man/\* NAMESPACE
           git commit -m 'Document'
 
-      - uses: r-lib/actions/pr-push@v1
+      - uses: r-lib/actions/pr-push@v2
         with:
           repo-token: ${{ secrets.GITHUB_TOKEN }}
 
   style:
-    if: startsWith(github.event.comment.body, '/style')
+    if: ${{ github.event.issue.pull_request && (github.event.comment.author_association == 'MEMBER' || github.event.comment.author_association == 'OWNER') && startsWith(github.event.comment.body, '/style') }}
     name: style
     runs-on: ubuntu-latest
     env:
       GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
 
-      - uses: r-lib/actions/pr-fetch@v1
+      - uses: r-lib/actions/pr-fetch@v2
         with:
           repo-token: ${{ secrets.GITHUB_TOKEN }}
 
-      - uses: r-lib/actions/setup-r@v1
+      - uses: r-lib/actions/setup-r@v2
 
       - name: Install dependencies
-        run: Rscript -e 'install.packages("styler")'
+        run: install.packages("styler")
+        shell: Rscript {0}
 
       - name: Style
-        run: Rscript -e 'styler::style_pkg()'
+        run: styler::style_pkg()
+        shell: Rscript {0}
 
       - name: commit
         run: |
@@ -70,6 +74,6 @@
           git add \*.R
           git commit -m 'Style'
 
-      - uses: r-lib/actions/pr-push@v1
+      - uses: r-lib/actions/pr-push@v2
         with:
           repo-token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/README.Rmd b/README.Rmd
index 528bfdd..6784308 100644
--- a/README.Rmd
+++ b/README.Rmd
@@ -4,11 +4,9 @@
 ---
 
 <!-- badges: start -->
-
 [![CRAN status](https://www.r-pkg.org/badges/version/revealjs)](https://CRAN.R-project.org/package=revealjs)
-[![R-CMD-check](https://github.com/rstudio/revealjs/workflows/R-CMD-check/badge.svg)](https://github.com/rstudio/revealjs/actions)
+[![R-CMD-check](https://github.com/rstudio/revealjs/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/rstudio/revealjs/actions/workflows/R-CMD-check.yaml)
 [![reveal.js](https://img.shields.io/badge/reveal.js-`r revealjs:::revealjs_version()`-yellow)](https://github.com/rstudio/revealjs/tree/main/inst/reveal.js-`r revealjs:::revealjs_version()`)
-
 <!-- badges: end -->
 
 ## Overview
diff --git a/README.md b/README.md
index 72170f5..f6aac97 100644
--- a/README.md
+++ b/README.md
@@ -5,9 +5,8 @@
 
 [![CRAN
 status](https://www.r-pkg.org/badges/version/revealjs)](https://CRAN.R-project.org/package=revealjs)
-[![R-CMD-check](https://github.com/rstudio/revealjs/workflows/R-CMD-check/badge.svg)](https://github.com/rstudio/revealjs/actions)
+[![R-CMD-check](https://github.com/rstudio/revealjs/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/rstudio/revealjs/actions/workflows/R-CMD-check.yaml)
 [![reveal.js](https://img.shields.io/badge/reveal.js-4.2.1-yellow)](https://github.com/rstudio/revealjs/tree/main/inst/reveal.js-4.2.1)
-
 <!-- badges: end -->
 
 ## Overview
@@ -106,18 +105,18 @@
 The following single character keyboard shortcuts enable alternate
 display modes:
 
--   `'f'` enable fullscreen mode
+- `'f'` enable fullscreen mode
 
--   `'o'` enable overview mode
+- `'o'` enable overview mode
 
--   `'b'` enable pause mode with a black screen hiding slide content
+- `'b'` enable pause mode with a black screen hiding slide content
 
--   `'?'` enable help mode to show keyboard shortcut cheatsheet
+- `'?'` enable help mode to show keyboard shortcut cheatsheet
 
--   `'s'` enable presentation mode with speaker notes when the Notes
-    plugin is activated
+- `'s'` enable presentation mode with speaker notes when the Notes
+  plugin is activated
 
--   `'m'` enable menu mode when the ‘menu’ plugin is activated
+- `'m'` enable menu mode when the ‘menu’ plugin is activated
 
 Pressing `Esc` exits all of these modes.
 
@@ -187,17 +186,17 @@
 There are several options that control the appearance of revealjs
 presentations:
 
--   `theme` specifies the theme to use for the presentation (available
-    themes are “simple”, “dark”, “black”, “sky”, “beige”, “serif”,
-    “solarized”, “blood”, “moon”, “night”, “league”, or “white”
+- `theme` specifies the theme to use for the presentation (available
+  themes are “simple”, “dark”, “black”, “sky”, “beige”, “serif”,
+  “solarized”, “blood”, “moon”, “night”, “league”, or “white”
 
--   `highlight` specifies the syntax highlighting style. Supported
-    styles include “default”, “tango”, “pygments”, “kate”, “monochrome”,
-    “espresso”, “zenburn”, “haddock”, or “breezedark”. Pass null to
-    prevent syntax highlighting.
+- `highlight` specifies the syntax highlighting style. Supported styles
+  include “default”, “tango”, “pygments”, “kate”, “monochrome”,
+  “espresso”, “zenburn”, “haddock”, or “breezedark”. Pass null to
+  prevent syntax highlighting.
 
--   `center` specifies whether you want to vertically center content on
-    slides (this defaults to false).
+- `center` specifies whether you want to vertically center content on
+  slides (this defaults to false).
 
 For example:
 
@@ -216,13 +215,13 @@
 You can use the `transition` and `background_transition` options to
 specify the global default slide transition style:
 
--   `transition` specifies the visual effect when moving between slides.
-    Available transitions are “convex”, “fade”, “slide”, “concave”,
-    “zoom”, or “none”.
+- `transition` specifies the visual effect when moving between slides.
+  Available transitions are “convex”, “fade”, “slide”, “concave”,
+  “zoom”, or “none”.
 
--   `background_transition` specifies the background transition effect
-    when moving between full page slides. Available transitions are
-    “convex”, “fade”, “slide”, “concave”, “zoom”, or “none”
+- `background_transition` specifies the background transition effect
+  when moving between full page slides. Available transitions are
+  “convex”, “fade”, “slide”, “concave”, “zoom”, or “none”
 
 For example:
 
@@ -338,15 +337,15 @@
 There are a number of options that affect the output of figures within
 reveal.js presentations:
 
--   `fig_width` and `fig_height` can be used to control the default
-    figure width and height (7x5 is used by default)
+- `fig_width` and `fig_height` can be used to control the default figure
+  width and height (7x5 is used by default)
 
--   `fig_retina` Specifies the scaling to perform for retina displays
-    (defaults to 2, which currently works for all widely used retina
-    displays). Note that this only takes effect if you are using
-    knitr >= 1.5.21. Set to `null` to prevent retina scaling.
+- `fig_retina` Specifies the scaling to perform for retina displays
+  (defaults to 2, which currently works for all widely used retina
+  displays). Note that this only takes effect if you are using knitr \>=
+  1.5.21. Set to `null` to prevent retina scaling.
 
--   `fig_caption` controls whether figures are rendered with captions
+- `fig_caption` controls whether figures are rendered with captions
 
 For example:
 
@@ -367,15 +366,15 @@
 reveal.js presentations for rendering LaTeX and MathML equations. You
 can use the `mathjax` option to control how MathJax is included:
 
--   Specify “default” to use an https URL from the official MathJax CDN.
+- Specify “default” to use an https URL from the official MathJax CDN.
 
--   Specify “local” to use a local version of MathJax (which is copied
-    into the output directory). Note that when using “local” you also
-    need to set the `self_contained` option to false.
+- Specify “local” to use a local version of MathJax (which is copied
+  into the output directory). Note that when using “local” you also need
+  to set the `self_contained` option to false.
 
--   Specify an alternate URL to load MathJax from another location.
+- Specify an alternate URL to load MathJax from another location.
 
--   Specify null to exclude MathJax entirely.
+- Specify null to exclude MathJax entirely.
 
 For example, to use a local copy of MathJax:
 
