You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by ur...@apache.org on 2022/06/17 07:45:29 UTC

[pulsar-site] 01/01: fix: 404 caused by trailing slash

This is an automated email from the ASF dual-hosted git repository.

urfree pushed a commit to branch fix/slash-404
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git

commit 932ddef95d1b0738316f78a8ed37009d80ef4a17
Author: Li Li <ur...@apache.org>
AuthorDate: Fri Jun 17 15:45:16 2022 +0800

    fix: 404 caused by trailing slash
    
    Signed-off-by: Li Li <ur...@apache.org>
---
 site2/website-next/docusaurus.config.js           |  6 +++
 site2/website-next/scripts/fix-index.js           |  7 +++
 site2/website-next/scripts/split-version-build.sh | 54 ++++++++++++++++++++---
 3 files changed, 60 insertions(+), 7 deletions(-)

diff --git a/site2/website-next/docusaurus.config.js b/site2/website-next/docusaurus.config.js
index 06f18de82d4..8af53f1cad8 100644
--- a/site2/website-next/docusaurus.config.js
+++ b/site2/website-next/docusaurus.config.js
@@ -356,6 +356,12 @@ module.exports = {
     "https://fonts.googleapis.com/css2?family=Red+Hat+Display:wght@300;400;600,900&display=swap",
   ],
   presets: [
+    [
+      "@docusaurus/plugin-client-redirects",
+      {
+        fromExtensions: [""],
+      },
+    ],
     [
       "@docusaurus/preset-classic",
       {
diff --git a/site2/website-next/scripts/fix-index.js b/site2/website-next/scripts/fix-index.js
new file mode 100644
index 00000000000..4fc8a26438d
--- /dev/null
+++ b/site2/website-next/scripts/fix-index.js
@@ -0,0 +1,7 @@
+const fs = require("fs");
+const path = require("path");
+const args = process.argv.slice(2);
+const file = args[0];
+let data = fs.readFileSync(file, "utf8");
+data = data.replace(/<script src="\/assets\/js\/runtime.*/g, "");
+fs.writeFileSync(file, data, "utf8");
diff --git a/site2/website-next/scripts/split-version-build.sh b/site2/website-next/scripts/split-version-build.sh
index 067060e97c1..2ccdff5d50b 100755
--- a/site2/website-next/scripts/split-version-build.sh
+++ b/site2/website-next/scripts/split-version-build.sh
@@ -1,15 +1,53 @@
 #! /bin/sh
-
 node scripts/split-version.js
 
 locals=("en" "zh-CN" "zh-TW" "ja" "ko" "fr")
 latest=$(cat scripts/.latest)
 BUILD_ALL_LANGUAGE="en"
 buildVersion="next"
+slashDir=""
 
 echo "changed files: "
 echo $@
 
+function _fileSlash() {
+    if [ -d "$slashDir/" ]; then
+        for file in $slashDir/*; do
+            if test -f $file; then
+                fname=$(basename $file)
+                ex=${fname##*.}
+                if [ $ex == "html" ]; then
+                    dir=$(basename $fname ".$ex")
+                    mkdir -p $slashDir/$dir
+                    cp -r $file $slashDir/$dir/index.html
+                    node scripts/fix-index.js $slashDir/$dir/index.html
+                fi
+            fi
+        done
+    fi
+}
+
+function _copySlash() {
+    array=($buildVersion)
+    if [ ${buildVersion} = "next" ]; then
+        array=("next" "latest")
+    fi
+    for bv in ${array[@]}; do
+        slashDir="build/docs/${bv}"
+        if [ $bv = "latest" ]; then
+            slashDir="build/docs"
+        fi
+        _fileSlash
+        for language in ${locals[@]}; do
+            slashDir="build/${language}/docs/${bv}"
+            if [ $bv = "latest" ]; then
+                slashDir="build/${language}/docs"
+            fi
+            _fileSlash
+        done
+    done
+}
+
 function _build() {
     if [[ "$BUILD_ALL_LANGUAGE" == "0" ]]; then
         echo "only build en"
@@ -34,16 +72,18 @@ function _buildVersion() {
     _build
 
     if [[ $buildVersion != $latest ]]; then
-        mkdir -p build-${buildVersion}/${buildVersion} build-${buildVersion}/${buildVersion}.md
+        _copySlash
+
+        mkdir -p build-${buildVersion}/${buildVersion} #build-${buildVersion}/${buildVersion}.md
         cp -r build/docs/${buildVersion}/* build-${buildVersion}/${buildVersion}
-        cp -r build/docs/${buildVersion}.md/* build-${buildVersion}/${buildVersion}.md
-        rm -rf build/docs/${buildVersion} build/docs/${buildVersion}.md
+        # cp -r build/docs/${buildVersion}.md/* build-${buildVersion}/${buildVersion}.md
+        rm -rf build/docs/${buildVersion} #build/docs/${buildVersion}.md
         for language in ${locals[@]}; do
             if [ -d "build/${language}/docs/${buildVersion}" ]; then
-                mkdir -p build-${language}-${buildVersion}/${buildVersion} build-${language}-${buildVersion}/${buildVersion}.md
+                mkdir -p build-${language}-${buildVersion}/${buildVersion} #build-${language}-${buildVersion}/${buildVersion}.md
                 cp -r build/${language}/docs/${buildVersion}/* build-${language}-${buildVersion}/${buildVersion}
-                cp -r build/${language}/docs/${buildVersion}.md/* build-${language}-${buildVersion}/${buildVersion}.md
-                rm -rf build/${language}/docs/${buildVersion} build/${language}/docs/${buildVersion}.md
+                # cp -r build/${language}/docs/${buildVersion}.md/* build-${language}-${buildVersion}/${buildVersion}.md
+                rm -rf build/${language}/docs/${buildVersion} #build/${language}/docs/${buildVersion}.md
             fi
         done
     fi