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"]

Reply via email to