From c3a979f72c569484d299a5bd48bfe9b1eb7ebb56 Mon Sep 17 00:00:00 2001 From: XFFXFF <1247714429@qq.com> Date: Sun, 29 Oct 2023 10:00:59 +0800 Subject: [PATCH] deploy both the latest and specified older version of salsa book --- book/_redirects | 2 ++ book/netlify.sh | 32 +++++++++++++++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 book/_redirects diff --git a/book/_redirects b/book/_redirects new file mode 100644 index 0000000..3db1067 --- /dev/null +++ b/book/_redirects @@ -0,0 +1,2 @@ +# Redirects from what the browser requests to what we serve +/ /salsa2022 \ No newline at end of file diff --git a/book/netlify.sh b/book/netlify.sh index aad6c9d..7f6c3f2 100755 --- a/book/netlify.sh +++ b/book/netlify.sh @@ -13,4 +13,34 @@ curl -L https://github.com/badboy/mdbook-mermaid/releases/download/v$MDBOOK_MERM curl -L https://github.com/Michael-F-Bryan/mdbook-linkcheck/releases/download/v$MDBOOK_LINKCHECK_VERSION/mdbook-linkcheck.v$MDBOOK_LINKCHECK_VERSION.x86_64-unknown-linux-gnu.zip -O unzip mdbook-linkcheck.v$MDBOOK_LINKCHECK_VERSION.x86_64-unknown-linux-gnu.zip -d ~/.cargo/bin chmod +x ~/.cargo/bin/mdbook-linkcheck -mdbook build \ No newline at end of file + +# ====================================================================== +# The following script automates the deployment of both the latest and a +# specified older version of the 'salsa' documentation using mdbook + +# Store the current branch or commit +original_branch=$(git rev-parse --abbrev-ref HEAD) +if [ "$original_branch" == "HEAD" ]; then + original_branch=$(git rev-parse HEAD) +fi + +mkdir -p versions # Create a root directory for all versions + +# Declare an associative array to map commits to custom version directory names +declare -A commit_to_version=( ["$original_branch"]="salsa2022" ["754eea8b5f8a31b1100ba313d59e41260b494225"]="salsa" ) + +# Loop over the keys (commit hashes or branch names) in the associative array +for commit in "${!commit_to_version[@]}"; do + git checkout $commit + mdbook build + version_dir="versions/${commit_to_version[$commit]}" + mkdir -p $version_dir + mv book/html/* $version_dir + rm -rf book +done + +# Return to the original branch or commit +git checkout $original_branch + +# Copy _redirects to the root directory +cp _redirects versions