deploy both the latest and specified older version of salsa book

This commit is contained in:
XFFXFF 2023-10-29 10:00:59 +08:00
parent 739d0da4e3
commit c3a979f72c
2 changed files with 33 additions and 1 deletions

2
book/_redirects Normal file
View file

@ -0,0 +1,2 @@
# Redirects from what the browser requests to what we serve
/ /salsa2022

View file

@ -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 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 unzip mdbook-linkcheck.v$MDBOOK_LINKCHECK_VERSION.x86_64-unknown-linux-gnu.zip -d ~/.cargo/bin
chmod +x ~/.cargo/bin/mdbook-linkcheck chmod +x ~/.cargo/bin/mdbook-linkcheck
mdbook build
# ======================================================================
# 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