diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml
new file mode 100644
index 00000000000..4509cd55f6b
--- /dev/null
+++ b/.github/workflows/deploy.yaml
@@ -0,0 +1,61 @@
+name: Deploy site
+on:
+ workflow_dispatch:
+ push:
+ branches:
+ - main
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+defaults:
+ run:
+ shell: bash
+
+permissions:
+ id-token: write
+ contents: read
+
+jobs:
+ build:
+ name: Build (and deploy)
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3.1.0
+ with:
+ fetch-depth: 0
+
+ # this step uses the `.ruby-version` file
+ - uses: ruby/setup-ruby@v1
+
+ - name: Build Jekyll Site
+ run: |
+ bundle install
+ bundle exec jekyll build
+
+ - uses: aws-actions/configure-aws-credentials@v1-node16
+ with:
+ role-to-assume: ${{ vars.AWS_ROLE_ARN }}
+ aws-region: ${{ vars.AWS_REGION }}
+ role-duration-seconds: 7200 # 2h
+
+ - name: Fetch doc files from S3
+ run: ci/download_from_s3.sh
+
+ - name: Post-process docs
+ run: ci/post-process.sh
+
+ - name: Deploy site
+ env:
+ NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_API_TOKEN }}
+ NETLIFY_SITE_ID: ${{ secrets.NETLIFY_DOCS_SITE_ID }}
+ run: |
+ npm install --global --force @aschmidt8/netlify-cli
+
+ ARGS=""
+ if [ "$GITHUB_REF_NAME" = "main" ]; then
+ ARGS="--prod"
+ fi
+ netlify deploy "$ARGS" \
+ --dir=_site
diff --git a/.ruby-version b/.ruby-version
new file mode 100644
index 00000000000..be94e6f53db
--- /dev/null
+++ b/.ruby-version
@@ -0,0 +1 @@
+3.2.2
diff --git a/CNAME b/CNAME
deleted file mode 100644
index c598ca02faa..00000000000
--- a/CNAME
+++ /dev/null
@@ -1 +0,0 @@
-docs.rapids.ai
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 61e3f4beda6..62d5512711b 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -9,24 +9,6 @@
## Development
-> **Note:** Jekyll will throw an error if you try to serve the project with symlinks enabled.
-To temporarily remove symlinks, run `./update_symlinks.sh rm` from the project's root directory. Make sure not to commit the removed symlinks. Re-add them with `./update_symlinks.sh 17`, where `17` is the latest nightly version number.
-
-### Preferred - Excluding API docs
-
-Given the size of the API docs the following config file setup will greatly
-speed up renderings:
-
-```
-bundle exec jekyll serve --config _config_ignore_api.yml
-```
-
-### Alternative - Including API docs
-
-The folder `api/` has a lot of files and can cause the initial and subsequent
-renderings to take 30 seconds or more. Running the following command will
-include the API docs which can be necessary for debugging purposes:
-
```
bundle exec jekyll serve
```
diff --git a/Gemfile b/Gemfile
index 56de16dec44..8197051a907 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,5 +1,5 @@
source 'https://rubygems.org'
gem 'github-pages', group: :jekyll_plugins
-gem "just-the-docs"
+gem "just-the-docs", "= 0.3.3"
gem "webrick", "~> 1.8"
diff --git a/Gemfile.lock b/Gemfile.lock
index a386175e2e2..1a68e4acce0 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,13 +1,12 @@
GEM
remote: https://rubygems.org/
specs:
- activesupport (6.0.6.1)
+ activesupport (7.0.4.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
- i18n (>= 0.7, < 2)
- minitest (~> 5.1)
- tzinfo (~> 1.1)
- zeitwerk (~> 2.2, >= 2.2.2)
- addressable (2.8.1)
+ i18n (>= 1.6, < 2)
+ minitest (>= 5.1)
+ tzinfo (~> 2.0)
+ addressable (2.8.4)
public_suffix (>= 2.0.2, < 6.0)
coffee-script (2.4.1)
coffee-script-source
@@ -15,9 +14,9 @@ GEM
coffee-script-source (1.11.1)
colorator (1.1.0)
commonmarker (0.23.9)
- concurrent-ruby (1.2.0)
- dnsruby (1.61.9)
- simpleidn (~> 0.1)
+ concurrent-ruby (1.2.2)
+ dnsruby (1.70.0)
+ simpleidn (~> 0.2.1)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
@@ -25,19 +24,19 @@ GEM
ffi (>= 1.15.0)
eventmachine (1.2.7)
execjs (2.8.1)
- faraday (2.7.1)
+ faraday (2.7.4)
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
ffi (1.15.5)
forwardable-extended (2.6.0)
gemoji (3.0.1)
- github-pages (227)
+ github-pages (228)
github-pages-health-check (= 1.17.9)
- jekyll (= 3.9.2)
+ jekyll (= 3.9.3)
jekyll-avatar (= 0.7.0)
jekyll-coffeescript (= 1.1.1)
- jekyll-commonmark-ghpages (= 0.2.0)
+ jekyll-commonmark-ghpages (= 0.4.0)
jekyll-default-layout (= 0.1.4)
jekyll-feed (= 0.15.1)
jekyll-gist (= 1.5.0)
@@ -71,7 +70,7 @@ GEM
jemoji (= 0.12.0)
kramdown (= 2.3.2)
kramdown-parser-gfm (= 1.1.0)
- liquid (= 4.0.3)
+ liquid (= 4.0.4)
mercenary (~> 0.3)
minima (= 2.5.1)
nokogiri (>= 1.13.6, < 2.0)
@@ -87,13 +86,13 @@ GEM
activesupport (>= 2)
nokogiri (>= 1.4)
http_parser.rb (0.8.0)
- i18n (0.9.5)
+ i18n (1.12.0)
concurrent-ruby (~> 1.0)
- jekyll (3.9.2)
+ jekyll (3.9.3)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
- i18n (~> 0.7)
+ i18n (>= 0.7, < 2)
jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 2.0)
kramdown (>= 1.17, < 3)
@@ -109,11 +108,11 @@ GEM
coffee-script-source (~> 1.11.1)
jekyll-commonmark (1.4.0)
commonmarker (~> 0.22)
- jekyll-commonmark-ghpages (0.2.0)
- commonmarker (~> 0.23.4)
+ jekyll-commonmark-ghpages (0.4.0)
+ commonmarker (~> 0.23.7)
jekyll (~> 3.9.0)
jekyll-commonmark (~> 1.4.0)
- rouge (>= 2.0, < 4.0)
+ rouge (>= 2.0, < 5.0)
jekyll-default-layout (0.1.4)
jekyll (~> 3.0)
jekyll-feed (0.15.1)
@@ -205,21 +204,17 @@ GEM
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
- liquid (4.0.3)
- listen (3.7.1)
+ liquid (4.0.4)
+ listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6)
- mini_portile2 (2.8.0)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
- minitest (5.17.0)
- nokogiri (1.13.10)
- mini_portile2 (~> 2.8.0)
- racc (~> 1.4)
- nokogiri (1.13.10-x86_64-linux)
+ minitest (5.18.0)
+ nokogiri (1.14.3-x86_64-linux)
racc (~> 1.4)
octokit (4.25.1)
faraday (>= 1, < 3)
@@ -227,7 +222,7 @@ GEM
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.7)
- racc (1.6.1)
+ racc (1.6.2)
rake (13.0.6)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
@@ -249,26 +244,23 @@ GEM
unf (~> 0.1.4)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
- thread_safe (0.3.6)
typhoeus (1.4.0)
ethon (>= 0.9.0)
- tzinfo (1.2.11)
- thread_safe (~> 0.1)
+ tzinfo (2.0.6)
+ concurrent-ruby (~> 1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (1.8.0)
webrick (1.8.1)
- zeitwerk (2.6.7)
PLATFORMS
- ruby
x86_64-linux
DEPENDENCIES
github-pages
- just-the-docs
+ just-the-docs (= 0.3.3)
webrick (~> 1.8)
BUNDLED WITH
- 2.2.17
+ 2.4.10
diff --git a/_config.yml b/_config.yml
index 8eee5729c15..8420b4b2ab6 100644
--- a/_config.yml
+++ b/_config.yml
@@ -12,10 +12,7 @@ exclude:
- CONTRIBUTING.md
- README.md
- release_checklist.md
- - customization/
- - update_symlinks.sh
- - _config_ignore_api.yml
- - rm_old_docs.sh
+ - ci/
include:
- _sources
- _static
diff --git a/_config_ignore_api.yml b/_config_ignore_api.yml
deleted file mode 100644
index 1e0c6edcd1c..00000000000
--- a/_config_ignore_api.yml
+++ /dev/null
@@ -1,57 +0,0 @@
-# theme used
-remote_theme: pmarsceill/just-the-docs
-#theme: just-the-docs
-
-title: RAPIDS Docs
-description: RAPIDS demo, process, and technical documentation.
-baseurl: "/" # the subpath of your site, e.g. /blog
-url: "https://docs.rapids.ai"
-
-permalink: pretty
-exclude:
- - CONTRIBUTING.md
- - README.md
- - release_checklist.md
- - customization/
- - update_symlinks.sh
- - _config_ignore_api.yml
- - api/
- - rm_old_docs.sh
-include:
- - _sources
- - _static
- - _images
- - _sphinx_javascript_frameworks_compat.js
-
-collections:
- notices:
- output: true
-
-aux_links:
- "View Docs on GitHub":
- - "https://github.com/rapidsai/docs"
-
-nav_external_links:
- - title: Deployment Guides
- url: /deployment/stable/
-
-social:
- twitter:
- name: Twitter
- username: rapidsai
- url: https://twitter.com/rapidsai
- fa-icon-class: fab fa-twitter
- slack:
- name: Slack
- url: https://join.slack.com/t/rapids-goai/shared_invite/zt-trnsul8g-Sblci8dk6dIoEeGpoFcFOQ
- fa-icon-class: fab fa-slack
- stack-overflow:
- name: Stack Overflow
- url: https://stackoverflow.com/tags/rapids
- fa-icon-class: fab fa-stack-overflow
-
-plugins:
- - jekyll-redirect-from
-
-# Enable or disable the site search
-search_enabled: true
diff --git a/_data/docs.yml b/_data/docs.yml
index 26db5c842e2..5218cbd8d0f 100644
--- a/_data/docs.yml
+++ b/_data/docs.yml
@@ -88,7 +88,7 @@ apis:
versions:
# enable or disable links; 0 = disabled, 1 = enabled
legacy: 1
- stable: 0
+ stable: 1
nightly: 0
cucim:
name: cuCIM
diff --git a/customization/README.md b/ci/customization/README.md
similarity index 100%
rename from customization/README.md
rename to ci/customization/README.md
diff --git a/customization/customize_doc.py b/ci/customization/customize_doc.py
similarity index 99%
rename from customization/customize_doc.py
rename to ci/customization/customize_doc.py
index 9a73dbf98d9..1e26aac3542 100755
--- a/customization/customize_doc.py
+++ b/ci/customization/customize_doc.py
@@ -10,7 +10,7 @@
FILEPATH = sys.argv[1]
LIB_MAP_PATH = os.path.join(os.path.dirname(__file__), "lib_map.json")
-RELEASES_PATH = os.path.join(os.path.dirname(__file__), "../", "_data", "releases.json")
+RELEASES_PATH = os.path.join(os.path.dirname(__file__), "../", "../", "_data", "releases.json")
with open(LIB_MAP_PATH) as fp:
LIB_PATH_DICT = json.load(fp)
diff --git a/customization/customize_docs_in_folder.sh b/ci/customization/customize_docs_in_folder.sh
similarity index 98%
rename from customization/customize_docs_in_folder.sh
rename to ci/customization/customize_docs_in_folder.sh
index 23fb0e18fdf..98d8c21a6e7 100755
--- a/customization/customize_docs_in_folder.sh
+++ b/ci/customization/customize_docs_in_folder.sh
@@ -44,6 +44,7 @@ for FILE in $(grep "${JTD_SEARCH_TERM}\|${DOXYGEN_SEARCH_TERM}\|${PYDATA_SEARCH_
--exclude-dir=nightly \
--exclude-dir=latest \
--exclude-dir=legacy \
+ --exclude-dir=cudf-java \
${FOLDER_TO_CUSTOMIZE} ); do
python ${SCRIPT_SRC_FOLDER}/customize_doc.py $(realpath ${FILE})
echo "" # line break for readability
diff --git a/customization/lib_map.sh b/ci/customization/lib_map.sh
similarity index 88%
rename from customization/lib_map.sh
rename to ci/customization/lib_map.sh
index e7c01b5e615..0f965c4beff 100755
--- a/customization/lib_map.sh
+++ b/ci/customization/lib_map.sh
@@ -13,13 +13,13 @@
# "nightly": "/cuspatial/en/nightly/api.html",
# "legacy": null
# }, ...}
-set -e
+set -euo pipefail
SCRIPT_SRC_FOLDER="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" # directory where this script is located
PROJ_ROOT=$(pwd)
FOLDER_MAP="{}"
-for FOLDER in api/*/ ; do
+for FOLDER in _site/api/*/ ; do
LIB=$(basename ${FOLDER}) # remove api/ & trailing slash from folder
DEFAULT_PATH=${LIB}
@@ -35,14 +35,14 @@ for FOLDER in api/*/ ; do
if [ -d "${VERSION}" ]; then
DEFAULT_PATH+="/${VERSION}"
- if [[ "${LIB}" =~ ^(librmm|libnvstrings)$ ]]; then
- DEFAULT_PATH+="/annotated.html"
+ if [[ "${LIB}" = librmm ]]; then
+ DEFAULT_PATH+="/annotated/"
elif [ "${LIB}" = libcudf ]; then
- DEFAULT_PATH+="/namespacecudf.html"
+ DEFAULT_PATH+="/namespacecudf/"
elif [ "${LIB}" = cudf ]; then
- DEFAULT_PATH+="/index.html"
+ DEFAULT_PATH+="/"
elif [ -f "${VERSION}/api.html" ]; then
DEFAULT_PATH+="/api.html"
diff --git a/customization/requirements.txt b/ci/customization/requirements.txt
similarity index 100%
rename from customization/requirements.txt
rename to ci/customization/requirements.txt
diff --git a/ci/download_from_s3.sh b/ci/download_from_s3.sh
new file mode 100755
index 00000000000..43507897887
--- /dev/null
+++ b/ci/download_from_s3.sh
@@ -0,0 +1,112 @@
+#!/bin/bash
+# Copies the RAPIDS libraries' HTML files from S3 into the "_site" directory of
+# the Jekyll build.
+set -euo pipefail
+
+export JEKYLL_DIR="_site"
+
+export GENERATED_DIRS="
+libs: ${JEKYLL_DIR}/api
+deployment: ${JEKYLL_DIR}/deployment
+"
+export DOCS_BUCKET="rapidsai-docs"
+
+# Checks that the "_site" directory exists from a Jekyll build. Also ensures
+# that the directories that are pulled from S3 aren't already present in the
+# "_site" directory since that could cause problems.
+check_dirs() {
+ local DIR
+
+ if [ ! -d "${JEKYLL_DIR}" ]; then
+ echo "\"${JEKYLL_DIR}\" directory does not exist."
+ echo "Build Jekyll site first."
+ exit 1
+ fi
+
+
+ for DIR in $(yq -n 'env(GENERATED_DIRS) | .[]'); do
+ if [ -d "${DIR}" ]; then
+ echo "The \"${DIR}\" directory is populated at deploy time and should not already exist."
+ echo "Ensure the \"${DIR}\" directory is not generated by Jekyll."
+ exit 1
+ fi
+ done
+}
+
+# Helper function for the `aws cp` command. Checks to ensure that the source
+# directory has contents before attempting the copy.
+aws_cp() {
+ local SRC DST
+
+ SRC=$1
+ DST=$2
+
+ if ! aws s3 ls "${SRC}" > /dev/null; then
+ echo "No files found in ${SRC}. Exiting."
+ exit 1
+ fi
+
+ echo "Copying ${SRC} to ${DST}"
+ aws s3 cp \
+ --only-show-errors \
+ --recursive \
+ "${SRC}" \
+ "${DST}"
+}
+
+# Downloads the RAPIDS libraries' documentation files from S3 and places them
+# into the "_site/api" folder. The versions that should be copied are read from
+# "_data/releases.json" and the libraries that should be copied are read from
+# "_data/docs.yml".
+download_lib_docs() {
+ local DST PROJECT PROJECT_MAP \
+ SRC VERSION_MAP VERSION_NAME \
+ VERSION_NUMBER
+
+ VERSION_MAP=$(
+ jq '{
+ "legacy": .legacy.version,
+ "stable": .stable.version,
+ "nightly": .nightly.version
+ }' _data/releases.json
+ )
+ export VERSION_MAP
+
+ PROJECT_MAP=$(yq '.apis + .libs' _data/docs.yml)
+ export PROJECT_MAP
+
+
+ for VERSION_NAME in $(jq -nr 'env.VERSION_MAP | fromjson | keys | .[]'); do
+ for PROJECT in $(yq -n 'env(PROJECT_MAP) | keys | .[]'); do
+ export VERSION_NAME PROJECT
+ VERSION_NUMBER=$(jq -nr 'env.VERSION_MAP | fromjson | .[env.VERSION_NAME]')
+
+ if yq -en 'env(PROJECT_MAP) | .[strenv(PROJECT)].versions.[strenv(VERSION_NAME)] == 0' > /dev/null 2>&1; then
+ echo "skipping: $PROJECT | $VERSION_NAME | $VERSION_NUMBER"
+ continue
+ fi
+
+ SRC="s3://${DOCS_BUCKET}/${PROJECT}/${VERSION_NUMBER}/html/"
+ DST="$(yq -n 'env(GENERATED_DIRS)|.libs')/${PROJECT}/${VERSION_NUMBER}/"
+
+ aws_cp "${SRC}" "${DST}"
+ done
+ done
+}
+
+# Downloads the deployment docs from S3 and places them in the
+# "_site/deployment" directory.
+download_deployment_docs() {
+ local DST SRC VERSION
+
+ for VERSION in nightly stable; do
+ SRC="s3://${DOCS_BUCKET}/deployment/${VERSION}/html/"
+ DST="$(yq -n 'env(GENERATED_DIRS)|.deployment')/${VERSION}/"
+
+ aws_cp "${SRC}" "${DST}"
+ done
+}
+
+check_dirs
+download_lib_docs
+download_deployment_docs
diff --git a/ci/post-process.sh b/ci/post-process.sh
new file mode 100755
index 00000000000..46d02d8c359
--- /dev/null
+++ b/ci/post-process.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+set -euo pipefail
+
+CURRENT_DIR=$(dirname $(realpath $0))
+
+pip install -r "${CURRENT_DIR}/customization/requirements.txt"
+
+"${CURRENT_DIR}"/update_symlinks.sh
+
+"${CURRENT_DIR}"/customization/lib_map.sh
+
+"${CURRENT_DIR}"/customization/customize_docs_in_folder.sh "_site/api"
diff --git a/update_symlinks.sh b/ci/update_symlinks.sh
similarity index 62%
rename from update_symlinks.sh
rename to ci/update_symlinks.sh
index a6f1025f7dc..c0448a4149b 100755
--- a/update_symlinks.sh
+++ b/ci/update_symlinks.sh
@@ -2,29 +2,9 @@
#######################################
# Updates or removes all symlinked folders based on the given positional parameter
#######################################
-set -eEo pipefail
+set -euEo pipefail
-display_usage() {
- echo "Usage:"
- echo " - update_symlinks # updates symlinks to match versions in _data/releases.json"
- echo " - update_symlinks rm # removes all current symlinks"
-}
-
-# If there is more than one argument, or if there is one argument that's not "rm"
-# then show usage info and exit.
-if [[ $# -eq "1" && "$1" != "rm" ]] || [[ $# -gt 1 ]]; then
- display_usage
- exit 1
-fi
-
-PROJ_ROOT=$(dirname $(realpath $0))
-
-echo "Removing existing symlinks..."
-find ${PROJ_ROOT} -type l -ls -delete > /dev/null
-
-if [[ "$1" == "rm" ]]; then
- exit 0
-fi
+PROJ_ROOT=$(realpath "$(dirname $(realpath $0))/../")
STABLE_FOLDER=$( cat "${PROJ_ROOT}/_data/releases.json" | jq -r '.stable.version')
LEGACY_FOLDER=$( cat "${PROJ_ROOT}/_data/releases.json" | jq -r '.legacy.version')
@@ -32,7 +12,7 @@ NIGHTLY_FOLDER=$( cat "${PROJ_ROOT}/_data/releases.json" | jq -r '.nightly.versi
echo "Updating symlinks..."
echo ""
-for FOLDER in api/*/ ; do
+for FOLDER in _site/api/*/ ; do
cd ${FOLDER}
echo ""
diff --git a/index.md b/index.md
index b2aac676f70..3de8e3766b3 100644
--- a/index.md
+++ b/index.md
@@ -21,7 +21,7 @@ This site serves to unify the documentation for RAPIDS. Whether you're new to RA
[ API Documentation]({% link api.md %}){: .btn.fs-4 .mb-4 .mb-md-04 .mr-2 }
[ Visualization Guide]({% link visualization/visualization.md %}){: .btn.fs-4 .mb-4 .mb-md-4 .mr-2 }
-[ Deployment Guides]({% link deployment/stable/index.html %}){: .btn.fs-4 .mb-4 .mb-md-4 .mr-2 }
+[ Deployment Guides](/deployment/stable/){: .btn.fs-4 .mb-4 .mb-md-4 .mr-2 }
[ Maintainer Documentation]({% link maintainers/maintainers.md %}){: .btn.fs-4 .mb-4 .mb-md-4 .mr-2 }
[ RAPIDS Notices]({% link notices/notices.md %}){: .btn.fs-4 .mb-4 .mb-md-4 .mr-2 }
diff --git a/release_checklist.md b/release_checklist.md
index 78789948f93..fce6052c44e 100644
--- a/release_checklist.md
+++ b/release_checklist.md
@@ -5,18 +5,3 @@ On release day, the following changes need to be made to the site:
- **Update [\_data/releases.json](_data/releases.json)**: Update versions, dates
- **Update [\_data/docs.yml](_data/docs.yml)**: Verify legacy/stable/nightly versions are enabled/disabled appropriately
- **Update [releases/schedule.md](releases/schedule.md)**: Update release schedule
-- **Remove old docs** - Use [rm_old_docs.sh](/rm_old_docs.sh) script to remove previous legacy docs
-- **Update symlinks and re-customize docs**:
- - First, run `pip install customization/requirements.txt`
- - Run codeblock below (from project's root directory) to update all symlinks and re-customize docs to reflect new RAPIDS versions.
-
-```sh
-update_symlinks.sh # ensures symlink accuracy
-
-customization/lib_map.sh # generates a JSON file needed by customize_docs.py
-
-customization/customize_docs_in_folder.sh api/
-
-```
-
-- **Tag Commit** - After the release PR is merged, tag the commit so it appears on the release page - https://github.com/rapidsai/docs/releases
diff --git a/rm_old_docs.sh b/rm_old_docs.sh
deleted file mode 100755
index 1904780d68d..00000000000
--- a/rm_old_docs.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-set -e
-
-if [ "$#" -ne 1 ]; then
- echo "A script to help delete old versions of RAPIDS docs"
- echo "Example:"
- echo " rm_old_versions.sh 21.06"
- exit 1
-fi
-
-VERSION=$1
-
-for FOLDER in api/*/ ; do
- rm -rf "${FOLDER}${VERSION}"
-done
diff --git a/user-guide/user-guide.md b/user-guide/user-guide.md
index 2943d2ffd53..926ccb4cd41 100644
--- a/user-guide/user-guide.md
+++ b/user-guide/user-guide.md
@@ -29,32 +29,32 @@ A repository with example notebooks and "getting started" code samples to help y
{: .mb-8 }
-### Tools and Guides for [RAPIDS Deployment]({% link /deployment/stable/index.html %}){: target="_blank"}
+### Tools and Guides for [RAPIDS Deployment](/deployment/stable/){: target="_blank"}
Deployment documentation to get you up and running with RAPIDS in AWS, GCP, Azure, IBM and more. Also includes guides for HPC, HPO, Kubernetes, Dask, and more.
{: .mb-8 }
### ETL and Dataframe Processing with [cuDF](https://github.com/rapidsai/cudf){: target="_blank"}
-Start with the [10 Minutes to cuDF and Dask-cuDF User Guide]({% link /api/cudf/stable/user_guide/10min.html %}){: target="_blank"}. Modeled after 10 Minutes to Pandas, this is a short introduction to cuDF that is geared mainly for new users. The [cuDF User Guide]({% link api/cudf/stable/user_guide/index.html %}){: target="_blank"} is generally very extensive and helpful.
+Start with the [10 Minutes to cuDF and Dask-cuDF User Guide](/api/cudf/stable/user_guide/10min/){: target="_blank"}. Modeled after 10 Minutes to Pandas, this is a short introduction to cuDF that is geared mainly for new users. The [cuDF User Guide](/api/cudf/stable/user_guide/index/){: target="_blank"} is generally very extensive and helpful.
{: .mb-8 }
### Accelerated Machine Learning with [cuML](https://github.com/rapidsai/cuml){: target="_blank"}
-Start with the [User Guide]({% link api/cuml/stable/user_guide.html %}){: target="_blank"} and the [Estimator Intro](https://github.com/rapidsai/cuml/blob/branch-{{ site.data.releases.stable.version }}/docs/source/estimator_intro.ipynb){: target="_blank"}, showcasing basic machine learning for training and evaluating machine learning models in cuML. The [Intro and key concepts for cuML]({% link api/cuml/stable/cuml_intro.html %}) is helpful as well.
+Start with the [User Guide](/api/cuml/stable/user_guide/){: target="_blank"} and the [Estimator Intro](https://github.com/rapidsai/cuml/blob/branch-{{ site.data.releases.stable.version }}/docs/source/estimator_intro.ipynb){: target="_blank"}, showcasing basic machine learning for training and evaluating machine learning models in cuML. The [Intro and key concepts for cuML](/api/cuml/stable/cuml_intro/) is helpful as well.
{: .mb-8 }
### Graph Analytics with [cuGraph](https://github.com/rapidsai/cugraph){: target="_blank"}
-Start with the [Easy Path]({% link api/cugraph/stable/basics/nx_transition.html %}#easy-path-use-networkx-graph-objects-accelerated-algorithms ){: target="_blank"} to use NetworkX graph objects with accelerated algorithms. There is also general [cuGraph Introduction]({% link api/cugraph/stable/basics/cugraph_intro.html %}){: target="_blank"}.
+Start with the [Easy Path](/api/cugraph/stable/basics/nx_transition/#easy-path-use-networkx-graph-objects-accelerated-algorithms){: target="_blank"} to use NetworkX graph objects with accelerated algorithms. There is also general [cuGraph Introduction](/api/cugraph/stable/basics/cugraph_intro/){: target="_blank"}.
{: .mb-8 }
### Spatial Analytics with [cuSpatial](https://github.com/rapidsai/cuspatial){: target="_blank"}
-Start with the [cuSpatial User Guide]({% link api/cuspatial/stable/user_guide/cuspatial_api_examples.html %}){: target="_blank"} for an intro to GPU Accelerated Spatial Analytics. The [demo notebooks](https://github.com/rapidsai/cuspatial/tree/branch-{{ site.data.releases.stable.version }}/python/cuspatial/demos) are also a good showcase.
+Start with the [cuSpatial User Guide](/api/cuspatial/stable/user_guide/cuspatial_api_examples/){: target="_blank"} for an intro to GPU Accelerated Spatial Analytics. The [demo notebooks](https://github.com/rapidsai/cuspatial/tree/branch-{{ site.data.releases.stable.version }}/python/cuspatial/demos) are also a good showcase.
{: .mb-8 }
### Accelerated Cross-filtered Dashboards with [cuxfilter](https://github.com/rapidsai/cuxfilter)
-Start with [10 Minutes to Cuxfilter]({% link api/cuxfilter/stable/10_minutes_to_cuxfilter.html %}){: target="_blank"} to get an overview of how to quickly create a dashboard and [the examples section]({% link api/cuxfilter/stable/examples/examples.html %}){: target="_blank"} for real dataset examples.
+Start with [10 Minutes to Cuxfilter](/api/cuxfilter/stable/10_minutes_to_cuxfilter/){: target="_blank"} to get an overview of how to quickly create a dashboard and [the examples section](/api/cuxfilter/stable/examples/examples/){: target="_blank"} for real dataset examples.
{: .mb-8 }
@@ -69,12 +69,12 @@ Start with the [Welcome Notebook](https://github.com/rapidsai/cucim/blob/branch-
### Algorithms and Primitives for Scientific Computing, Data Science and Machine Learning with [RAFT](https://github.com/rapidsai/raft){: target="_blank"}
-Start with the [Quick Start]({% link api/raft/stable/quick_start.html %}){: target="_blank"} guide for simple python and C++ examples.
+Start with the [Quick Start](/api/raft/stable/quick_start/){: target="_blank"} guide for simple python and C++ examples.
{: .mb-8 }
### Cyber Security Analytic Workflows with [CLX](https://github.com/rapidsai/clx){: target="_blank"}
-Start with [10 Minutes to CLX]({% link api/clx/stable/10min-clx.html %}){: target="_blank"} for an guide to accelerated cyber security log analytics as well as the [introduction]({% link api/clx/stable/intro-clx-predictive-maintenance.html %}#Introduction){: target="_blank"}.
+Start with [10 Minutes to CLX](/api/clx/stable/10min-clx/){: target="_blank"} for an guide to accelerated cyber security log analytics as well as the [introduction](/api/clx/stable/intro-clx-predictive-maintenance/#Introduction){: target="_blank"}.
{: .mb-8 }