gitea-docusaurus/loop_docs.sh
techknowlogick c6c62ade65
All checks were successful
Build and Publish Docs site / build-docs (push) Successful in 6m32s
rc0
2024-04-12 06:48:52 +00:00

94 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
# The script takes two params:
# version: "latest" or a specific version number
# locale
set -xe
SED_INPLACE() {
if sed --version 2>/dev/null | grep -q GNU; then
sed -i "$@"
else
sed -i '' "$@"
fi
}
version="$1"
if [ "$version" != "latest" ]; then
version="1.$1"
fi
locale="$2"
minNodeVer="16"
minGoVer="1.20"
goVer="1.20"
minorVer="main-nightly"
if [ "$version" == "1.19" ]; then
minorVer="1.19.4"
minGoVer="1.19"
elif [ "$version" == "1.20" ]; then
minorVer="1.20.6"
elif [ "$version" == "1.21" ]; then
minorVer="1.21.10"
fi
docs_dir="versioned_docs/version-$version"
if [ "$version" == "latest" ]; then
if [ "$locale" == "en-us" ]; then
docs_dir="docs"
else
docs_dir="i18n/$locale/docusaurus-plugin-content-docs/current"
fi
else
if [ "$locale" != "en-us" ]; then
docs_dir="i18n/$locale/docusaurus-plugin-content-docs/version-$version"
fi
fi
SED_INPLACE "s/@minNodeVersion@/$minNodeVer/" "$docs_dir/development/hacking-on-gitea.$locale.md"
SED_INPLACE "s/@minGoVersion@/$minGoVer/" "$docs_dir/development/hacking-on-gitea.$locale.md"
SED_INPLACE "s/@goVersion@/$goVer/" "$docs_dir/development/hacking-on-gitea.$locale.md"
SED_INPLACE "s/@minNodeVersion@/$minNodeVer/" "$docs_dir/installation/from-source.$locale.md"
SED_INPLACE "s/@minGoVersion@/$minGoVer/" "$docs_dir/installation/from-source.$locale.md"
# TODO: improve this sed
# need confirmation
if [ "$version" == "latest" ]; then
SED_INPLACE 's/"version": "{{AppVer | JSEscape | Safe}}"/"version": "1.22-rc0"/' static/swagger-latest.json
elif [ "$version" == "1.21" ]; then
SED_INPLACE 's/"version": "{{AppVer | JSEscape | Safe}}"/"version": "1.21.10"/' static/swagger-21.json
elif [ "$version" == "1.20" ]; then
SED_INPLACE 's/"version": "{{AppVer | JSEscape | Safe}}"/"version": "1.20.6"/' static/swagger-20.json
elif [ "$version" == "1.19" ]; then
SED_INPLACE 's/"version": "{{AppVer | JSEscape | Safe}}"/"version": "1.19.4"/' static/swagger-19.json
fi
SED_INPLACE 's/"basePath": "{{AppSubUrl | JSEscape | Safe}}/"basePath": "https:\/\/gitea.com/' static/swagger-"$1".json
for file in `find ./"$docs_dir" -name "*.md"`; do
if [ "$version" == "lastest" ]; then
SED_INPLACE 's/dl.gitea.com\/gitea\/@version@/dl.gitea.com\/gitea\/main/g' $file
SED_INPLACE 's/gitea\/gitea\:@version@/gitea\/gitea\:nightly/g' $file
fi
SED_INPLACE "s/@version@/$minorVer/g" $file
done
for file in "$docs_dir"/*; do
if [ -d $file ]; then
continue
fi
if [ "$file" == "$docs_dir/intro.md" ]; then
continue
fi
rm $file || true
done
# file names under docs/ and i18n/zh-cn/docusaurus-plugin-content-docs/current/ should be the same for docusaurus
# to recognize them as tanslated.
for file in `find "$docs_dir" -name "*.$locale.md"`; do
mv "${file}" "${file/.$locale/}"
done
if [ -f "$docs_dir/help/search.md" ]; then
rm "$docs_dir/help/search.md"
fi