Add quillt structure and template (#108)

diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml
index f2f400f..1b17b80 100644
--- a/.github/workflows/R-CMD-check.yaml
+++ b/.github/workflows/R-CMD-check.yaml
@@ -7,8 +7,15 @@
 on:
   push:
     branches: [main, master]
+    paths-ignore:
+      - 'pkgdown/**'
+      - '.github/workflows/pkgdown.yaml'
   pull_request:
     branches: [main, master]
+        paths-ignore:
+      - 'pkgdown/**'
+      - '.github/workflows/pkgdown.yaml'
+
 
 name: R-CMD-check
 
@@ -76,3 +83,10 @@
         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}
diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml
new file mode 100644
index 0000000..c23da9f
--- /dev/null
+++ b/.github/workflows/pkgdown.yaml
@@ -0,0 +1,59 @@
+on:
+  push:
+    branches: [main, master]
+    tags: ['*']
+  pull_request:
+    branches: [main, master]
+name: pkgdown
+
+jobs:
+  pkgdown:
+    if: ${{ github.event_name == 'push' || startsWith(github.head_ref, 'pkgdown/') }}
+    runs-on: ubuntu-latest
+    env:
+      GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
+    steps:
+      - uses: actions/checkout@v2
+
+      - uses: r-lib/actions/setup-pandoc@v1
+
+      - uses: r-lib/actions/setup-r@v1
+        with:
+          use-public-rspm: true
+
+      - uses: r-lib/actions/setup-r-dependencies@v1
+        with:
+          needs: website
+
+      - name: Install package
+        run: R CMD INSTALL .
+
+      - name: Cache some pkgdown assets
+        uses: actions/cache@v2
+        with:
+          path: |
+            vignettes/articles/images/*.png
+          key: 1-${{ hashFiles('vignettes/articles/examples.yml') }}
+
+      - name: Build pkgdown site
+        run: pkgdown::build_site(new_process = FALSE)
+        shell: Rscript {0}
+
+      - name: Deploy to Netlify
+        if: false() # TODO: setup netlify
+        id: netlify-deploy
+        uses: nwtgck/actions-netlify@v1.1
+        with:
+          publish-dir: 'reference'
+          # change back to master if branch is not correct
+          production-branch: main
+          github-token: ${{ secrets.GITHUB_TOKEN }}
+          deploy-message:
+            'Deploy from GHA: ${{ github.event.head_commit.message }} (${{ github.sha }})'
+          enable-pull-request-comment: false
+          enable-commit-comment: false
+          enable-commit-status: true
+          alias: deploy-preview-${{ github.event.number }}
+        env:
+          NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
+          NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml
deleted file mode 100644
index 3c0da1c..0000000
--- a/.github/workflows/test-coverage.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-# Workflow derived from https://github.com/r-lib/actions/tree/master/examples
-# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
-on:
-  push:
-    branches: [main, master]
-  pull_request:
-    branches: [main, master]
-
-name: test-coverage
-
-jobs:
-  test-coverage:
-    runs-on: ubuntu-latest
-    env:
-      GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
-
-    steps:
-      - uses: actions/checkout@v2
-
-      - uses: r-lib/actions/setup-r@v1
-        with:
-          use-public-rspm: true
-
-      - uses: r-lib/actions/setup-r-dependencies@v1
-        with:
-          extra-packages: covr
-
-      - name: Test coverage
-        run: covr::codecov()
-        shell: Rscript {0}