From 5c3c5b7bd7ceeb6a477b5168fef75e5a0b643b83 Mon Sep 17 00:00:00 2001
From: statnmap <sebastien@thinkr.fr>
Date: Sat, 25 Sep 2021 17:35:34 +0200
Subject: [PATCH 1/7] New look with bs4_book

---
 .gitignore                 |   1 +
 .travis.yml                |  31 ---
 01-big-shiny.Rmd           |   2 +-
 06-ux-matters.Rmd          |   4 +-
 14-when_optimize.Rmd       |   6 +-
 CONTRIBUTING.md            |  48 ++++
 DESCRIPTION                |   6 +-
 _bookdown.yml              |   1 +
 _output.yml                |   9 +-
 before-build.R             |   2 +-
 css/style_gitbook.css      |   8 +-
 gitbook-footer-thinkr.html |   2 +-
 index.Rmd                  |  16 +-
 prep.R                     |   3 +
 renv.lock                  | 445 ++++++++++++++++++++-----------------
 15 files changed, 329 insertions(+), 255 deletions(-)
 delete mode 100644 .travis.yml

diff --git a/.gitignore b/.gitignore
index 9d7b3510..98c1f4ce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,3 +15,4 @@ _book/*
 !engineering-production-grade-shiny-apps.Rproj
 golex/
 todoedit
+_site/
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 281cf0c4..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-language: r
-cache: packages
-os: linux
-dist: bionic
-  
-env:
-  global:
-  - MAKEFLAGS="-j 2"
-  
-jobs:
-  include:
-  - r: 3.6
-  
-install:
-  - Rscript -e 'if(dir.exists("cache")){unlink("cache")}'
-  - Rscript -e 'install.packages("remotes")'
-  - Rscript -e "install.packages('tinytex')"
-  - Rscript -e "tinytex::install_tinytex()"  
-  - Rscript -e 'remotes::install_github("ThinkR-open/golem", ref = "dev")'
-  - Rscript -e 'remotes::install_local(force = TRUE)'
-  
-script:
-  - if [ $TRAVIS_BRANCH == "wip" ] ; then make html_wip;  fi
-  - if [ $TRAVIS_BRANCH == "master" ] ; then make html_master;  fi
-  - if [ $TRAVIS_BRANCH == "wip" ] ; then make pdf;  fi
-
-after_success:
-  - if ([ $TRAVIS_PULL_REQUEST == "false" ] && [ $TRAVIS_BRANCH == "wip" ]) ; then bash deploy.sh;  fi
-  - if ([ $TRAVIS_PULL_REQUEST == "false" ] && [ $TRAVIS_BRANCH == "master" ]) ; then bash deploy.sh;  fi
-
-
diff --git a/01-big-shiny.Rmd b/01-big-shiny.Rmd
index eb249777..74450984 100644
--- a/01-big-shiny.Rmd
+++ b/01-big-shiny.Rmd
@@ -445,7 +445,7 @@ This package can now be used to assess the dependencies we use in our applicatio
 To do that, let's create a small function that computes this metric and returns a tibble:
 
 ```{r 01-big-shiny-25 }
-library()
+library(packageMetrics2)
 # A function to turn the output of the metrics into a data.frame
 frame_metric <- function(pkg){
   metrics <- package_metrics(pkg)
diff --git a/06-ux-matters.Rmd b/06-ux-matters.Rmd
index a7ec0f1a..f30ef90d 100644
--- a/06-ux-matters.Rmd
+++ b/06-ux-matters.Rmd
@@ -50,8 +50,8 @@ First of all, users rarely carefully read all the instructions: they **scan** an
 Navigating the web, users try to optimize their decision, not by making the decision that would be "optimal", but by doing the first action that is sufficiently satisfactory in relevance.
 They behave like that for a lot of reasons, but notably because they want to be as quick as possible on the web, and because the cost of being wrong is very low most of the time - even if you make the wrong decision on a website, chances are that you are just a "return" or "cancel" button away from canceling your last action.
 
-(ref:scanningcap) How we design a web page versus how a user will really scan it.
-From [@stevekrug2014].
+(ref:scanningcap) How we design a web page versus how a user will really scan it. From [@stevekrug2014].
+
 
 ```{r 06-ux-matters-1, echo=FALSE, fig.cap="(ref:scanningcap)", out.width="100%"}
 knitr::include_graphics("img/scanning.png")
diff --git a/14-when_optimize.Rmd b/14-when_optimize.Rmd
index c44f6170..e36b7a9a 100644
--- a/14-when_optimize.Rmd
+++ b/14-when_optimize.Rmd
@@ -597,9 +597,11 @@ Here is what it can look like inside a `Dockerfile` (Note that you will need to
 
     FROM rocker/shiny-verse:3.6.3
 
-    RUN apt-get -y install curl RUN curl -sL \
+    RUN apt-get -y install curl 
+    RUN curl -sL \
       <https://deb.nodesource.com/setup_14.x> \
-      | bash - RUN apt-get install -y nodejs
+      | bash - 
+    RUN apt-get install -y nodejs
 
     RUN Rscript -e 'remotes::install_github("colinfay/minifyr")' 
     RUN Rscript -e 'remotes::install_cran("cicerone")' 
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 447f69a4..f98da4d7 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -24,3 +24,51 @@ There are two ways to contribute to the book:
   + Add your name in the Acknowledgment section in the introduction.
 
 + If you want to contribute written content, you might want to open an issue first so that we can discuss the topic first.
+
+## Building
+
+### Build the book locally with existing cache
+
+This requires Docker, Node and multiple dependencies installed using {renv}.
+By default, this will use the cache to restore outputs.
+
+*hexmake*
+```sh
+docker pull colinfay/hexmake
+```
+
+*minifyr*
+```sh
+sudo apt-get -y install curl 
+sudo apt-get install -y nodejs
+
+Rscript -e 'remotes::install_github("colinfay/minifyr")' 
+Rscript -e 'remotes::install_cran("cicerone")' 
+# Verify it works
+Rscript -e 'library(minifyr);
+        minifyr_npm_install(TRUE);
+        minify_package_js("cicerone", minifyr_js_uglify)'
+```
+
+Then you can build it in a Terminal
+```sh
+Rscript prep.R
+Rscript -e 'bookdown::render_book("index.Rmd")'
+Rscript -e 'browseURL("_site/index.html")'
+```
+
+### Update the list of dependencies in DESCRIPTION
+
+```sh
+Rscript -e 'source("before-build.R")'
+```
+
+### Update versions of packages in {renv}
+
+```sh
+Rscript -e 'renv::snapshot()'
+```
+
+### Recreate datasets
+
+Run the content of 'render_all.R'
diff --git a/DESCRIPTION b/DESCRIPTION
index bccb795f..5e76fc39 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -28,9 +28,9 @@ Authors@R:
 Description: Open source book on R for reproducible, robust and
     maintainable Shiny applications for production.
 License: MIT + file LICENSE
-URL: https://github.com/ThinkR-open/building-shiny-apps-workflow
+URL: https://github.com/ThinkR-open/engineering-shiny-book
 BugReports: 
-    https://github.com/ThinkR-open/building-shiny-apps-workflow/issues
+    https://github.com/ThinkR-open/engineering-shiny-book/issues
 Depends: 
     bookdown (>= 0.18)
 Imports: 
@@ -39,6 +39,7 @@ Imports:
     bank (>= 0.0.0.9000),
     bench (>= 1.1.1),
     bs4Dash (>= 0.5.0),
+    bslib,
     bubble (>= 0.0.0.9003),
     chromote (>= 0.0.0.9001),
     cli (>= 2.0.2),
@@ -58,6 +59,7 @@ Imports:
     dichromat (>= 2.0.0),
     dockerfiler (>= 0.1.3),
     dockerstats (>= 0.0.0.9000),
+    downlit,
     dplyr (>= 1.0.2),
     DT (>= 0.15),
     fakir (>= 0.2.0),
diff --git a/_bookdown.yml b/_bookdown.yml
index c6dc4789..ed2ecbc8 100644
--- a/_bookdown.yml
+++ b/_bookdown.yml
@@ -1,6 +1,7 @@
 book_filename: engineering-production-grade-shiny-apps
 clean: [packages.bib, bookdown.bbl]
 delete_merged_file: yes
+repo: https://github.com/ThinkR-open/engineering-shiny-book
 language:
   label:
     fig: "FIGURE "
diff --git a/_output.yml b/_output.yml
index 5e686c45..daec3a34 100644
--- a/_output.yml
+++ b/_output.yml
@@ -1,5 +1,5 @@
-bookdown::gitbook:
-  css: [css/style.css, css/thinkr.css, css/style_gitbook.css]
+bookdown::bs4_book:
+  css: [css/style.css, css/style_gitbook.css]
   toc_depth: 3
   config:
     toc:
@@ -17,6 +17,11 @@ bookdown::gitbook:
   includes:
     in_header: ga.html      
     after_body: gitbook-footer-thinkr.html
+  theme:
+    primary: "#DE633C"
+    fg: "#2b2121"
+    bg: "#ffffff"
+  repo: https://github.com/ThinkR-open/engineering-shiny-book
 bookdown::pdf_book:
   includes:
     in_header: latex/preamble.tex
diff --git a/before-build.R b/before-build.R
index af89373f..ef1d6486 100644
--- a/before-build.R
+++ b/before-build.R
@@ -28,7 +28,7 @@ paks <- c(
   "tidymodules", "shinyjs", "htmlwidgets", 
   "hunspell", "rhub", "spelling", "tufte", "uuid", 
   "attachment", "remotes", "usethis", "namer", "desc", "spelling", "tufte", 
-  "dockerstats", "spelling", "tidymodules", "bank"
+  "dockerstats", "spelling", "tidymodules", "bank", "downlit", "bslib"
 ) 
 
 paks <- unique(paks)
diff --git a/css/style_gitbook.css b/css/style_gitbook.css
index 1d65af18..48385256 100644
--- a/css/style_gitbook.css
+++ b/css/style_gitbook.css
@@ -34,7 +34,7 @@
 /* Document formatting*/
 body {
   font-family: "Noto Sans", sans-serif; 
-  font-size: 1.5rem;
+ /* font-size: 1.5rem; */
   text-align: justify;
 }
 
@@ -78,10 +78,11 @@ h3 {
     text-align: center;
 }
 
-.book .book-body .page-wrapper .page-inner section.normal a {
+#content a, .book .book-body .page-wrapper .page-inner section.normal a {
     color: #DE633C;
 }
 
+
 /* thinkr.css 
 .container-fluid.main-container {
     margin-top: 80px;
@@ -114,6 +115,9 @@ h1 {
 h2 {
     color: #15b7d6;
 }
+.sidebar h2 {
+    color: black;
+}
 
 /* Footer with logo */
 footer {
diff --git a/gitbook-footer-thinkr.html b/gitbook-footer-thinkr.html
index 2ab998b7..b5ca8efc 100644
--- a/gitbook-footer-thinkr.html
+++ b/gitbook-footer-thinkr.html
@@ -1,6 +1,6 @@
 <hr/>
 <footer>
-<a href="rtask.thinkr.fr"><img src="img/logo400_129.png" alt="ThinkR Website"/></a>
+<a href="https://rtask.thinkr.fr"><img src="img/logo400_129.png" alt="ThinkR Website"/></a>
 <!--https://yihui.org/en/2018/09/target-blank/-->
 <script>
   (function() {
diff --git a/index.Rmd b/index.Rmd
index 0c19eb8b..083efb80 100644
--- a/index.Rmd
+++ b/index.Rmd
@@ -1,6 +1,6 @@
 --- 
 title: "Engineering Production-Grade Shiny Apps"
-author: "Colin Fay, Sébastien Rochette, Vincent Guyader, Cervan Girard"
+author: ["Colin Fay", "Sébastien Rochette", "Vincent Guyader", "Cervan Girard"]
 date: "`r Sys.Date()`"
 documentclass: krantz
 lof: yes
@@ -13,7 +13,7 @@ colorlinks: yes
 site: bookdown::bookdown_site
 description: "A book about engineering shiny application that will later be sent to production. This book cover project management, structuring your project, building a solid testing suite, and optimizing your codebase. We describe in this book a specific workflow: design, prototype, build, strengthen and deploy."
 favicon: img/favicon.ico
-github-repo: ThinkR-open/building-shiny-apps-workflow
+github-repo: ThinkR-open/engineering-shiny-book
 graphics: yes
 nocite: '@*'
 cover-image: https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/master/img/engineering-shiny.jpg
@@ -59,14 +59,8 @@ options(width = 55)
 
 # Introduction {-}
 
-<style>
-img.left {
-float: left;
-margin-right: 1em;
-}
-</style>
+<img src="img/engineering-shiny.jpg" width="300" align="right" alt="" class="cover" /> Welcome to "Engineering Production-Grade Shiny Apps" by [Colin Fay](https://colinfay.me/), [Sébastien Rochette](statnmap.com), [Vincent Guyader](https://rtask.thinkr.fr/consultants-r-experts/vincent-guyader/) and [Cervan Girard](https://rtask.thinkr.fr/consultants-r-experts/cervan-girard).
 
-<img src="img/engineering-shiny.jpg" class = "left" width = "300px">
 
 `r if (knitr::is_html_output()) '
 This book will soon be available in print, published in the [R Series](https://www.crcpress.com/go/the-r-series) by Chapman & Hall.
@@ -225,7 +219,7 @@ means that the package will be installed from GitHub, and that you can use the `
 ## Want to help? {-}
 
 Any feedback on the book is very welcome. 
-Feel free to [open an issue](https://github.com/ThinkR-open/building-shiny-apps-workflow/issues), or to make a Pull Request if you spot a typo.
+Feel free to [open an issue](https://github.com/ThinkR-open/engineering-shiny-book/issues), or to make a Pull Request if you spot a typo.
 
 
 ## Other resources {-}
@@ -247,7 +241,7 @@ You can also find more resources in the bibliography.
 + [Shiny in production: Principles, practices, and tools](https://resources.rstudio.com/rstudio-conf-2019/shiny-in-production-principles-practices-and-tools-joe-cheng)
 + [Shiny in Production](https://kellobri.github.io/shiny-prod-book/)
 
-Feel free to [suggest a resource](https://github.com/ThinkR-open/building-shiny-apps-workflow/issues)!
+Feel free to [suggest a resource](https://github.com/ThinkR-open/engineering-shiny-book/issues)!
 
 ## Acknowledgments {-}
 
diff --git a/prep.R b/prep.R
index 4e2f30c9..16a6ef54 100644
--- a/prep.R
+++ b/prep.R
@@ -1,5 +1,8 @@
 # To do locally on Colin's computer, thanks
 options(repos = c(REPO_NAME = "https://packagemanager.rstudio.com/all/latest"))
+renv::install("r-lib/fastmap")
+renv::install("rstudio/htmltools")
+renv::install("bookdown")
 renv::restore()
 remotes::install_local(Ncpus = 4, upgrade = "never", force = TRUE)
 if (!file.exists("packages.bib")){
diff --git a/renv.lock b/renv.lock
index 2985d57e..28a02fc7 100644
--- a/renv.lock
+++ b/renv.lock
@@ -1,6 +1,6 @@
 {
   "R": {
-    "Version": "3.6.1",
+    "Version": "4.1.1",
     "Repositories": [
       {
         "Name": "REPO_NAME",
@@ -9,14 +9,14 @@
     ]
   },
   "Bioconductor": {
-    "Version": "3.10"
+    "Version": "3.13"
   },
   "Packages": {
     "AsioHeaders": {
       "Package": "AsioHeaders",
       "Version": "1.12.2-1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "a631d045d5d2cf9bc01421b9f6a25abc"
     },
     "BH": {
@@ -30,70 +30,70 @@
       "Package": "BiocManager",
       "Version": "1.30.10",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "db75371846625725e221470b310da1d5"
     },
     "DBI": {
       "Package": "DBI",
       "Version": "1.1.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "4744be45519d675af66c28478720fce5"
     },
     "DT": {
       "Package": "DT",
       "Version": "0.15",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "85738c69035e67ec4b484a5e02640ef6"
     },
     "KernSmooth": {
       "Package": "KernSmooth",
       "Version": "2.23-17",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "bbff70c8c0357b5b88238c83f680fcd3"
     },
     "MASS": {
       "Package": "MASS",
       "Version": "7.3-51.6",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "1dad32ac9dbd8057167b2979fb932ff7"
     },
     "Matrix": {
       "Package": "Matrix",
       "Version": "1.2-18",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "08588806cba69f04797dab50627428ed"
     },
     "R.cache": {
       "Package": "R.cache",
       "Version": "0.14.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "1ca02d43e1a4d49e616bd23bb39b17e6"
     },
     "R.methodsS3": {
       "Package": "R.methodsS3",
       "Version": "1.8.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "23822a838096ceb132e5041c9a68c3ef"
     },
     "R.oo": {
       "Package": "R.oo",
       "Version": "1.23.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "6be65e89d25f79fb4d147d65e19601e8"
     },
     "R.utils": {
       "Package": "R.utils",
       "Version": "2.9.2",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "63cdbbf467a00d0ed2aa3391f4918d6e"
     },
     "R6": {
@@ -114,7 +114,7 @@
       "Package": "RSQLite",
       "Version": "2.2.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "2e813101e637bfd423f763d20350ed3d"
     },
     "Rcpp": {
@@ -128,7 +128,7 @@
       "Package": "RcppSimdJson",
       "Version": "0.1.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "e87e7a3d4b9785c3f2e110756ec1d0d4"
     },
     "askpass": {
@@ -149,7 +149,7 @@
       "Package": "attachment",
       "Version": "0.1.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "9f87673bfca2344df71186f5e41be796"
     },
     "attempt": {
@@ -163,21 +163,33 @@
       "Package": "backports",
       "Version": "1.2.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "fb0efa7042b45dac543dd3995a6dac0b"
     },
+    "bank": {
+      "Package": "bank",
+      "Version": "0.0.0.9000",
+      "Source": "GitHub",
+      "RemoteType": "github",
+      "RemoteHost": "api.github.com",
+      "RemoteRepo": "bank",
+      "RemoteUsername": "thinkr-open",
+      "RemoteRef": "HEAD",
+      "RemoteSha": "f708655388d51d3b1a3cb8ecd2cc3172414e49b7",
+      "Hash": "17671d59443d27ceae9a6cda621be174"
+    },
     "base64enc": {
       "Package": "base64enc",
       "Version": "0.1-3",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "543776ae6848fde2f48ff3816d0628bc"
     },
     "beeswarm": {
       "Package": "beeswarm",
       "Version": "0.2.3",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "dc538ec663e38888807ef3034489403d"
     },
     "bench": {
@@ -196,14 +208,14 @@
       "Package": "bit",
       "Version": "1.1-15.2",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "eb6c52d8cc44463085a4cde1c63df163"
     },
     "bit64": {
       "Package": "bit64",
       "Version": "0.9-7",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "3338d4a9b1352f5a613e2bdcefe784ea"
     },
     "blob": {
@@ -215,10 +227,10 @@
     },
     "bookdown": {
       "Package": "bookdown",
-      "Version": "0.18",
+      "Version": "0.24",
       "Source": "Repository",
-      "Repository": "CRAN",
-      "Hash": "72e9c52caf3f7aacb4e368b75f6ec72a"
+      "Repository": "RSPM",
+      "Hash": "3837766a1e1b527af25fa3e2d12a2800"
     },
     "brew": {
       "Package": "brew",
@@ -231,23 +243,30 @@
       "Package": "brio",
       "Version": "1.1.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "570a24963009b9cce0869a0463c83580"
     },
     "broom": {
       "Package": "broom",
       "Version": "0.7.2",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "b00000a87b8a4a1e8a8fc413c1dbad03"
     },
     "bs4Dash": {
       "Package": "bs4Dash",
       "Version": "0.5.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "9f36dfae17465b995101258e4016e8f8"
     },
+    "bslib": {
+      "Package": "bslib",
+      "Version": "0.3.0",
+      "Source": "Repository",
+      "Repository": "RSPM",
+      "Hash": "074ebc936dbcecd7115ed8083643b550"
+    },
     "bubble": {
       "Package": "bubble",
       "Version": "0.0.0.9003",
@@ -264,14 +283,14 @@
       "Package": "callr",
       "Version": "3.5.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "b7d7f1e926dfcd57c74ce93f5c048e80"
     },
     "cellranger": {
       "Package": "cellranger",
       "Version": "1.1.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "f61dbaec772ccd2e17705c1e872e9e7c"
     },
     "charlatan": {
@@ -302,14 +321,14 @@
       "Package": "cicerone",
       "Version": "1.0.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "9c24ab6daafa8887d50359d18a5a172d"
     },
     "class": {
       "Package": "class",
       "Version": "7.3-17",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "9267f5dab59a4ef44229858a142bded1"
     },
     "classInt": {
@@ -321,23 +340,23 @@
     },
     "cli": {
       "Package": "cli",
-      "Version": "2.2.0",
+      "Version": "3.0.1",
       "Source": "Repository",
       "Repository": "RSPM",
-      "Hash": "3ef298932294b775fa0a3eeaa3a645b0"
+      "Hash": "e3ae5d68dea0c55a12ea12a9fda02e61"
     },
     "clipr": {
       "Package": "clipr",
       "Version": "0.7.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "08cf4045c149a0f0eaf405324c7495bd"
     },
     "clisymbols": {
       "Package": "clisymbols",
       "Version": "1.2.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "96c01552bfd5661b9bbdefbc762f4bcd"
     },
     "cloc": {
@@ -356,7 +375,7 @@
       "Package": "codetools",
       "Version": "0.2-16",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "89cf4b8207269ccf82fbeb6473fd662b"
     },
     "colorspace": {
@@ -370,7 +389,7 @@
       "Package": "colourvalues",
       "Version": "0.3.5",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "eec3f6df8e50ddc32365012bff8c00f0"
     },
     "commonmark": {
@@ -384,14 +403,14 @@
       "Package": "config",
       "Version": "0.3",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "76268942467fa8ba171e9aa34203ee2a"
     },
     "covr": {
       "Package": "covr",
       "Version": "3.5.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "cbc6df1ef6ee576f844f973c1fc04ab4"
     },
     "covrpage": {
@@ -429,7 +448,7 @@
       "Package": "crosstalk",
       "Version": "1.1.0.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "ae55f5d7c02f0ab43c58dd050694f2b4"
     },
     "crrri": {
@@ -448,14 +467,14 @@
       "Package": "crrry",
       "Version": "0.0.0.9001",
       "Source": "GitHub",
-      "Remotes": "rlesur/crrri",
       "RemoteType": "github",
+      "Remotes": "rlesur/crrri",
       "RemoteHost": "api.github.com",
       "RemoteRepo": "crrry",
       "RemoteUsername": "colinfay",
       "RemoteRef": "HEAD",
       "RemoteSha": "cb56e7656ec0d231c2aeccba5bf66180c33ccb50",
-      "Hash": "bc815d7766e5751b6aaeaf2c37d9e6ca"
+      "Hash": "94ebfc10a9cf2e0467221d0363111fdb"
     },
     "curl": {
       "Package": "curl",
@@ -468,28 +487,28 @@
       "Package": "cyclocomp",
       "Version": "1.1.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "53cbed70a2f7472d48fb6aef08442f25"
     },
     "data.table": {
       "Package": "data.table",
       "Version": "1.12.8",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "cd711af60c47207a776213a368626369"
     },
     "dbplyr": {
       "Package": "dbplyr",
       "Version": "1.4.3",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "81ae261735c247d9551126462db5a4b5"
     },
     "dccvalidator": {
       "Package": "dccvalidator",
       "Version": "0.2.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "62f5331dd73221a08f287d3703534ee3"
     },
     "debugme": {
@@ -510,7 +529,7 @@
       "Package": "devtools",
       "Version": "2.3.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "d55dae3aa077e25128115a81e974f318"
     },
     "dichromat": {
@@ -524,14 +543,14 @@
       "Package": "diffobj",
       "Version": "0.2.4",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "17e9db86f01ff49ee4d70877b0997dfb"
     },
     "digest": {
       "Package": "digest",
       "Version": "0.6.27",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "a0cbe758a531d054b537d16dff4d58a1"
     },
     "dockerfiler": {
@@ -553,6 +572,13 @@
       "RemoteSha": "2f15876a10c51d80918ab06df318c111202927b9",
       "Hash": "e29b06f2666893df3a068059a19d1cb2"
     },
+    "downlit": {
+      "Package": "downlit",
+      "Version": "0.2.1",
+      "Source": "Repository",
+      "Repository": "CRAN",
+      "Hash": "f24f1e44320a978c03050b8403a83793"
+    },
     "dplyr": {
       "Package": "dplyr",
       "Version": "1.0.2",
@@ -571,7 +597,7 @@
       "Package": "e1071",
       "Version": "1.7-3",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "728e85416ffc90743054c1ac04486d69"
     },
     "ellipsis": {
@@ -585,7 +611,7 @@
       "Package": "evaluate",
       "Version": "0.14",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "ec8ca05cffcc70569eaaad8469d2a3a7"
     },
     "fakir": {
@@ -616,35 +642,30 @@
     },
     "fastmap": {
       "Package": "fastmap",
-      "Version": "1.0.1",
-      "Source": "GitHub",
-      "RemoteType": "github",
-      "RemoteHost": "api.github.com",
-      "RemoteRepo": "fastmap",
-      "RemoteUsername": "r-lib",
-      "RemoteRef": "master",
-      "RemoteSha": "e7bd985fe44815259c84657b5e5cef2915c2efeb",
-      "Hash": "533af0685c97d7a7152116593495ef8b"
+      "Version": "1.1.0",
+      "Source": "Repository",
+      "Repository": "CRAN",
+      "Hash": "77bd60a6157420d4ffa93b27cf6a58b8"
     },
     "forcats": {
       "Package": "forcats",
       "Version": "0.5.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "1cb4279e697650f0bd78cd3601ee7576"
     },
     "foreign": {
       "Package": "foreign",
       "Version": "0.8-76",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "649b9c7a979d50d869578c73fed072cd"
     },
     "fs": {
       "Package": "fs",
       "Version": "1.4.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "780713bd2f53156fae001443dcdbdcd5"
     },
     "fullPage": {
@@ -663,7 +684,7 @@
       "Package": "future",
       "Version": "1.17.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "71c119f236429d7b19fd29229b013cba"
     },
     "gargoyle": {
@@ -682,7 +703,7 @@
       "Package": "gdtools",
       "Version": "0.2.2",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "38f4026c0d09edb3a4474685cef68342"
     },
     "generics": {
@@ -696,62 +717,63 @@
       "Package": "geojsonsf",
       "Version": "1.3.3",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "22149e0e0ea1cb4725b15d05ee6ed01f"
     },
     "getPass": {
       "Package": "getPass",
       "Version": "0.2-2",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "07a91f99e56951818ab911366db77700"
     },
     "ggbeeswarm": {
       "Package": "ggbeeswarm",
       "Version": "0.6.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "dd68b9b215b2d3119603549a794003c3"
     },
     "ggimage": {
       "Package": "ggimage",
       "Version": "0.2.8",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "7237b654c1fb1fc33cab107cebd7398f"
     },
     "ggplot2": {
       "Package": "ggplot2",
       "Version": "3.3.5",
       "Source": "Repository",
-      "Repository": "CRAN"
+      "Repository": "CRAN",
+      "Hash": "d7566c471c7b17e095dd023b9ef155ad"
     },
     "ggplotify": {
       "Package": "ggplotify",
       "Version": "0.0.5",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "01f6ad9ce2c4a474974dac7482e4c19f"
     },
     "gh": {
       "Package": "gh",
       "Version": "1.1.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "89ea5998938d1ad55f035c8a86f96b74"
     },
     "git2r": {
       "Package": "git2r",
       "Version": "0.27.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "531a82d1beed1f545beb25f4f5945bf7"
     },
     "globals": {
       "Package": "globals",
       "Version": "0.12.5",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "e9e529fb7a579ad4b4ff65e052e76ed8"
     },
     "glouton": {
@@ -770,7 +792,7 @@
       "Package": "glue",
       "Version": "1.4.2",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "6efd734b14c6471cfe443345f3e35e29"
     },
     "golem": {
@@ -808,7 +830,7 @@
       "Package": "gridGraphics",
       "Version": "0.5-0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "83c2c0812de7b6e04c2ff471b4d7f920"
     },
     "gtable": {
@@ -822,36 +844,36 @@
       "Package": "haven",
       "Version": "2.2.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "e3f662e125e9fdffd1ee4e94baea3451"
     },
     "here": {
       "Package": "here",
       "Version": "0.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "2c0406b8e0a4c3516ab37be62da74e3c"
     },
     "hexSticker": {
       "Package": "hexSticker",
       "Version": "0.4.6",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "f22506e59e7e6647417ffe2e77c156ea"
     },
     "hexbin": {
       "Package": "hexbin",
       "Version": "1.28.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "3d59212f2814d65dff517e6899813c58"
     },
     "hexmake": {
       "Package": "hexmake",
       "Version": "0.1.3",
       "Source": "GitHub",
-      "Remotes": "JohnCoene/cicerone",
       "RemoteType": "github",
+      "Remotes": "JohnCoene/cicerone",
       "RemoteHost": "api.github.com",
       "RemoteRepo": "hexmake",
       "RemoteUsername": "colinfay",
@@ -863,7 +885,7 @@
       "Package": "highr",
       "Version": "0.8",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "4dc5bb88961e347a0f4d8aad597cbfac"
     },
     "hms": {
@@ -875,21 +897,16 @@
     },
     "htmltools": {
       "Package": "htmltools",
-      "Version": "0.5.0.9002",
-      "Source": "GitHub",
-      "RemoteType": "github",
-      "RemoteHost": "api.github.com",
-      "RemoteRepo": "htmltools",
-      "RemoteUsername": "rstudio",
-      "RemoteRef": "HEAD",
-      "RemoteSha": "07412132fc3a621493b9a89b9f95c1b6a2d1fb95",
-      "Hash": "9b2aade69c2d27653525dc925eb4df37"
+      "Version": "0.5.2",
+      "Source": "Repository",
+      "Repository": "RSPM",
+      "Hash": "526c484233f42522278ab06fb185cb26"
     },
     "htmlwidgets": {
       "Package": "htmlwidgets",
       "Version": "1.5.2",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "0aaf56b7960bb066646e1868cadcaf07"
     },
     "httpuv": {
@@ -903,35 +920,42 @@
       "Package": "httr",
       "Version": "1.4.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "7146fea4685b4252ebf478978c75f597"
     },
     "hunspell": {
       "Package": "hunspell",
       "Version": "3.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "71e7853d60b6b4ba891d62ede21752e9"
     },
     "ini": {
       "Package": "ini",
       "Version": "0.3.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "6154ec2223172bce8162d4153cda21f7"
     },
     "isoband": {
       "Package": "isoband",
       "Version": "0.2.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "9b2f7cf1899f583a36d367702ecf49a3"
     },
+    "jquerylib": {
+      "Package": "jquerylib",
+      "Version": "0.1.4",
+      "Source": "Repository",
+      "Repository": "RSPM",
+      "Hash": "5aab57a3bd297eee1c1d862735972182"
+    },
     "jsonify": {
       "Package": "jsonify",
       "Version": "1.1.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "5b6d70fc92e471ba0d10f9cb6f4ce19a"
     },
     "jsonlite": {
@@ -943,10 +967,10 @@
     },
     "knitr": {
       "Package": "knitr",
-      "Version": "1.30",
+      "Version": "1.34",
       "Source": "Repository",
-      "Repository": "CRAN",
-      "Hash": "eed7ee0d02eee88d53881cdc92457c62"
+      "Repository": "RSPM",
+      "Hash": "aa958054ac6f0360926bb952ea302f0f"
     },
     "labeling": {
       "Package": "labeling",
@@ -966,7 +990,7 @@
       "Package": "lattice",
       "Version": "0.20-41",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "fbd9285028b0263d76d18c95ae51a53d"
     },
     "lazyeval": {
@@ -992,7 +1016,7 @@
       "Package": "lintr",
       "Version": "2.0.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "023cecbdc0a32f86ad3cb1734c018d2e"
     },
     "listenv": {
@@ -1018,14 +1042,14 @@
       "Package": "lubridate",
       "Version": "1.7.8",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "6c04c31012c1be39783bebbbfc27b3a3"
     },
     "magick": {
       "Package": "magick",
       "Version": "2.3",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "c84d4acbc7da7638dbd0076d5b069330"
     },
     "magrittr": {
@@ -1046,7 +1070,7 @@
       "Package": "matlab",
       "Version": "1.0.2",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "7e17d4b237b82050ed00dedd121f439c"
     },
     "memoise": {
@@ -1065,7 +1089,7 @@
       "Package": "mgcv",
       "Version": "1.8-31",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "4bb7e0c4f3557583e1e8d3c9ffb8ba5c"
     },
     "mime": {
@@ -1098,14 +1122,14 @@
       "Package": "modelr",
       "Version": "0.1.7",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "5a10316936c16bb3b341f687c9ac0fff"
     },
     "mongolite": {
       "Package": "mongolite",
       "Version": "2.2.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "9c67ac4d839defc4217022876a10fc7a"
     },
     "munsell": {
@@ -1119,7 +1143,7 @@
       "Package": "namer",
       "Version": "0.1.5",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "21dcaa2b67617940705163ef5ded3708"
     },
     "nessy": {
@@ -1138,22 +1162,22 @@
       "Package": "nlme",
       "Version": "3.1-147",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "dd4a1423f1472a2a8e05dd2c8945c3af"
     },
     "openssl": {
       "Package": "openssl",
       "Version": "1.4.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "49f7258fd86ebeaea1df24d9ded00478"
     },
     "packageMetrics2": {
       "Package": "packageMetrics2",
       "Version": "1.0.1.9000",
       "Source": "GitHub",
-      "Remotes": "MangoTheCat/callr, MangoTheCat/goodpractice,\nMangoTheCat/remotes",
       "RemoteType": "github",
+      "Remotes": "MangoTheCat/callr, MangoTheCat/goodpractice, MangoTheCat/remotes",
       "RemoteHost": "api.github.com",
       "RemoteRepo": "packageMetrics2",
       "RemoteUsername": "mangothecat",
@@ -1165,42 +1189,42 @@
       "Package": "packrat",
       "Version": "0.5.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "2ebd34a38f4248281096cc723535b66d"
     },
     "pagedown": {
       "Package": "pagedown",
       "Version": "0.10",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "3bd736602cd52200b958e6d06c077fe1"
     },
     "parsedate": {
       "Package": "parsedate",
       "Version": "1.2.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "9ab1426429ad716b42088a0fd8e909ee"
     },
     "pillar": {
       "Package": "pillar",
       "Version": "1.4.4",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "b01d2494d0e2b6b02fae40e1543fbcb0"
     },
     "pingr": {
       "Package": "pingr",
       "Version": "2.0.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "b5199dfece367f035f51a985b7a11cb3"
     },
     "pkgbuild": {
       "Package": "pkgbuild",
       "Version": "1.0.8",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "8d8b5e29223aabb829246397299f0592"
     },
     "pkgconfig": {
@@ -1221,14 +1245,14 @@
       "Package": "plogr",
       "Version": "0.2.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "09eb987710984fc2905c7129c7d85e65"
     },
     "plotly": {
       "Package": "plotly",
       "Version": "4.9.2.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "b08edf378e0e38959a6983e3d5902795"
     },
     "png": {
@@ -1263,14 +1287,14 @@
       "Package": "profmem",
       "Version": "0.5.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "2837ca8769773fc0f4a0af8ce015d348"
     },
     "profvis": {
       "Package": "profvis",
       "Version": "0.3.6",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "61d3d30ce122b6e55460a849d263e496"
     },
     "progress": {
@@ -1291,7 +1315,7 @@
       "Package": "ps",
       "Version": "1.4.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "f5d7d94cc097aa9dade988e3e6715067"
     },
     "purrr": {
@@ -1312,7 +1336,7 @@
       "Package": "rappdirs",
       "Version": "0.3.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "8c8298583adbbe76f3c2220eef71bebc"
     },
     "rcmdcheck": {
@@ -1326,35 +1350,35 @@
       "Package": "reactR",
       "Version": "0.4.2",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "5818303f1c8bd90daff8ff8c97c780d1"
     },
     "reactable": {
       "Package": "reactable",
       "Version": "0.1.0.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "d9162cd2c6170ed505b7b87b23d48e20"
     },
     "readr": {
       "Package": "readr",
       "Version": "1.3.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "af8ab99cd936773a148963905736907b"
     },
     "readxl": {
       "Package": "readxl",
       "Version": "1.3.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "63537c483c2dbec8d9e3183b3735254a"
     },
     "rematch": {
       "Package": "rematch",
       "Version": "1.0.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "c66b930d20bb6d858cd18e1cebcfae5c"
     },
     "rematch2": {
@@ -1382,14 +1406,14 @@
       "Package": "repr",
       "Version": "1.1.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "466aee1b69232becb73769daa894c171"
     },
     "reprex": {
       "Package": "reprex",
       "Version": "0.3.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "b06bfb3504cc8a4579fd5567646f745b"
     },
     "resume": {
@@ -1408,7 +1432,7 @@
       "Package": "reticulate",
       "Version": "1.16",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "5db95d35ae4605b46cea66b6e3bcab3e"
     },
     "rex": {
@@ -1422,35 +1446,42 @@
       "Package": "rhub",
       "Version": "1.1.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "977cce19c029acc6d88a1c861f224819"
     },
+    "rlang": {
+      "Package": "rlang",
+      "Version": "0.4.11",
+      "Source": "Repository",
+      "Repository": "RSPM",
+      "Hash": "515f341d3affe0de9e4a7f762efb0456"
+    },
     "rmarkdown": {
       "Package": "rmarkdown",
-      "Version": "2.5",
+      "Version": "2.11",
       "Source": "Repository",
-      "Repository": "CRAN",
-      "Hash": "20a0a94af9e8f7040510447763aab3e9"
+      "Repository": "RSPM",
+      "Hash": "320017b52d05a943981272b295750388"
     },
     "roxygen2": {
       "Package": "roxygen2",
       "Version": "7.1.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "f173062c04dc8e91d7376d914df6efee"
     },
     "rprojroot": {
       "Package": "rprojroot",
       "Version": "1.3-2",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "f6a407ae5dd21f6f80a6708bbb6eb3ae"
     },
     "rsconnect": {
       "Package": "rsconnect",
       "Version": "0.8.16",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "3924a1c20ce2479e89a08b0ca4c936c6"
     },
     "rstudioapi": {
@@ -1464,42 +1495,49 @@
       "Package": "rvcheck",
       "Version": "0.1.8",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "11ebf2d3d4990e8bb9f28d5ab0c204fc"
     },
     "rversions": {
       "Package": "rversions",
       "Version": "2.0.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "2aa84e83767ba93ee6415b439fa981d2"
     },
     "rvest": {
       "Package": "rvest",
       "Version": "0.3.5",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "6a20c2cdf133ebc7ac45888c9ccc052b"
     },
+    "sass": {
+      "Package": "sass",
+      "Version": "0.4.0",
+      "Source": "Repository",
+      "Repository": "RSPM",
+      "Hash": "50cf822feb64bb3977bda0b7091be623"
+    },
     "scales": {
       "Package": "scales",
       "Version": "1.1.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "a1c68369c629ea3188d0676e37069c65"
     },
     "selectr": {
       "Package": "selectr",
       "Version": "0.4-2",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "3838071b66e0c566d55cc26bd6e27bf4"
     },
     "servr": {
       "Package": "servr",
       "Version": "0.20",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "c98fc352524de67e12886775ba99081f"
     },
     "sessioninfo": {
@@ -1513,21 +1551,21 @@
       "Package": "sever",
       "Version": "0.0.4",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "bcaf31f5974c527e3474021e5e3d3895"
     },
     "sf": {
       "Package": "sf",
       "Version": "0.9-3",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "f16ad0ac903df6727dbfb2e30eafcc26"
     },
     "sfheaders": {
       "Package": "sfheaders",
       "Version": "0.2.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "0daf332f569bde82b56326eb9e545cc8"
     },
     "shinipsum": {
@@ -1541,91 +1579,91 @@
       "Package": "shiny",
       "Version": "1.5.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "ee4ed72d7a5047d9e73cf922ad66e9c9"
     },
     "shinyBS": {
       "Package": "shinyBS",
       "Version": "0.61",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "f895dafd39733c4a70d425f605a832e7"
     },
     "shinyFeedback": {
       "Package": "shinyFeedback",
       "Version": "0.2.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "fea371188ee6323f6994fa69b47c51a1"
     },
     "shinyMobile": {
       "Package": "shinyMobile",
       "Version": "0.1.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "47e2d613d12a48b12cf89548c737c747"
     },
     "shinyalert": {
       "Package": "shinyalert",
       "Version": "1.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "9fdadeb9ff341144e7cd4e7d27068eab"
     },
     "shinydashboard": {
       "Package": "shinydashboard",
       "Version": "0.7.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "133639dc106955eee4ffb8ec73edac37"
     },
     "shinydashboardPlus": {
       "Package": "shinydashboardPlus",
       "Version": "0.7.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "7e3b01c98e487d003d7e189ceb8317cd"
     },
     "shinyjs": {
       "Package": "shinyjs",
       "Version": "1.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "b40a5207b6624f6e2b8cdb50689cdb69"
     },
     "shinyloadtest": {
       "Package": "shinyloadtest",
       "Version": "1.0.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "5eadb4e78ce2da545ffe29ac4770f90e"
     },
     "shinytest": {
       "Package": "shinytest",
       "Version": "1.3.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "990715e35396c43714346cdd30359c3e"
     },
     "showimage": {
       "Package": "showimage",
       "Version": "1.0.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "841927b226db842d24d9c288c99ed27b"
     },
     "showtext": {
       "Package": "showtext",
       "Version": "0.7-1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "5108601787f5fe0a41feecf8cdb04387"
     },
     "showtextdb": {
       "Package": "showtextdb",
       "Version": "2.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "8e0df803ddce30dddcec4c4c09af8676"
     },
     "skeleton": {
@@ -1644,7 +1682,7 @@
       "Package": "skimr",
       "Version": "2.1.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "fa365cc94b8d11fd241dcc6bb5e03500"
     },
     "snippr": {
@@ -1670,28 +1708,28 @@
       "Package": "spelling",
       "Version": "2.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "b3a5ecc3351f41eb30ef87f65cbff390"
     },
     "stringi": {
       "Package": "stringi",
       "Version": "1.5.3",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "a063ebea753c92910a4cca7b18bc1f05"
     },
     "stringr": {
       "Package": "stringr",
       "Version": "1.4.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "0759e6b6c0957edb1311028a49a35e76"
     },
     "styler": {
       "Package": "styler",
       "Version": "1.3.2",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "60b23effde8d08a56a64ebeb92a32749"
     },
     "subprocess": {
@@ -1710,50 +1748,57 @@
       "Package": "svglite",
       "Version": "1.2.3",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "ed61a9516ba30e7ebe72855931007255"
     },
     "sys": {
       "Package": "sys",
       "Version": "3.3",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "507f3116a38d37ad330a038b3be07b66"
     },
     "sysfonts": {
       "Package": "sysfonts",
       "Version": "0.8",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "dcae252f838195aaae0c5ac1b27a7545"
     },
     "systemfonts": {
       "Package": "systemfonts",
       "Version": "0.2.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "b9cbe1031f93e8d06e36a330705c654f"
     },
     "testthat": {
       "Package": "testthat",
       "Version": "3.0.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "13298cedd051cb7b8a8972d380b559a6"
     },
     "tibble": {
       "Package": "tibble",
       "Version": "3.0.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "1c61e4cad000e03b1bd687db16a75926"
     },
+    "tictoc": {
+      "Package": "tictoc",
+      "Version": "1.0.1",
+      "Source": "Repository",
+      "Repository": "RSPM",
+      "Hash": "5acb66b0266ad1f0ebf7ffe1aa36ff4c"
+    },
     "tidymodules": {
       "Package": "tidymodules",
       "Version": "0.1.1",
       "Source": "GitHub",
-      "Remotes": "dgrtwo/snippr@29c1813",
       "RemoteType": "github",
+      "Remotes": "dgrtwo/snippr@29c1813",
       "RemoteHost": "api.github.com",
       "RemoteRepo": "tidymodules",
       "RemoteUsername": "Novartis",
@@ -1765,7 +1810,7 @@
       "Package": "tidyr",
       "Version": "1.0.3",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "df860e8e4e1a1b454f18537c8bc96211"
     },
     "tidyselect": {
@@ -1791,35 +1836,35 @@
       "Package": "tidyverse",
       "Version": "1.3.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "bd51be662f359fa99021f3d51e911490"
     },
     "tinytex": {
       "Package": "tinytex",
-      "Version": "0.27",
+      "Version": "0.33",
       "Source": "Repository",
-      "Repository": "CRAN",
-      "Hash": "264b4a31d35bb6833566a7763356ab63"
+      "Repository": "RSPM",
+      "Hash": "6e0ad90ac5669e35d5456cb61b295acb"
     },
     "tufte": {
       "Package": "tufte",
       "Version": "0.7",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "95767e628eb2fe3eaba2423a7271bef2"
     },
     "units": {
       "Package": "units",
       "Version": "0.6-6",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "687aa5dfc4ec01ad4da86862a7e6a05b"
     },
     "usethis": {
       "Package": "usethis",
       "Version": "1.6.3",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "c541a7aed5f7fb3b487406bf92842e34"
     },
     "utf8": {
@@ -1833,7 +1878,7 @@
       "Package": "uuid",
       "Version": "0.1-4",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "e4169eb989a5d03ccb6b628cad1b1b50"
     },
     "vctrs": {
@@ -1847,14 +1892,14 @@
       "Package": "vipor",
       "Version": "0.4.5",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "ea85683da7f2bfa63a98dc6416892591"
     },
     "viridis": {
       "Package": "viridis",
       "Version": "0.5.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "6f6b49e5b3b5ee5a6d0c28bf1b4b9eb3"
     },
     "viridisLite": {
@@ -1875,28 +1920,28 @@
       "Package": "visdat",
       "Version": "0.5.3",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "f62b960320b18fdffb2f0f76bb65dbaf"
     },
     "vroom": {
       "Package": "vroom",
       "Version": "1.2.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "0be0ae21e53285ae782143a076098fce"
     },
     "waldo": {
       "Package": "waldo",
       "Version": "0.2.2",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "6aa53cb78ef07cfcd7bcee7435f1d1f5"
     },
     "webdriver": {
       "Package": "webdriver",
       "Version": "1.0.5",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "966f2cee50cf95fdbce9c395187b2baf"
     },
     "websocket": {
@@ -1915,36 +1960,36 @@
       "Package": "whereami",
       "Version": "0.1.9",
       "Source": "Repository",
-      "Repository": null,
+      "Repository": "RSPM",
       "Hash": "c06f41941f905d192241f1d4ed17d58b"
     },
     "whisker": {
       "Package": "whisker",
       "Version": "0.4",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "ca970b96d894e90397ed20637a0c1bbe"
     },
     "whoami": {
       "Package": "whoami",
       "Version": "1.3.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "ef0f4d9b8f2cc2ebeccae1d725b8a023"
     },
     "withr": {
       "Package": "withr",
       "Version": "2.3.0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "7307d79f58d1885b38c4f4f1a8cb19dd"
     },
     "xfun": {
       "Package": "xfun",
-      "Version": "0.19",
+      "Version": "0.26",
       "Source": "Repository",
-      "Repository": "CRAN",
-      "Hash": "a42372606cb76f34da9d090326e9f955"
+      "Repository": "RSPM",
+      "Hash": "a270216f7ffda25e53298293046d1d05"
     },
     "xml2": {
       "Package": "xml2",
@@ -1957,7 +2002,7 @@
       "Package": "xmlparsedata",
       "Version": "1.0.3",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "90d3cba62daa9f1e5313afef106f719d"
     },
     "xopen": {
@@ -1978,28 +2023,28 @@
       "Package": "xts",
       "Version": "0.12-0",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "cae1f4b14c523f62b61276fb3962d4fb"
     },
     "yaml": {
       "Package": "yaml",
       "Version": "2.2.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "2826c5d9efb0a88f657c7a679c7106db"
     },
     "yesno": {
       "Package": "yesno",
       "Version": "0.1.1",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "032488bc948da5912c0844706e76a653"
     },
     "zoo": {
       "Package": "zoo",
       "Version": "1.8-8",
       "Source": "Repository",
-      "Repository": "CRAN",
+      "Repository": "RSPM",
       "Hash": "c2ea03282caa1f6972dc84fc5bf671cc"
     }
   }

From 91293d362765a11db437175555b7fb45e3b8bcbf Mon Sep 17 00:00:00 2001
From: statnmap <sebastien@thinkr.fr>
Date: Sat, 25 Sep 2021 17:51:38 +0200
Subject: [PATCH 2/7] Allow Actions on PR

---
 .github/workflows/build_bookdown_pr.yml | 50 +++++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 .github/workflows/build_bookdown_pr.yml

diff --git a/.github/workflows/build_bookdown_pr.yml b/.github/workflows/build_bookdown_pr.yml
new file mode 100644
index 00000000..8428d732
--- /dev/null
+++ b/.github/workflows/build_bookdown_pr.yml
@@ -0,0 +1,50 @@
+on:
+  pull_request:
+    branches:
+      - master
+
+name: renderbookpr
+
+jobs:
+  bookdown:
+    
+    name: Render-Book
+    
+    runs-on: ubuntu-latest
+    
+    steps:
+      - uses: actions/checkout@v1
+      
+      - uses: r-lib/actions/setup-r@v1
+        with:
+          crayon.enabled: 'FALSE'
+          r-version: '3.6.1'
+          
+      - uses: actions/cache@v1
+        with:
+          path: ~/.local/share/renv
+          key: ${{ runner.os }}-renv-${{ hashFiles('**/renv.lock') }}
+          restore-keys: |
+            ${{ runner.os }}-renv-
+          
+      - uses: r-lib/actions/setup-pandoc@v1
+      
+      - name: Install tinytex
+        uses: r-lib/actions/setup-tinytex@master
+      
+      - name: Install sysreq
+        run: sudo apt update && sudo apt install -y gdal-bin git-core libcairo2-dev libgdal-dev libgeos-dev libgeos++-dev libgit2-dev libpng-dev libssh2-1-dev libssl-dev libudunits2-dev libxml2-dev make pandoc pandoc-citeproc zlib1g-dev libmagick++-dev libssl-dev libsasl2-dev
+        
+      - name: Pulling hexmake
+        run: docker pull colinfay/hexmake
+        
+      - uses: nanasess/setup-chromedriver@master
+
+      - name: Install rmarkdown, bookdown and sysfonts
+        run: Rscript -e 'install.packages(c("sysfonts", "rmarkdown","bookdown"), Ncpus = 4)'
+
+      - name: Before build
+        run: Rscript prep.R
+          
+      - name: Render Book
+        run: Rscript -e 'bookdown::render_book("index.Rmd")'

From ae5b7442e341e665a618131cbbd3a76315d6be53 Mon Sep 17 00:00:00 2001
From: statnmap <sebastien@thinkr.fr>
Date: Sat, 25 Sep 2021 18:10:20 +0200
Subject: [PATCH 3/7] GA artifact and no install_local

---
 .github/workflows/build_bookdown_pr.yml | 5 +++++
 prep.R                                  | 5 +----
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/build_bookdown_pr.yml b/.github/workflows/build_bookdown_pr.yml
index 8428d732..38463a76 100644
--- a/.github/workflows/build_bookdown_pr.yml
+++ b/.github/workflows/build_bookdown_pr.yml
@@ -48,3 +48,8 @@ jobs:
           
       - name: Render Book
         run: Rscript -e 'bookdown::render_book("index.Rmd")'
+        
+      - uses: actions/upload-artifact@v2
+        with:
+          name: _site
+          path: _site/
diff --git a/prep.R b/prep.R
index 16a6ef54..b524bdb6 100644
--- a/prep.R
+++ b/prep.R
@@ -1,10 +1,7 @@
 # To do locally on Colin's computer, thanks
 options(repos = c(REPO_NAME = "https://packagemanager.rstudio.com/all/latest"))
-renv::install("r-lib/fastmap")
-renv::install("rstudio/htmltools")
-renv::install("bookdown")
 renv::restore()
-remotes::install_local(Ncpus = 4, upgrade = "never", force = TRUE)
+# remotes::install_local(Ncpus = 4, upgrade = "never", force = TRUE)
 if (!file.exists("packages.bib")){
   knitr::write_bib(c(
     desc::desc_get_deps()$package

From 4421f398abf872383023c4349d191291927cf1b5 Mon Sep 17 00:00:00 2001
From: statnmap <sebastien@thinkr.fr>
Date: Sat, 25 Sep 2021 23:34:24 +0200
Subject: [PATCH 4/7] golex without deps

---
 01-big-shiny.Rmd | 3 ++-
 DESCRIPTION      | 4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/01-big-shiny.Rmd b/01-big-shiny.Rmd
index 74450984..4cdd1019 100644
--- a/01-big-shiny.Rmd
+++ b/01-big-shiny.Rmd
@@ -346,7 +346,8 @@ While developing your application, the one you will be interested in is `cycloco
 Here is, for example, the cyclomatic complexity of the default golem template (assuming it is located in a `golex/` subdirectory):
 
 ```{r 01-big-shiny-13, include = FALSE}
-remotes::install_local("golex", upgrade = "never")
+# Assume dependencies already installed to avoid GitHub rate limit
+remotes::install_local("golex", upgrade = "never", dependencies = FALSE)
 if (!dir.exists("golex")){
   source("golembuild.R")
 }
diff --git a/DESCRIPTION b/DESCRIPTION
index 5e76fc39..a3f818d1 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -39,7 +39,7 @@ Imports:
     bank (>= 0.0.0.9000),
     bench (>= 1.1.1),
     bs4Dash (>= 0.5.0),
-    bslib,
+    bslib (>= 0.2.5.1),
     bubble (>= 0.0.0.9003),
     chromote (>= 0.0.0.9001),
     cli (>= 2.0.2),
@@ -59,7 +59,7 @@ Imports:
     dichromat (>= 2.0.0),
     dockerfiler (>= 0.1.3),
     dockerstats (>= 0.0.0.9000),
-    downlit,
+    downlit (>= 0.2.1),
     dplyr (>= 1.0.2),
     DT (>= 0.15),
     fakir (>= 0.2.0),

From a7bf6884170de6c982c0e1323b689735c0c8b621 Mon Sep 17 00:00:00 2001
From: statnmap <sebastien@thinkr.fr>
Date: Sat, 25 Sep 2021 23:41:27 +0200
Subject: [PATCH 5/7] put back deps and set github_pat

---
 .github/workflows/build_bookdown_pr.yml | 6 +++++-
 01-big-shiny.Rmd                        | 3 +--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/build_bookdown_pr.yml b/.github/workflows/build_bookdown_pr.yml
index 38463a76..4d9a6825 100644
--- a/.github/workflows/build_bookdown_pr.yml
+++ b/.github/workflows/build_bookdown_pr.yml
@@ -45,10 +45,14 @@ jobs:
 
       - name: Before build
         run: Rscript prep.R
+        env: 
+          GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
           
       - name: Render Book
         run: Rscript -e 'bookdown::render_book("index.Rmd")'
-        
+        env: 
+          GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
+          
       - uses: actions/upload-artifact@v2
         with:
           name: _site
diff --git a/01-big-shiny.Rmd b/01-big-shiny.Rmd
index 4cdd1019..74450984 100644
--- a/01-big-shiny.Rmd
+++ b/01-big-shiny.Rmd
@@ -346,8 +346,7 @@ While developing your application, the one you will be interested in is `cycloco
 Here is, for example, the cyclomatic complexity of the default golem template (assuming it is located in a `golex/` subdirectory):
 
 ```{r 01-big-shiny-13, include = FALSE}
-# Assume dependencies already installed to avoid GitHub rate limit
-remotes::install_local("golex", upgrade = "never", dependencies = FALSE)
+remotes::install_local("golex", upgrade = "never")
 if (!dir.exists("golex")){
   source("golembuild.R")
 }

From 98938a718c86519608bcc02033aa517c96d291b6 Mon Sep 17 00:00:00 2001
From: statnmap <sebastien@thinkr.fr>
Date: Sat, 25 Sep 2021 23:46:09 +0200
Subject: [PATCH 6/7] global env in CI

---
 .github/workflows/build_bookdown_pr.yml | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/build_bookdown_pr.yml b/.github/workflows/build_bookdown_pr.yml
index 4d9a6825..bee0c93a 100644
--- a/.github/workflows/build_bookdown_pr.yml
+++ b/.github/workflows/build_bookdown_pr.yml
@@ -3,6 +3,9 @@ on:
     branches:
       - master
 
+env: 
+  GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
+  
 name: renderbookpr
 
 jobs:
@@ -45,13 +48,9 @@ jobs:
 
       - name: Before build
         run: Rscript prep.R
-        env: 
-          GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
           
       - name: Render Book
         run: Rscript -e 'bookdown::render_book("index.Rmd")'
-        env: 
-          GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
           
       - uses: actions/upload-artifact@v2
         with:

From 9c86853f34a54d59496fa7d1f50e1b5cb4c2002b Mon Sep 17 00:00:00 2001
From: statnmap <sebastien@thinkr.fr>
Date: Sun, 26 Sep 2021 08:31:22 +0200
Subject: [PATCH 7/7] Add Github_pat to deploy_bookdown Action

---
 .github/workflows/deploy_bookdown.yml | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/deploy_bookdown.yml b/.github/workflows/deploy_bookdown.yml
index fc668ede..7ca95b81 100644
--- a/.github/workflows/deploy_bookdown.yml
+++ b/.github/workflows/deploy_bookdown.yml
@@ -3,6 +3,9 @@ on:
      branches:
        - master
 
+env: 
+  GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
+  
 name: renderbook
 
 jobs:
@@ -53,7 +56,7 @@ jobs:
         run: Rscript prep.R
           
       - name: Render Book
-        run: docker pull colinfay/hexmake && Rscript -e 'bookdown::render_book("index.Rmd")'
+        run: Rscript -e 'bookdown::render_book("index.Rmd")'
           
       - name: Build redirect
         run: Rscript redirect.R