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:28 UTC

[pulsar-site] branch fix/slash-404 created (now 932ddef95d1)

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

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


      at 932ddef95d1 fix: 404 caused by trailing slash

This branch includes the following new commits:

     new 932ddef95d1 fix: 404 caused by trailing slash

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



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

Posted by ur...@apache.org.
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