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 616def27b63416c0af4acd98464033fa7f58a349
Author: LiLi <[email protected]>
AuthorDate: Thu Feb 17 15:25:47 2022 +0800

    update
    
    Signed-off-by: LiLi <[email protected]>
---
 site2/website-next/migrate/migrate-version.js    | 28 ++---------------------
 site2/website-next/migrate/tool/del-duplicate.js | 29 ++++++++++++++++++++++++
 2 files changed, 31 insertions(+), 26 deletions(-)

diff --git a/site2/website-next/migrate/migrate-version.js 
b/site2/website-next/migrate/migrate-version.js
index 3383eeb..4f10636 100644
--- a/site2/website-next/migrate/migrate-version.js
+++ b/site2/website-next/migrate/migrate-version.js
@@ -4,6 +4,7 @@ const _ = require("lodash");
 const leftMd = require("./tool/left-md");
 const fixMd = require("./tool/fix-md");
 const migrateChapter = require("./migrate-chapter");
+const delDuplicate = require("./tool/del-duplicate");
 const CONST = require("./const");
 const { old, next } = CONST;
 
@@ -51,32 +52,7 @@ const migrate = (version) => {
     let data = fixMd(fs.readFileSync(mdfile, "utf8"));
     fs.writeFileSync(path.join(dest, path.basename(mdfile)), data);
   }
-  //delete duplicate documents with same id
-  let duplicateMap = {};
-  let allDocs = fs.readdirSync(dest);
-  for (let filename of allDocs) {
-    let pathname = path.join(dest, filename);
-    if (fs.statSync(pathname).isDirectory()) {
-      continue;
-    }
-    if (!pathname.endsWith(".md")) {
-      continue;
-    }
-    let data = fs.readFileSync(pathname, "utf8");
-    let id = /id:\s*(.*)/.exec(data)[1];
-    if (id + ".md" == path.basename(pathname)) {
-      continue;
-    }
-    duplicateMap[id] = duplicateMap[id] || [];
-    duplicateMap[id].push(pathname);
-  }
-  console.log(duplicateMap);
-  for (let [key, duplicateFiles] of Object.entries(duplicateMap)) {
-    for (let file of duplicateFiles) {
-      // fs.unlinkSync(file);
-      console.log(file);
-    }
-  }
+  delDuplicate(dest);
 };
 
 module.exports = migrate;
diff --git a/site2/website-next/migrate/tool/del-duplicate.js 
b/site2/website-next/migrate/tool/del-duplicate.js
new file mode 100644
index 0000000..18a9b1b
--- /dev/null
+++ b/site2/website-next/migrate/tool/del-duplicate.js
@@ -0,0 +1,29 @@
+const fs = require("fs");
+const path = require("path");
+
+module.exports = (dest) => {
+  let duplicateMap = {};
+  let allDocs = fs.readdirSync(dest);
+  for (let filename of allDocs) {
+    let pathname = path.join(dest, filename);
+    if (fs.statSync(pathname).isDirectory()) {
+      continue;
+    }
+    if (!pathname.endsWith(".md")) {
+      continue;
+    }
+    let data = fs.readFileSync(pathname, "utf8");
+    let id = /id:\s*(.*)/.exec(data)[1];
+    duplicateMap[id] = duplicateMap[id] || [];
+    duplicateMap[id].push(pathname);
+  }
+  for (let [key, duplicateFiles] of Object.entries(duplicateMap)) {
+    if (duplicateFiles.length > 1) {
+      for (let file of duplicateFiles) {
+        if (key + "" != path.basename(file)) {
+          fs.unlinkSync(file);
+        }
+      }
+    }
+  }
+};

Reply via email to