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

liuyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 4c51fbc4899 [fix][website] script for auto fix invalid tab docs 
(#15183)
4c51fbc4899 is described below

commit 4c51fbc4899169793e924177c888305250b3a6a3
Author: Li Li <[email protected]>
AuthorDate: Fri Apr 15 21:23:42 2022 +0800

    [fix][website] script for auto fix invalid tab docs (#15183)
---
 site2/tools/build-site.sh        | 48 +---------------------------------------
 site2/website/scripts/fix-tab.js | 42 +++++++++++++++++++++++++++++++++++
 2 files changed, 43 insertions(+), 47 deletions(-)

diff --git a/site2/tools/build-site.sh b/site2/tools/build-site.sh
index 09e7ff1648d..1a23803e9c0 100755
--- a/site2/tools/build-site.sh
+++ b/site2/tools/build-site.sh
@@ -24,53 +24,7 @@ VERSION=$(${ROOT_DIR}/src/get-project-version.py)
 function workaround_crowdin_problem_by_copying_files() {
   # TODO: remove this after figuring out why crowdin removed code tab when 
generating translated files
   # https://github.com/apache/pulsar/issues/5816
-  cp versioned_docs/version-2.4.2/functions-develop.md 
translated_docs/zh-CN/version-2.4.2/functions-develop.md
-  cp versioned_docs/version-2.5.0/functions-develop.md 
translated_docs/zh-CN/version-2.5.0/functions-develop.md
-  cp versioned_docs/version-2.5.0/io-overview.md 
translated_docs/zh-CN/version-2.5.0/io-overview.md
-  cp versioned_docs/version-2.5.1/functions-develop.md 
translated_docs/zh-CN/version-2.5.1/functions-develop.md
-  cp versioned_docs/version-2.5.2/functions-develop.md 
translated_docs/zh-CN/version-2.5.2/functions-develop.md
-  cp versioned_docs/version-2.5.1/client-libraries-java.md 
translated_docs/zh-CN/version-2.5.1/client-libraries-java.md
-  cp versioned_docs/version-2.5.0/client-libraries-java.md 
translated_docs/zh-CN/version-2.5.0/client-libraries-java.md
-  cp versioned_docs/version-2.5.1/security-jwt.md 
translated_docs/zh-CN/version-2.5.1/security-jwt.md
-
-  cp versioned_docs/version-2.4.2/functions-develop.md 
translated_docs/ja/version-2.4.2/functions-develop.md
-  cp versioned_docs/version-2.5.0/functions-develop.md 
translated_docs/ja/version-2.5.0/functions-develop.md
-  cp versioned_docs/version-2.5.0/io-overview.md 
translated_docs/ja/version-2.5.0/io-overview.md
-  cp versioned_docs/version-2.5.1/functions-develop.md 
translated_docs/ja/version-2.5.1/functions-develop.md
-  cp versioned_docs/version-2.5.2/functions-develop.md 
translated_docs/ja/version-2.5.2/functions-develop.md
-  cp versioned_docs/version-2.5.1/client-libraries-java.md 
translated_docs/ja/version-2.5.1/client-libraries-java.md
-  cp versioned_docs/version-2.5.0/client-libraries-java.md 
translated_docs/ja/version-2.5.0/client-libraries-java.md
-  cp versioned_docs/version-2.5.1/security-jwt.md 
translated_docs/ja/version-2.5.1/security-jwt.md
-
-  cp versioned_docs/version-2.4.2/functions-develop.md 
translated_docs/fr/version-2.4.2/functions-develop.md
-  cp versioned_docs/version-2.5.0/functions-develop.md 
translated_docs/fr/version-2.5.0/functions-develop.md
-  cp versioned_docs/version-2.5.0/io-overview.md 
translated_docs/fr/version-2.5.0/io-overview.md
-  cp versioned_docs/version-2.5.1/functions-develop.md 
translated_docs/fr/version-2.5.1/functions-develop.md
-  cp versioned_docs/version-2.5.2/functions-develop.md 
translated_docs/fr/version-2.5.2/functions-develop.md
-  cp versioned_docs/version-2.5.1/client-libraries-java.md 
translated_docs/fr/version-2.5.1/client-libraries-java.md
-  cp versioned_docs/version-2.5.0/client-libraries-java.md 
translated_docs/fr/version-2.5.0/client-libraries-java.md
-  cp versioned_docs/version-2.5.1/security-jwt.md 
translated_docs/fr/version-2.5.1/security-jwt.md
-
-  cp versioned_docs/version-2.4.2/functions-develop.md 
translated_docs/zh-TW/version-2.4.2/functions-develop.md
-  cp versioned_docs/version-2.5.0/functions-develop.md 
translated_docs/zh-TW/version-2.5.0/functions-develop.md
-  cp versioned_docs/version-2.5.0/io-overview.md 
translated_docs/zh-TW/version-2.5.0/io-overview.md
-  cp versioned_docs/version-2.5.1/functions-develop.md 
translated_docs/zh-TW/version-2.5.1/functions-develop.md
-  cp versioned_docs/version-2.5.2/functions-develop.md 
translated_docs/zh-TW/version-2.5.2/functions-develop.md
-  cp versioned_docs/version-2.5.1/client-libraries-java.md 
translated_docs/zh-TW/version-2.5.1/client-libraries-java.md
-  cp versioned_docs/version-2.5.0/client-libraries-java.md 
translated_docs/zh-TW/version-2.5.0/client-libraries-java.md
-  cp versioned_docs/version-2.5.1/security-jwt.md 
translated_docs/zh-TW/version-2.5.1/security-jwt.md
-
-  cp versioned_docs/version-2.4.2/functions-develop.md 
translated_docs/ko/version-2.4.2/functions-develop.md
-  cp versioned_docs/version-2.5.0/functions-develop.md 
translated_docs/ko/version-2.5.0/functions-develop.md
-  cp versioned_docs/version-2.5.0/io-overview.md 
translated_docs/ko/version-2.5.0/io-overview.md
-  cp versioned_docs/version-2.5.1/functions-develop.md 
translated_docs/ko/version-2.5.1/functions-develop.md
-  cp versioned_docs/version-2.5.2/functions-develop.md 
translated_docs/ko/version-2.5.2/functions-develop.md
-  cp versioned_docs/version-2.5.1/client-libraries-java.md 
translated_docs/ko/version-2.5.1/client-libraries-java.md
-  cp versioned_docs/version-2.5.0/client-libraries-java.md 
translated_docs/ko/version-2.5.0/client-libraries-java.md
-  cp versioned_docs/version-2.5.1/security-jwt.md 
translated_docs/ko/version-2.5.1/security-jwt.md
-
-  cp ../docs/client-libraries-java.md 
translated_docs/zh-CN/client-libraries-java.md
-  cp ../docs/security-jwt.md translated_docs/zh-CN/security-jwt.md
+  node scripts/fix-tab.js 
 }
 
 
diff --git a/site2/website/scripts/fix-tab.js b/site2/website/scripts/fix-tab.js
new file mode 100644
index 00000000000..73b27f05c0a
--- /dev/null
+++ b/site2/website/scripts/fix-tab.js
@@ -0,0 +1,42 @@
+const fs = require("fs");
+const path = require("path");
+const lodash = require("lodash");
+
+function travel(dir, callback) {
+  fs.readdirSync(dir).forEach((file) => {
+    var pathname = path.join(dir, file);
+    if (fs.statSync(pathname).isDirectory()) {
+      travel(pathname, callback);
+    } else {
+      callback(pathname);
+    }
+  });
+}
+
+function fixMd(filepath) {
+  let data = fs.readFileSync(filepath, "utf8");
+  if (
+    /^[ ]+<!--DOCUSAURUS_CODE_TABS-->/gm.test(data) ||
+    /<!--DOCUSAURUS_CODE_TABS-->\s+([^<!--]+)$/gm.test(data)
+  ) {
+    //(fr|ko|pt-PT|zh-CN|zh-TW)
+    //(version-(\d\.?)+)
+    let locale = /(fr|ko|pt-PT|zh-CN|zh-TW)/.exec(filepath)[1];
+    let filename = filepath.substr(filepath.lastIndexOf("/") + 1);
+    let version = /(version-(\d\.?)+)/.exec(filepath);
+    if (version) {
+      version = version[1];
+    }
+    console.log(filepath, locale, version, filename);
+    if (version) {
+      fs.copyFileSync(
+        path.join(__dirname, "../versioned_docs/", version, filename),
+        filepath
+      );
+    } else {
+      fs.copyFileSync(path.join(__dirname, "../../docs", filename), filepath);
+    }
+  }
+}
+
+travel(path.join(__dirname, "../translated_docs"), fixMd);

Reply via email to