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); + } + } + } + } +};
