Add pandoc to GHA and fix build (#106)

* usethis::use_tidy_description()
* devtools::document()
* Put back smart doc to fix CI but remove it later (#107)
diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml
index 6ab6888..f2f400f 100644
--- a/.github/workflows/R-CMD-check.yaml
+++ b/.github/workflows/R-CMD-check.yaml
@@ -16,25 +16,27 @@
   R-CMD-check:
     runs-on: ${{ matrix.config.os }}
 
-    name: ${{ matrix.config.os }} (${{ matrix.config.r }})
+    name: ${{ matrix.config.os }} (${{ matrix.config.r }}) [Pandoc ${{ matrix.config.pandoc }}]
 
     strategy:
       fail-fast: false
       matrix:
         config:
-          - {os: macOS-latest,   r: 'release'}
+          # 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'}
 
-          - {os: windows-latest, 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, r: '3.6'}
+          - {os: windows-latest, pandoc: '2.7.3', r: '3.6'}
 
           # Use older ubuntu to maximise backward compatibility
-          - {os: ubuntu-18.04,   r: 'devel', http-user-agent: 'release'}
-          - {os: ubuntu-18.04,   r: 'release'}
-          - {os: ubuntu-18.04,   r: 'oldrel-1'}
-          - {os: ubuntu-18.04,   r: 'oldrel-2'}
-          - {os: ubuntu-18.04,   r: 'oldrel-3'}
-          - {os: ubuntu-18.04,   r: 'oldrel-4'}
+          - {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'}
 
     env:
       GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
@@ -44,6 +46,12 @@
       - uses: actions/checkout@v2
 
       - 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-r@v1
         with:
@@ -55,7 +63,7 @@
         with:
           extra-packages: rcmdcheck
 
-      - uses: r-lib/actions/check-r-package@v1
+      - uses: r-lib/actions/check-r-package@master
 
       - name: Show testthat output
         if: always()
diff --git a/DESCRIPTION b/DESCRIPTION
index 75aada7..02829c9 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,20 +1,30 @@
-Package: revealjs
 Type: Package
+Package: revealjs
 Title: R Markdown Format for 'reveal.js' Presentations
 Version: 0.9.1
 Date: 2017-03-13
-Authors@R: c(
-    person("Hakim", "El Hattab", role = c("aut", "cph"),
-       comment = "reveal.js-3.2.0, https://github.com/hakimel/reveal.js"),
-    person("Asvin", "Goel", role = c("ctb", "cph"), email = "goel@telematique.eu",
-       comment = "chalkboard plugin"),
-    person("Greg", "Denehy", role = c("ctb", "cph"),
-       comment = "menu plugin"),
-    person("JJ", "Allaire", role = c("aut", "cre"), email = "jj@rstudio.com"),
-    person(family = "RStudio", role = "cph")
-  )
-Description: R Markdown format for 'reveal.js' presentations, a framework 
-  for easily creating beautiful presentations using HTML.
+Authors@R: 
+    c(person(given = "Hakim",
+             family = "El Hattab",
+             role = c("aut", "cph"),
+             comment = "reveal.js-3.2.0, https://github.com/hakimel/reveal.js"),
+      person(given = "Asvin",
+             family = "Goel",
+             role = c("ctb", "cph"),
+             email = "goel@telematique.eu",
+             comment = "chalkboard plugin"),
+      person(given = "Greg",
+             family = "Denehy",
+             role = c("ctb", "cph"),
+             comment = "menu plugin"),
+      person(given = "JJ",
+             family = "Allaire",
+             role = c("aut", "cre"),
+             email = "jj@rstudio.com"),
+      person(family = "RStudio",
+             role = "cph"))
+Description: R Markdown format for 'reveal.js' presentations, a framework
+    for easily creating beautiful presentations using HTML.
 License: MIT + file LICENSE
 URL: https://github.com/rstudio/revealjs
 BugReports: https://github.com/rstudio/revealjs/issues
@@ -25,5 +35,6 @@
 Suggests:
     covr,
     testthat
-RoxygenNote: 7.0.2
+Encoding: UTF-8
 Roxygen: list(markdown = TRUE)
+RoxygenNote: 7.1.2
diff --git a/R/revealjs_presentation.R b/R/revealjs_presentation.R
index 3ca3a57..84df1dc 100644
--- a/R/revealjs_presentation.R
+++ b/R/revealjs_presentation.R
@@ -6,6 +6,9 @@
 #' @inheritParams rmarkdown::pdf_document
 #' @inheritParams rmarkdown::html_document
 #'   
+#' @param smart Produce typographically correct output, converting straight
+#'  quotes to curly quotes, \code{---} to em-dashes, \code{--} to en-dashes, and
+#'  \code{...} to ellipses.
 #' @param center \code{TRUE} to vertically center content on slides
 #' @param slide_level Level of heading to denote individual slides. If 
 #'   \code{slide_level} is 2 (the default), a two-dimensional layout will be 
diff --git a/man/revealjs_presentation.Rd b/man/revealjs_presentation.Rd
index aa2c823..d9b4a00 100644
--- a/man/revealjs_presentation.Rd
+++ b/man/revealjs_presentation.Rd
@@ -58,6 +58,10 @@
 
 \item{fig_caption}{\code{TRUE} to render figures with captions}
 
+\item{smart}{Produce typographically correct output, converting straight
+quotes to curly quotes, \code{---} to em-dashes, \code{--} to en-dashes, and
+\code{...} to ellipses.}
+
 \item{self_contained}{Whether to generate a full LaTeX document (\code{TRUE})
 or just the body of a LaTeX document (\code{FALSE}). Note the LaTeX
 document is an intermediate file unless \code{keep_tex = TRUE}.}
@@ -96,7 +100,10 @@
 features of \code{revealjs_presentation} won't be available (see the
 Templates section below for more details).}
 
-\item{css}{One or more css files to include}
+\item{css}{CSS and/or Sass files to include. Files with an extension of .sass
+or .scss are compiled to CSS via \code{sass::sass()}. Also, if \code{theme} is a
+\code{\link[bslib:bs_theme]{bslib::bs_theme()}} object, Sass code may reference the relevant Bootstrap
+Sass variables, functions, mixins, etc.}
 
 \item{includes}{Named list of additional content to include within the
 document (typically created using the \code{\link[rmarkdown]{includes}} function).}