This is an automated email from the ASF dual-hosted git repository. urfree pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
commit 78daa0125403695bf7b07efb1d48b9c681910fe8 Author: LiLi <[email protected]> AuthorDate: Wed Jan 26 15:33:41 2022 +0800 update Signed-off-by: LiLi <[email protected]> --- site2/tools/build-site.sh | 6 ++- site2/website-next/.gitignore | 4 +- site2/website-next/docusaurus.config.js | 48 +++++++++++----------- site2/website-next/scripts/split-version-build.sh | 20 +++++++++ .../scripts/split-version-build.sh.bak | 41 ++++++++++++++++++ site2/website-next/scripts/split-version.js | 44 ++++++++++++++++++++ site2/website-next/scripts/versions.json | 4 ++ site2/website-next/src/utils/index.js | 26 ++++++------ site2/website-next/versions.json | 29 +------------ 9 files changed, 154 insertions(+), 68 deletions(-) diff --git a/site2/tools/build-site.sh b/site2/tools/build-site.sh index cea398c..131fbf6 100755 --- a/site2/tools/build-site.sh +++ b/site2/tools/build-site.sh @@ -99,8 +99,10 @@ yarn if [ -n "$NEXT" ]; then node scripts/replace.js - node ./scripts/split-swagger-by-version.js - yarn build + node scripts/split-swagger-by-version.js + # Because there are too many versions of the document, the memory overflows during the full build. + # The split-version-build script is used to build in different versions, and finally the build results are merged. + bash scripts/split-version-build.sh else # crowdin yarn build diff --git a/site2/website-next/.gitignore b/site2/website-next/.gitignore index 5f3710eb..2f55ed0 100644 --- a/site2/website-next/.gitignore +++ b/site2/website-next/.gitignore @@ -20,4 +20,6 @@ yarn-debug.log* yarn-error.log* bak/ -migration-scripts/ \ No newline at end of file +migration-scripts/ +.latest +.versions \ No newline at end of file diff --git a/site2/website-next/docusaurus.config.js b/site2/website-next/docusaurus.config.js index f831f40..3109b66 100644 --- a/site2/website-next/docusaurus.config.js +++ b/site2/website-next/docusaurus.config.js @@ -264,99 +264,99 @@ module.exports = { }, { label: "2.9.0", - href: oldUrl + "/docs/en/2.9.0/standalone/", + to: "docs/2.9.0/", }, // { // label: "2.8.2", - // href: oldUrl + "/docs/en/2.8.2/standalone/", + // to: "docs/2.8.2/", // }, // { // label: "2.8.1", - // href: oldUrl + "/docs/en/2.8.1/standalone/", + // to: "docs/2.8.1/", // }, { label: "2.8.0", - href: oldUrl + "/docs/en/2.8.0/standalone/", + to: "docs/2.8.0/", }, // { // label: "2.7.3", - // href: oldUrl + "/docs/en/2.7.3/standalone/", + // to: "docs/2.7.3/", // }, // { // label: "2.7.2", - // href: oldUrl + "/docs/en/2.7.2/standalone/", + // to: "docs/2.7.2/", // }, // { // label: "2.7.1", - // href: oldUrl + "/docs/en/2.7.1/standalone/", + // to: "docs/2.7.1/", // }, { label: "2.7.0", - href: oldUrl + "/docs/en/2.7.0/standalone/", + to: "docs/2.7.0/", }, // { // label: "2.6.4", - // href: oldUrl + "/docs/en/2.6.4/standalone/", + // to: "docs/2.6.4/", // }, // { // label: "2.6.3", - // href: oldUrl + "/docs/en/2.6.3/standalone/", + // to: "docs/2.6.3/", // }, // { // label: "2.6.2", - // href: oldUrl + "/docs/en/2.6.2/standalone/", + // to: "docs/2.6.2/", // }, // { // label: "2.6.1", - // href: oldUrl + "/docs/en/2.6.1/standalone/", + // to: "docs/2.6.1/", // }, // { // label: "2.6.0", - // href: oldUrl + "/docs/en/2.6.0/standalone/", + // to: "docs/2.6.0/", // }, // { // label: "2.5.2", - // href: oldUrl + "/docs/en/2.5.2/standalone/", + // to: "docs/2.5.2/", // }, // { // label: "2.5.1", - // href: oldUrl + "/docs/en/2.5.1/standalone/", + // to: "docs/2.5.1/", // }, // { // label: "2.5.0", - // href: oldUrl + "/docs/en/2.5.0/standalone/", + // to: "docs/2.5.0/", // }, // { // label: "2.4.2", - // href: oldUrl + "/docs/en/2.4.2/standalone/", + // to: "docs/2.4.2/", // }, // { // label: "2.4.1", - // href: oldUrl + "/docs/en/2.4.1/standalone/", + // to: "docs/2.4.1/", // }, // { // label: "2.4.0", - // href: oldUrl + "/docs/en/2.4.0/standalone/", + // to: "docs/2.4.0/", // }, // { // label: "2.3.2", - // href: oldUrl + "/docs/en/2.3.2/standalone/", + // to: "docs/2.3.2/", // }, // { // label: "2.3.1", - // href: oldUrl + "/docs/en/2.3.1/standalone/", + // to: "docs/2.3.1/", // }, // { // label: "2.3.0", - // href: oldUrl + "/docs/en/2.3.0/standalone/", + // to: "docs/2.3.0/", // }, // { // label: "2.2.1", - // href: oldUrl + "/docs/en/2.2.1/standalone/", + // to: "docs/2.2.1/", // }, // { // label: "2.2.0", - // href: oldUrl + "/docs/en/2.2.0/standalone/", + // to: "docs/2.2.0/", // }, // { // label: "2.1.1-incubating", diff --git a/site2/website-next/scripts/split-version-build.sh b/site2/website-next/scripts/split-version-build.sh new file mode 100755 index 0000000..d0ce8bf --- /dev/null +++ b/site2/website-next/scripts/split-version-build.sh @@ -0,0 +1,20 @@ +#! /bin/sh + +node scripts/split-version.js + +latest=$(cat scripts/.latest) + +while read version; do + echo $version "build begin..." + echo "[\"${latest}\", \"${version}\"]" >versions.json + yarn build + mkdir -p build-${version}/${version} build-${version}/${version}.md + cp -r build/docs/${version}/* build-${version}/${version} + cp -r build/docs/${version}.md/* build-${version}/${version}.md + echo $version "build done..." +done <scripts/.versions + +while read version; do + mv build-$version/* build/docs + rm -rf build-$version +done <scripts/.versions diff --git a/site2/website-next/scripts/split-version-build.sh.bak b/site2/website-next/scripts/split-version-build.sh.bak new file mode 100755 index 0000000..5e5e1c1 --- /dev/null +++ b/site2/website-next/scripts/split-version-build.sh.bak @@ -0,0 +1,41 @@ +#! /bin/sh + +# function create_index() { +# cat >build-$1/$1.md/index.html <<EOF +# <!DOCTYPE html> +# <html> +# <head> +# <meta charset="UTF-8"> +# <meta http-equiv="refresh" content="0; url=/docs/$1/"> +# <link rel="canonical" href="/docs/$1/" /> +# </head> +# <script> +# window.location.href = '/docs/$1/'; +# </script> +# </html> +# EOF +# } + +node scripts/split-version.js + +latest=$(cat scripts/.latest) + +while read version; do + echo $version "build begin..." + echo "[\"${latest}\", \"${version}\"]" >versions.json + yarn build + mkdir -p build-${version}/${version} build-${version}/${version}.md + cp -r build/docs/${version}/* build-${version}/${version} + cp -r build/docs/${version}.md/* build-${version}/${version}.md + # create_index $version + echo $version "build done..." +done <scripts/.versions + +# echo $latest "build begin..." +# echo "[\"${latest}\"]" >versions.json +# yarn build + +while read version; do + mv build-$version/* build/docs + rm -rf build-$version +done <scripts/.versions diff --git a/site2/website-next/scripts/split-version.js b/site2/website-next/scripts/split-version.js new file mode 100644 index 0000000..79df7d6 --- /dev/null +++ b/site2/website-next/scripts/split-version.js @@ -0,0 +1,44 @@ +const fs = require("fs"); +const path = require("path"); +// const { exec } = require("child_process"); +const versions = require("../versions-full.json"); +const latestVersion = versions.shift(); + +fs.writeFileSync(path.join(__dirname, ".versions"), versions.join("\n") + "\n"); +fs.writeFileSync(path.join(__dirname, ".latest"), latestVersion + "\n"); + +// async function _build(version) { +// return new Promise((resolve, reject) => { +// let data = JSON.stringify([version], null, 2); +// fs.writeFileSync(path.join(__dirname, "../versions.json"), data); +// console.log("Begin build", version); +// exec( +// `yarn build && mkdir -p build-${version}/${version} build-${version}/${version}.md && cp -r build/docs/${version}/* build-${version}/${version} && cp -r build/docs/${version}.md/* build-${version}/${version}.md`, +// (error, stdout, stderr) => { +// if (error) { +// reject(error.message); +// } else if (stderr) { +// reject(stderr); +// } else { +// resolve(stdout); +// } +// } +// ); +// }); +// } + +// (async () => { +// try { +// for (let version of versions) { +// let res = await _build(version); +// console.log(res); +// console.log(version, "build done..."); +// } +// let res = await _build(latestVersion); +// console.log(res); +// console.log(latestVersion, "build done..."); +// console.log("All versions build done..."); +// } catch (e) { +// console.log(e); +// } +// })(); diff --git a/site2/website-next/scripts/versions.json b/site2/website-next/scripts/versions.json new file mode 100644 index 0000000..621c07e --- /dev/null +++ b/site2/website-next/scripts/versions.json @@ -0,0 +1,4 @@ +[ + "2.9.1", + "2.9.0" +] \ No newline at end of file diff --git a/site2/website-next/src/utils/index.js b/site2/website-next/src/utils/index.js index 2ebc65c..82e58d3 100644 --- a/site2/website-next/src/utils/index.js +++ b/site2/website-next/src/utils/index.js @@ -14,22 +14,22 @@ export function imgUrl(img) { } export function docUrl(doc, language, version) { - if (version == "" || version == "next") { - return ( - siteConfig.baseUrl + - "docs/" + - (language ? language + "/" : "") + - (version ? version + "/" : "") + - (doc ? doc : "") - ); - } + // if (version == "" || version == "next") { return ( - siteConfig.customFields.oldUrl + - "/docs/" + - (language ? language + "/" : "en/") + + siteConfig.baseUrl + + "docs/" + + (language ? language + "/" : "") + (version ? version + "/" : "") + - (doc ? doc : "standalone/") + (doc ? doc : "") ); + // } + // return ( + // siteConfig.customFields.oldUrl + + // "/docs/" + + // (language ? language + "/" : "en/") + + // (version ? version + "/" : "") + + // (doc ? doc : "standalone/") + // ); } export function pageUrl(page, language) { diff --git a/site2/website-next/versions.json b/site2/website-next/versions.json index 3db4784..f829e1e 100644 --- a/site2/website-next/versions.json +++ b/site2/website-next/versions.json @@ -1,28 +1 @@ -[ - "2.9.1", - "2.9.0", - "2.8.2", - "2.8.1", - "2.8.0", - "2.7.3", - "2.7.2", - "2.7.1", - "2.7.0", - "2.6.4", - "2.6.3", - "2.6.2", - "2.6.1", - "2.6.0", - "2.5.2", - "2.5.1", - "2.5.0", - "2.4.2", - "2.4.1", - "2.4.0", - "2.3.2", - "2.3.1", - "2.3.0", - "2.2.1", - "2.2.0", - "2.1.1-incubating" -] \ No newline at end of file +["2.9.1"]
