This is an automated email from the ASF dual-hosted git repository. tison pushed a commit to branch tisonkun-patch-1 in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
commit 62b1056ab0a1ac306c4d80a2685ff32605777b6f Author: tison <[email protected]> AuthorDate: Tue Nov 15 14:51:07 2022 +0800 Delete site2/website-next/migrate directory These files are used during the migration stage. We've finished the migration already. --- site2/website-next/migrate/.gitignore | 3 - site2/website-next/migrate/README.md | 3 - site2/website-next/migrate/const.js | 14 -- site2/website-next/migrate/migrate-blogs.js | 40 ---- site2/website-next/migrate/migrate-change.js | 0 site2/website-next/migrate/migrate-chapter.js | 180 ----------------- site2/website-next/migrate/migrate-docs.js | 59 ------ site2/website-next/migrate/migrate-ext.js | 10 - site2/website-next/migrate/migrate-full.js | 19 -- site2/website-next/migrate/migrate-version.js | 100 ---------- site2/website-next/migrate/tool/del-duplicate.js | 37 ---- site2/website-next/migrate/tool/find-md.js | 126 ------------ site2/website-next/migrate/tool/fix-code.js | 41 ---- site2/website-next/migrate/tool/fix-jsx.js | 7 - site2/website-next/migrate/tool/fix-md.js | 58 ------ site2/website-next/migrate/tool/fix-space.js | 54 ----- site2/website-next/migrate/tool/fix-tab.js | 97 --------- site2/website-next/migrate/tool/fix-table.js | 72 ------- .../migrate/tool/fix-tip-note-in-list.js | 27 --- site2/website-next/migrate/tool/fix-tip-note.js | 81 -------- site2/website-next/migrate/tool/left-md.js | 217 --------------------- 21 files changed, 1245 deletions(-) diff --git a/site2/website-next/migrate/.gitignore b/site2/website-next/migrate/.gitignore deleted file mode 100644 index 074d0080879..00000000000 --- a/site2/website-next/migrate/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.cache -/node_modules -/log \ No newline at end of file diff --git a/site2/website-next/migrate/README.md b/site2/website-next/migrate/README.md deleted file mode 100644 index 1199cb35aa1..00000000000 --- a/site2/website-next/migrate/README.md +++ /dev/null @@ -1,3 +0,0 @@ -1. fix docs md -2. fix missing docs -3. fix duplicate docs \ No newline at end of file diff --git a/site2/website-next/migrate/const.js b/site2/website-next/migrate/const.js deleted file mode 100644 index 6c512921d9a..00000000000 --- a/site2/website-next/migrate/const.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - old: { - // docsDir: "docs-old", - // baseDir: "website-old", - docsDir: "docs", - baseDir: "website", - }, - next: { - // docsDir: "docs", - // baseDir: "website", - docsDir: "website-next/docs", - baseDir: "website-next", - }, -}; diff --git a/site2/website-next/migrate/migrate-blogs.js b/site2/website-next/migrate/migrate-blogs.js deleted file mode 100644 index f4564440d4d..00000000000 --- a/site2/website-next/migrate/migrate-blogs.js +++ /dev/null @@ -1,40 +0,0 @@ -const fs = require("fs"); -const path = require("path"); -const _ = require("lodash"); -const fixMd = require("./tool/fix-md"); -const findMd = require("./tool/find-md"); -const CONST = require("./const"); -const { old, next } = CONST; - -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 migrate(mdpath) { - let data = fs.readFileSync(mdpath, "utf8"); - data = fixMd(data) - .replace(/title:\s*(.*)/, 'title: "$1"') - .replace(/title:\s*""(.*)""/, 'title: "$1"') - .replace(/\.\.\/img\//g, "/img/"); - if (!/<!--truncate-->/.test(data)) { - data = data.replace(/\.\n/, ".\n\n<!--truncate-->\n"); - } - fs.writeFileSync(mdpath, data); - console.log(mdpath + " fixed"); -} - -module.exports = (dir) => { - travel(dir, migrate); -}; - -//Test -if (typeof require !== "undefined" && require.main === module) { - travel(path.join(__dirname, "../blog"), migrate); -} diff --git a/site2/website-next/migrate/migrate-change.js b/site2/website-next/migrate/migrate-change.js deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/site2/website-next/migrate/migrate-chapter.js b/site2/website-next/migrate/migrate-chapter.js deleted file mode 100644 index dda51e69884..00000000000 --- a/site2/website-next/migrate/migrate-chapter.js +++ /dev/null @@ -1,180 +0,0 @@ -const fs = require("fs"); -const path = require("path"); -const _ = require("lodash"); -const migrateDocs = require("./migrate-docs"); -const migrateExt = require("./migrate-ext"); -const CONST = require("./const"); -const { old, next } = CONST; - -function _log(msg) { - if (typeof require !== "undefined" && require.main === module) { - console.log(msg); - } -} - -const migrate = (version, category, cb) => { - let version_full = "version-" + version; - let src = `../../${old.baseDir}/versioned_docs/` + version_full; - let dest = `../../${next.baseDir}/versioned_docs/` + version_full; - if (version == "next") { - src = "../../" + old.docsDir; - dest = "../../" + next.docsDir; - } - src = path.join(__dirname, src); - dest = path.join(__dirname, dest); - - let sidebar_file = path.join( - __dirname, - `../../${old.baseDir}/versioned_sidebars/` + version_full + "-sidebars.json" - ); - if (version == "next") { - sidebar_file = path.join(__dirname, `../../${old.baseDir}/sidebars.json`); - } - let sidebar = fs.readFileSync(sidebar_file, "utf8"); - sidebar = JSON.parse(sidebar); - - const _key = version == "next" ? "docs" : version_full + "-docs"; - sidebar = sidebar[_key][category]; - if (version != "next") { - sidebar = sidebar.map((item) => { - return item.substr(version_full.length + 1); - }); - } - if (!sidebar) { - return; - } - - console.log(" [" + version + ":" + category + "]migrate..."); - let existsSidebar = []; - for (let docsId of sidebar) { - let mdpath = migrateDocs(version, category, docsId, cb); - if (mdpath) { - existsSidebar.push(docsId); - } - } - sidebar = existsSidebar; - - let new_sidebar_file = ""; - let new_sidebar = {}; - - if (version == "next") { - new_sidebar_file = path.join( - __dirname, - `../../${next.baseDir}/sidebars.json` - ); - try { - new_sidebar = fs.readFileSync(new_sidebar_file, "utf8"); - new_sidebar = JSON.parse(new_sidebar); - } catch { - new_sidebar = { - docsSidebar: [], - }; - } - let categoryMap = _.keyBy(new_sidebar.docsSidebar, "label"); - if (!categoryMap[category]) { - new_sidebar.docsSidebar.push({ - type: "category", - label: category, - items: sidebar, - }); - } else { - categoryMap[category].items = sidebar; - if (migrateExt.sidebar[category]) { - categoryMap[category].items = categoryMap[category].items.concat( - migrateExt.sidebar[category].map((it) => it.id) - ); - } - - // categoryMap[category].items = categoryMap[category].items.concat( - // sidebar.filter((item) => { - // return !categoryMap[category].items.includes(item); - // }) - // ); - - new_sidebar.docsSidebar = _.values(categoryMap); - } - } else { - new_sidebar_file = path.join( - __dirname, - `../../${next.baseDir}/versioned_sidebars/` + - version_full + - "-sidebars.json" - ); - try { - new_sidebar = fs.readFileSync(new_sidebar_file, "utf8"); - new_sidebar = JSON.parse(new_sidebar); - } catch { - new_sidebar = { - [version_full + "/docsSidebar"]: [], - }; - } - let categoryMap = _.keyBy( - new_sidebar[version_full + "/docsSidebar"], - "label" - ); - if (!categoryMap[category]) { - new_sidebar[version_full + "/docsSidebar"].push({ - type: "category", - label: category, - items: sidebar.map((item) => { - return { - type: "doc", - id: - version_full + - "/" + - (item == "deploy-docs" ? "deploy-dcos" : item), - }; - }), - // collapsible: true, - // collapsed: true, - }); - } else { - categoryMap[category].items = sidebar.map((item) => { - return { - type: "doc", - id: - version_full + "/" + (item == "deploy-docs" ? "deploy-dcos" : item), - }; - }); - if (migrateExt.sidebar[category]) { - categoryMap[category].items = categoryMap[category].items.concat( - migrateExt.sidebar[category].map((item) => { - return { - ...item, - id: version_full + "/" + item.id, - }; - }) - ); - } - - // let _sbExists = _.keyBy(categoryMap[category].items, "id"); - // let _sb = sidebar - // .map((item) => { - // return { - // type: "doc", - // id: - // version_full + - // "/" + - // (item == "deploy-docs" ? "deploy-dcos" : item), - // }; - // }) - // .filter((item) => { - // return !_sbExists[item.id]; - // }); - // if (_sb.length > 0) { - // categoryMap[category].items = categoryMap[category].items.concat(_sb); - // } - - new_sidebar[version_full + "/docsSidebar"] = _.values(categoryMap); - } - } - fs.writeFileSync(new_sidebar_file, JSON.stringify(new_sidebar, null, 2)); -}; - -module.exports = migrate; - -//Test -if (typeof require !== "undefined" && require.main === module) { - // migrate("next", "Pulsar IO"); - migrate("2.8.0", "Pulsar IO"); -} diff --git a/site2/website-next/migrate/migrate-docs.js b/site2/website-next/migrate/migrate-docs.js deleted file mode 100644 index 9b727c026b9..00000000000 --- a/site2/website-next/migrate/migrate-docs.js +++ /dev/null @@ -1,59 +0,0 @@ -const fs = require("fs"); -const path = require("path"); -const _ = require("lodash"); -const fixMd = require("./tool/fix-md"); -const findMd = require("./tool/find-md"); -const CONST = require("./const"); -const { old, next } = CONST; - -function migrate(version, chapter, docsId, cb) { - let dest = `../../${next.baseDir}/versioned_docs/version-` + version; - if (version == "next") { - dest = "../../" + next.docsDir; - } - let destDir = path.join(__dirname, dest); - dest = path.join(__dirname, dest, docsId + ".md"); - let mdpath = findMd(version, docsId); - if (mdpath) { - console.log( - " [" + - version + - ":" + - chapter + - ":" + - docsId + - "] from " + - mdpath + - " migrate..." - ); - let data = fs.readFileSync(mdpath, "utf8"); - data = fixMd(data, version); - if (!fs.existsSync(destDir)) { - fs.mkdirSync(destDir); - } - fs.writeFileSync(dest, data); - cb && cb(docsId); - } else { - console.log( - " [" + - version + - ":" + - chapter + - ":" + - docsId + - "] from " + - mdpath + - " was not fund, skip..." - ); - } - return mdpath; -} - -module.exports = migrate; - -//Test -if (typeof require !== "undefined" && require.main === module) { - // migrate("next", "Deployment", "deploy-dcos"); - migrate("2.9.1", "Development", "develop-schema"); - // migrate("2.8.0", "", "adaptors-kafka"); -} diff --git a/site2/website-next/migrate/migrate-ext.js b/site2/website-next/migrate/migrate-ext.js deleted file mode 100644 index b2879637adc..00000000000 --- a/site2/website-next/migrate/migrate-ext.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - sidebar: { - Reference: [ - { - type: "doc", - id: "reference-rest-api-overview", - }, - ], - }, -}; diff --git a/site2/website-next/migrate/migrate-full.js b/site2/website-next/migrate/migrate-full.js deleted file mode 100644 index dbbaf45d69e..00000000000 --- a/site2/website-next/migrate/migrate-full.js +++ /dev/null @@ -1,19 +0,0 @@ -const migrateVersion = require("./migrate-version"); -const _ = require("lodash"); -let versions = require("../versions.json"); -let stageVersions = require("../stage-versions.json"); -versions = ["next"].concat(stageVersions).concat(versions); -versions = _.uniq(versions); - -const migrate = (vs) => { - (vs || versions).forEach((v) => { - migrateVersion(v); - }); -}; - -module.exports = migrate; - -//Test -if (typeof require !== "undefined" && require.main === module) { - migrate(); -} diff --git a/site2/website-next/migrate/migrate-version.js b/site2/website-next/migrate/migrate-version.js deleted file mode 100644 index e9d9955910d..00000000000 --- a/site2/website-next/migrate/migrate-version.js +++ /dev/null @@ -1,100 +0,0 @@ -const fs = require("fs"); -const path = require("path"); -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; -const versions = require("../versions.json"); -const latestVersion = versions[0]; - -const migrate = (version) => { - let version_full = "version-" + version; - let src = `../../${old.baseDir}/versioned_docs/` + version_full; - let dest = `../../${next.baseDir}/versioned_docs/` + version_full; - if (version == "next") { - src = "../../" + old.docsDir; - dest = "../../" + next.docsDir; - } - src = path.join(__dirname, src); - dest = path.join(__dirname, dest); - - let sidebar_file = path.join( - __dirname, - `../../${old.baseDir}/versioned_sidebars/` + version_full + "-sidebars.json" - ); - if (version == "next") { - sidebar_file = path.join(__dirname, `../../${old.baseDir}/sidebars.json`); - } - let sidebar = fs.readFileSync(sidebar_file, "utf8"); - sidebar = JSON.parse(sidebar); - - const _key = version == "next" ? "docs" : version_full + "-docs"; - let chapterList = _.keys(sidebar[_key]); - - let migratedList = []; - for (let chapter of chapterList) { - migrateChapter(version, chapter, (docsId) => { - migratedList.push(docsId); - }); - } - let leftMdList = leftMd(version, migratedList); - for (let mdfile of leftMdList) { - console.log( - " [" + version + ":left:" + path.basename(mdfile) + "]migrate..." - ); - let data = fixMd(fs.readFileSync(mdfile, "utf8")); - fs.writeFileSync(path.join(dest, path.basename(mdfile)), data); - } - delDuplicate(dest, version); - - //copy about.md from next version dir - let aboutDocPath = path.join(__dirname, `../../${next.docsDir}/about.md`); - let destSidebarPath = path.join( - __dirname, - `../../${next.baseDir}/versioned_sidebars/${version_full}-sidebars.json` - ); - if (version == "next") { - destSidebarPath = path.join( - __dirname, - `../../${next.baseDir}/sidebars.json` - ); - } else { - let _about = fs.readFileSync(aboutDocPath, "utf8"); - let _replace = `url="/docs/${version}/`; - if (version == latestVersion) { - _replace = `url="/docs/`; - } - _about = _about.replace(/url="\/docs\/next\//g, _replace); - fs.writeFileSync(path.join(dest, "about.md"), _about); - } - - sidebar = fs.readFileSync(destSidebarPath, "utf8"); - sidebar = JSON.parse(sidebar); - let items = Object.values(sidebar)[0]; - let aboutId = version == "next" ? "about" : `${version_full}/about`; - let _items = [ - { - type: "doc", - id: aboutId, - }, - ]; - for (let item of items) { - if (item.type == "doc" && item.id == aboutId) { - continue; - } - _items.push(item); - } - sidebar[Object.keys(sidebar)[0]] = _items; - fs.writeFileSync(destSidebarPath, JSON.stringify(sidebar, null, 2), "utf8"); -}; - -module.exports = migrate; - -//Test -if (typeof require !== "undefined" && require.main === module) { - const args = process.argv.slice(2); - migrate(args[0]); -} diff --git a/site2/website-next/migrate/tool/del-duplicate.js b/site2/website-next/migrate/tool/del-duplicate.js deleted file mode 100644 index 54fad8bfc6e..00000000000 --- a/site2/website-next/migrate/tool/del-duplicate.js +++ /dev/null @@ -1,37 +0,0 @@ -const fs = require("fs"); -const path = require("path"); - -module.exports = (dest, version) => { - 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"); - try { - let id = /id:\s*(.*)/.exec(data)[1]; - duplicateMap[id] = duplicateMap[id] || []; - duplicateMap[id].push(pathname); - } catch (error) { - console.log("...error path: ", pathname); - throw error; - } - } - for (let [key, duplicateFiles] of Object.entries(duplicateMap)) { - if (duplicateFiles.length > 1) { - for (let file of duplicateFiles) { - if (key + ".md" != path.basename(file)) { - console.log( - " [" + version + ":duplicate:" + key + "]del " + file - ); - fs.unlinkSync(file); - } - } - } - } -}; diff --git a/site2/website-next/migrate/tool/find-md.js b/site2/website-next/migrate/tool/find-md.js deleted file mode 100644 index 98b5268f41a..00000000000 --- a/site2/website-next/migrate/tool/find-md.js +++ /dev/null @@ -1,126 +0,0 @@ -const fs = require("fs"); -const path = require("path"); -const CONST = require("../const"); -const { old, next } = CONST; - -function _logMissing(version, docsId, pathname) { - if (!pathname) { - let log = "{}"; - let logdir = path.join(__dirname, "../log"); - let logpath = path.join(__dirname, "../log", version + ".missing"); - if (!fs.existsSync(logdir)) { - fs.mkdirSync(logdir); - } - if (fs.existsSync(logpath)) { - log = fs.readFileSync(logpath, "utf8"); - } - log = JSON.parse(log); - log[docsId] = pathname ? pathname : ""; - fs.writeFileSync(path.join(logpath), JSON.stringify(log)); - - console.log( - " ######[" + - version + - ":" + - docsId + - "]not fund and fix missing fail" - ); - } -} - -const _search = (dir, version, docsId, reg) => { - let pathname = path.join(dir, docsId + ".md"); - if (fs.existsSync(pathname)) { - let data = fs.readFileSync(pathname, "utf8"); - if (reg.test(data)) { - console.log( - " ******[" + version + ":" + docsId + "]fund: " + pathname - ); - return pathname; - } - } - let docsList = fs.readdirSync(dir); - for (let filename of docsList) { - let pathname = path.join(dir, filename); - if (fs.statSync(pathname).isDirectory()) { - continue; - } - if (!pathname.endsWith(".md")) { - continue; - } - let data = fs.readFileSync(pathname, "utf8"); - if (reg.test(data)) { - console.log(" ******[" + version + ":" + docsId + "]fund: " + pathname); - return pathname; - } - } - console.log( - " ######[" + version + ":" + docsId + "]not fund in: " + dir - ); - return null; -}; - -const find = (version, docsId) => { - let vReg = new RegExp( - "^id:\\s*version-(\\d\\.?)+-(incubating-)?" + docsId + "\\s*$", - "m" - ); - let nextReg = new RegExp("^id:\\s*" + docsId + "\\s*$", "m"); - - let version_full = "version-" + version; - let src = `../../../${old.baseDir}/versioned_docs/` + version_full; - if (version == "next") { - src = "../../../" + old.docsDir; - } - src = path.join(__dirname, src); - nextDir = path.join(__dirname, "../../../" + old.docsDir); - vDocsDir = path.join(__dirname, `../../../${old.baseDir}/versioned_docs`); - - let pathname = _search( - src, - version, - docsId, - version == "next" ? nextReg : vReg - ); - if (pathname || version == "next") { - _logMissing(version, docsId, pathname); - return pathname; - } - - if (!pathname) { - console.log( - " ######[" + - version + - ":" + - docsId + - "]not fund, will auto fix missing" - ); - pathname = _search(nextDir, version, docsId, nextReg); - if (!pathname) { - let vDocsDirList = fs.readdirSync(vDocsDir); - vDocsDirList = vDocsDirList.sort((a, b) => { - let aVersion = /((\d\.?)+)/.exec(a)[1]; - let bVersion = /((\d\.?)+)/.exec(b)[1]; - aVersion = parseInt(aVersion.replace(/\./g, "")); - bVersion = parseInt(bVersion.replace(/\./g, "")); - return bVersion - aVersion; - }); - for (let vDir of vDocsDirList) { - pathname = _search(path.join(vDocsDir, vDir), version, docsId, vReg); - if (pathname) { - break; - } - } - } - } - _logMissing(version, docsId, pathname); - return pathname; -}; - -module.exports = find; - -//Test -if (typeof require !== "undefined" && require.main === module) { - // find("2.6.0", "adaptors-kafka"); - find("next", "deploy-dcos"); -} diff --git a/site2/website-next/migrate/tool/fix-code.js b/site2/website-next/migrate/tool/fix-code.js deleted file mode 100644 index b2974738198..00000000000 --- a/site2/website-next/migrate/tool/fix-code.js +++ /dev/null @@ -1,41 +0,0 @@ -module.exports = (data) => { - let nData = data; - - let reg = /^([\t ]*)(>*)([\t ]*)(```.*)((((?!```).)*\n*)+)```/gm; //代码块 - while ((codeGroup = reg.exec(data))) { - let _match = codeGroup[0]; - let space1 = codeGroup[1]; - let arrow = codeGroup[2]; - let space2 = codeGroup[3]; - let begin = codeGroup[4]; - let code = codeGroup[5]; - let prefix = space1 + arrow + space2; - if ((code = /[\t ]*(.+\n*)*\S/.exec(code))) { - code = code[0]; //剔除纯空白的行首和行尾, 得到纯代码 - if (code.substr(0, prefix.length) != prefix) { - code = prefix + code.replace(/\n(.*)/g, "\n" + prefix + "$1"); //行对齐 - } - } - let newCodeBlock = - "\n" + - prefix + - begin + - "\n" + - prefix + - "\n" + - code + - "\n" + - prefix + - "\n" + - prefix + - "```" + - "\n"; - nData = nData.replace(_match, newCodeBlock); - } - return nData - .replace( - /(.*)(\s*\n){3,}(\s*```.*)((((?!```).)*\n*)+)```.*(\s*\n)+/g, - "$1\n\n$3$4```\n\n" - ) //解决多个空行 - .replace(/^(\s*```.*(((?!```).)*\n*)+)```.*\n+/gm, "$1```\n\n"); //解决多个空行 //解决代码块结束标识符后无空行 -}; diff --git a/site2/website-next/migrate/tool/fix-jsx.js b/site2/website-next/migrate/tool/fix-jsx.js deleted file mode 100644 index 48bce1ca425..00000000000 --- a/site2/website-next/migrate/tool/fix-jsx.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = (data) => { - return data - .replace(/(import Tabs from '@theme\/Tabs';)/g, "````mdx-code-block\n$1") - .replace(/(import TabItem from '@theme\/TabItem';)/g, "$1\n````") - .replace(/(<Tabs>?)/g, "````mdx-code-block\n$1") - .replace(/(<\/Tabs>)/g, "$1\n````"); -}; diff --git a/site2/website-next/migrate/tool/fix-md.js b/site2/website-next/migrate/tool/fix-md.js deleted file mode 100644 index c4fcaa16754..00000000000 --- a/site2/website-next/migrate/tool/fix-md.js +++ /dev/null @@ -1,58 +0,0 @@ -const fixTab = require("./fix-tab"); -const fixTipNote = require("./fix-tip-note"); -const fixTable = require("./fix-table"); -const fixCode = require("./fix-code"); -const fixTipNoteInList = require("./fix-tip-note-in-list"); -const fixJSX = require("./fix-jsx"); - -function fix(data, version) { - // let reg = new RegExp("id:\\s*version-" + version + "-(incubating-)?"); - let reg = new RegExp("id:\\s*version-(\\d\\.?)+-(incubating-)?"); - data = fixTable(data); - data = fixTab(data); - data = data.replace(/(<TabItem.*)\n(.*{@inject:\s*.+?})/g, "$1\n\n$2"); - data = data.replace(/^(>\s*```\w*)(\s*\n){2,}>/gm, "$1\n>\n>"); - data = fixTipNote(data); - data = fixTipNoteInList(data); - data = fixCode(data); - data = data - .replace(reg, "id: ") - .replace("id: deploy-docs", "id: deploy-dcos") - .replace(/`{4,}/g, "```") - // .replace(/^(id:\sstandalone)\s*$/gm, "slug: /\n$1") - .replace(/<style[\s\S]*?<\/style>/g, "") - .replace(/\[(.*)\]\s*\((.*)\.md\)/g, "[$1]($2)") - .replace(/\*\*(((?!\*).)+)\*/g, "**$1**") //**macOS* => **macOS** - .replace(/\*\*(((?!\*).)+)\*{3}/g, "**$1**") //**macOS*** => **macOS** - .replace(/(\w)[\t ]*\n\[/g, "$1 [") - .replace(/sidebar_label:\s*(.*)/, 'sidebar_label: "$1"') - .replace(/""(.*)""/, '"$1"') - .replace(/\[\[pulsar:version_number\]\]/g, "@pulsar:version_number@") - .replace(/{{(pulsar:.*?)}}/g, "@$1@") - .replace(/(@inject:\s*\w+:)`(\w+)`/g, "$1$2") - .replace(/<empty string>/g, "|") - .replace(/<li>(((?!<\/?li>|\|).)+)/g, "<li>$1</li>") - .replace(/<\/li>\s*<\/li>/g, "</li>") - .replace(/\|(((?!<\/?li>|\|).)+)<\/li>/g, "|<li>$1</li>") - .replace(/<\/li>\s*<\/li>/g, "</li>") //sometimes needed, no idea for now... - .replace(/<\/br>/g, "@AAA@") - .replace(/<br>/g, "@AAA@") - .replace(/<br\/>/g, "@AAA@") - .replace(/<>/g, "") - .replace(/@AAA@/g, "<br />") - .replace( - /<span style="(((?!:).)+):(((?!>).)+);"/g, - '<span style={{color: "$3"}}' - ) - .replace(/\s?style=".*?"/g, "") - .replace(/\]\(assets\//g, "](/assets/"); - - // return data; - return fixJSX(data); -} - -module.exports = fix; - -//Test -if (typeof require !== "undefined" && require.main === module) { -} diff --git a/site2/website-next/migrate/tool/fix-space.js b/site2/website-next/migrate/tool/fix-space.js deleted file mode 100644 index 56dfd990267..00000000000 --- a/site2/website-next/migrate/tool/fix-space.js +++ /dev/null @@ -1,54 +0,0 @@ -const fs = require("fs"); -const path = require("path"); - -const code_map = {}; -let index = 0; - -function fixSpace(data) { - const code_reg = /(```\w*)((((?!```).)*\n*)+)```/; - const _match = code_reg.exec(data); - if (_match) { - const code = _match[0]; - const TMP_KEY = "_TMP_CODE_KEY_" + index + "_"; - code_map[TMP_KEY] = code; - index++; - data = data.replace(code_reg, TMP_KEY); - return fixSpace(data); - } else { - return data; - } -} - -function fixTmp(data) { - const tmp_reg = /_TMP_CODE_KEY_(\d+)_/; - const _match = tmp_reg.exec(data); - if (_match) { - data = data.replace(tmp_reg, code_map[_match[0]]); - return fixTmp(data); - } else { - return data; - } -} - -function fix(data) { - data = fixSpace(data); - data = data.replace(/^[\t ]+/gm, ""); - data = fixTmp(data); - return data; -} - -function test() { - let data = fs.readFileSync( - path.join(__dirname, "../bak/io-quickstart.md"), - "utf8" - ); - data = fixSpace(data); - data = data.replace(/^[\t ]+/gm, ""); - data = fixTmp(data); - // console.log(data); - fs.writeFileSync(path.join(__dirname, "../bak/io-quickstart-fixed.md"), data); -} - -// test(); - -module.exports = fix; diff --git a/site2/website-next/migrate/tool/fix-tab.js b/site2/website-next/migrate/tool/fix-tab.js deleted file mode 100644 index 3dd751ad420..00000000000 --- a/site2/website-next/migrate/tool/fix-tab.js +++ /dev/null @@ -1,97 +0,0 @@ -const fs = require("fs"); -const path = require("path"); -const lodash = require("lodash"); -const TAB_REG = - /([\t ]*)<!--DOCUSAURUS_CODE_TABS-->(((?!<!--END_DOCUSAURUS_CODE_TABS-->).)*\n*)*<!--END_DOCUSAURUS_CODE_TABS-->/; - -function removeTabTag(tab) { - return tab - .replace(/<!--DOCUSAURUS_CODE_TABS-->/, "") - .replace(/<!--END_DOCUSAURUS_CODE_TABS-->/, ""); -} - -function findTabItemNameList(tab) { - const _match = tab.match(/<!--(.*)-->/g); - return _match.map((item) => { - return item.replace("<!--", "").replace("-->", ""); - }); -} - -function replaceTabItemTag(tab) { - const tab_item_reg = /([\t ]*)<!--(.*)-->((((?![\t ]*<!--).)*\n*)*)/; - const _match = tab_item_reg.exec(tab); - if (_match) { - const space = _match[1]; - const tab_item_name = _match[2]; - const tab_item_content = lodash.trimEnd(_match[3]); - let tab_item_str = space + '<TabItem value="'; - tab_item_str += - tab_item_name + '">' + tab_item_content + "\n\n" + space + "</TabItem>\n"; - tab = tab.replace(tab_item_reg, tab_item_str); - return replaceTabItemTag(tab); - } else { - return tab; - } -} - -function importTabComponent(data) { - if (!/import Tabs from '@theme\/Tabs';/g.exec(data)) { - return data.replace( - /---((((?!---).)*\n*)*)---/, - "---$1---" + - "\n\nimport Tabs from '@theme/Tabs';\nimport TabItem from '@theme/TabItem';\n" - ); - } - return data; -} - -function fixTab(data) { - const _match = TAB_REG.exec(data); - if (_match) { - data = importTabComponent(data); - let tab = _match[0]; - tab = removeTabTag(tab); - const names = findTabItemNameList(tab); - tab = replaceTabItemTag(tab); - const names_map = names.map((item) => { - return { - label: item, - value: item, - }; - }); - - const space = _match[1]; - const tab_tag_begin = - space + - "<Tabs \n" + - space + - ' defaultValue="' + - names[0] + - '"\n' + - space + - " values={" + - JSON.stringify(names_map) + - "}>"; - - const tab_tag_end = "\n" + space + "</Tabs>"; - tab = tab_tag_begin + tab + tab_tag_end; - return fixTab(data.replace(TAB_REG, tab)); - } else { - return data - .replace(/(<TabItem.*)\n[\t ]*\n/g, "$1\n") - .replace(/(<TabItem.*)/g, "$1\n"); - } -} - -function test() { - let data = fs.readFileSync( - path.join(__dirname, "../bak/schema-manage.md"), - "utf8" - ); - data = fixTab(data); - console.log(data); -} - -// test() - -module.exports = fixTab; diff --git a/site2/website-next/migrate/tool/fix-table.js b/site2/website-next/migrate/tool/fix-table.js deleted file mode 100644 index 6d436590803..00000000000 --- a/site2/website-next/migrate/tool/fix-table.js +++ /dev/null @@ -1,72 +0,0 @@ -const fs = require("fs"); -const path = require("path"); -const NL = "\n"; - -//Convert HTML table to markdown table -function convertTableElementToMarkdown(table) { - let rows = []; - let trEls = table.match(/[<]tr[\s\S]*?[/]tr[>]/g); - for (let i = 0; i < trEls.length; i++) { - let tableRow = trEls[i]; - let markdownRow = convertTableRowElementToMarkdown(tableRow, i); - rows.push(markdownRow); - } - return rows.join(NL); -} - -//Convert the rows of the HTML table to the rows of the markdown table -function convertTableRowElementToMarkdown(tableRow, rowNumber) { - let cells = []; - let cellEls = []; - cellEls = tableRow.match(/[<]th[\s\S]*?[/]th[>]/g); - if (!cellEls || cellEls.length == 0) { - cellEls = tableRow.match(/[<]td[\s\S]*?[/]td[>]/g); - } - let dividerCells = []; - if (rowNumber == 0) { - for (i = 0; i < cellEls.length; i++) { - dividerCells.push("---" + " |"); - } - dividerCells = "| " + dividerCells.join(" "); - } - for (let i = 0; i < cellEls.length; i++) { - let cell = cellEls[i]; - cell.indexOf(">") + 1; - - cells.push( - cell - .substring(cell.indexOf(">") + 1, cell.indexOf("<", cell.indexOf(">"))) - .replace(/\*\s+([^\|\*]*)/g, "<li>$1</li>") + " | " - ); - } - let row = "| " + cells.join(" "); - if (rowNumber == 0) { - row = row + NL + dividerCells; - } - - return row; -} - -function fix(data) { - let content = data; - let patt1 = /[<]table[\s\S]*?[/]table[>]/g; - let tables = content.match(patt1); - if (tables) { - for (let e of tables) { - let et = e.replace(/\s+/g, " "); - let markdownTable = convertTableElementToMarkdown(et); - content = content.replace(e, markdownTable); - } - } - return content; -} - -// function test() { -// let data = fs.readFileSync(path.join(__dirname, "../bak/txn-how.md"), "utf8"); -// data = fix(data); -// fs.writeFileSync(path.join(__dirname, "../bak/txn-how-fixed.md"), data); -// } - -// test(); - -module.exports = fix; diff --git a/site2/website-next/migrate/tool/fix-tip-note-in-list.js b/site2/website-next/migrate/tool/fix-tip-note-in-list.js deleted file mode 100644 index 81a3cba8123..00000000000 --- a/site2/website-next/migrate/tool/fix-tip-note-in-list.js +++ /dev/null @@ -1,27 +0,0 @@ -module.exports = (data) => { - let nData = data; - let block = null; - - let uListReg = /^([\*-][\t ]+.*)\n+((\n*[\t ]+.*)*)*/gm; - - while ((block = uListReg.exec(data))) { - let content = block[2]; - if (!content) { - continue; - } - let nContent = content.replace(/^ (?= *)/gm, " "); - nData = nData.replace(content, nContent); - } - - let listReg = /^(\d+\.[\t ]+.*)\n+((\n*[\t ]+.*)*)*/gm; - while ((block = listReg.exec(data))) { - let content = block[2]; - if (!content) { - continue; - } - let nContent = content.replace(/^ (?= *)/gm, " "); - nData = nData.replace(content, nContent); - } - - return nData; -}; diff --git a/site2/website-next/migrate/tool/fix-tip-note.js b/site2/website-next/migrate/tool/fix-tip-note.js deleted file mode 100644 index 6becf1a5ea7..00000000000 --- a/site2/website-next/migrate/tool/fix-tip-note.js +++ /dev/null @@ -1,81 +0,0 @@ -const fs = require("fs"); -const path = require("path"); - -function fixTip(data) { - const _reg = - /^([\t ]*)>[\t ]*#*[\t ]*\**(Note|Tip)+s?:?\**[\t ]*\n(([\t ]*)>[\t ]*[^><].*\n)+/gm; - const _type_reg = /#*[\t ]*\**(Note|Tip)+s?:?\**[\t ]*/i; - - let type = "note"; - let _tips = data.match(_reg); - if (!_tips) { - return data; - } - for (let _tip of _tips) { - let tip = _tip.replace(/^[ ]>/gm, ">").replace(/^([\t ]*>)[\t ]*/gm, "$1"); - let type_match = _type_reg.exec(tip); - if (type_match) { - type = type_match[1] + ""; - type = type.toLowerCase(); - } - let space = /^([\t ]*)>/.exec(tip)[1]; - // if (space.length % 2 == 1) { - // space = space.substr(1); - // } - tip = tip - .replace(_type_reg, "") - .replace(/^([\t ]*)>[\t ]*/gm, space) - .replace(/^\s*\n/gm, ""); - tip = space + ":::" + type + "\n\n" + tip + "\n" + space + ":::\n"; - data = data.replace(_tip, tip); - } - return data - .replace( - /(.*)(\s*\n){3,}(\s*:::.*)((((?!:::).)*\n*)+):::.*(\s*\n)+/g, - "$1\n\n$3$4:::\n\n" - ) //解决多个空行 - .replace(/(\s*:::.*(((?!:::).)*\n*)+):::.*\n+/g, "$1:::\n\n"); //解决多个空行 //解决代码块结束标识符后无空行 -} - -// function fixListWithTip(data) { -// const _reg = /^([*-]\s+.*)([\s\S]*?)(:::[\s\S]*?:::)/gm; -// let _match = data.match(_reg); -// if (!_match) { -// return data; -// } -// for (let _m of _match) { -// let __m = _m.match(/^([*-]\s+.*)([\s\S]*?)(:::[\s\S]*?:::)/m); -// let top = __m[1]; -// let seconds = __m[2]; -// let tip = __m[3]; -// // seconds = seconds.replace(/^([\t ]*)(\w+)/gm, "$1* $2"); -// tip = tip.replace(/^[\t ]+/gm, ""); -// data = data -// .replace(_m, top + seconds + "\n" + tip) -// .replace(/(\s*\n){3,}:::/g, "\n\n:::") -// .replace(/:::(\s*\n){3,}/g, ":::\n\n"); -// } -// return data; -// } - -function fix(data) { - data = fixTip(data); - // data = fixListWithTip(data); - return data; -} - -function test() { - let data = fs.readFileSync( - path.join(__dirname, "../bak/tiered-storage-overview.md"), - "utf8" - ); - data = fix(data); - fs.writeFileSync( - path.join(__dirname, "../bak/tiered-storage-overview-fixed.md"), - data - ); -} - -// test(); - -module.exports = fix; diff --git a/site2/website-next/migrate/tool/left-md.js b/site2/website-next/migrate/tool/left-md.js deleted file mode 100644 index 356160a1f02..00000000000 --- a/site2/website-next/migrate/tool/left-md.js +++ /dev/null @@ -1,217 +0,0 @@ -const fs = require("fs"); -const path = require("path"); -const CONST = require("../const"); -const { old, next } = CONST; - -function _log(msg) { - if (typeof require !== "undefined" && require.main === module) { - console.log(msg); - } -} - -const left = (version, migratedList) => { - let vReg = /id:\s*version-(\d\.?)+-(incubating-)?(.*)/; - let nextReg = /id:\s*(.*)/; - let list = []; - - let version_full = "version-" + version; - let src = `../../../${old.baseDir}/versioned_docs/` + version_full; - if (version == "next") { - src = "../../../" + old.docsDir; - } - src = path.join(__dirname, src); - let docsList = fs.readdirSync(src); - for (let filename of docsList) { - let pathname = path.join(src, filename); - if (fs.statSync(pathname).isDirectory()) { - continue; - } - let data = fs.readFileSync(pathname, "utf8"); - let id = ""; - if (vReg.test(data)) { - id = vReg.exec(data)[3]; - } else if (nextReg.test(data)) { - id = nextReg.exec(data)[1]; - } - if (migratedList.includes(id)) { - continue; - } - // list.push(filename.replace(".md", "")); - list.push(pathname); - } - return list; -}; - -module.exports = left; - -//Test -if (typeof require !== "undefined" && require.main === module) { - let list = left("2.9.1", [ - "adaptors-kafka", - "adaptors-spark", - "adaptors-storm", - "admin-api-brokers", - "admin-api-clusters", - "admin-api-functions", - "admin-api-namespaces", - "admin-api-non-partitioned-topics", - "admin-api-non-persistent-topics", - "admin-api-overview", - "admin-api-packages", - "admin-api-partitioned-topics", - "admin-api-permissions", - "admin-api-persistent-topics", - "admin-api-schemas", - "admin-api-tenants", - "admin-api-topics", - "administration-dashboard", - "administration-geo", - "administration-isolation", - "administration-load-balance", - "administration-proxy", - "administration-pulsar-manager", - "administration-stats", - "administration-upgrade", - "administration-zk-bk", - "client-libraries-cgo", - "client-libraries-cpp", - "client-libraries-dotnet", - "client-libraries-go", - "client-libraries-java", - "client-libraries-node", - "client-libraries-python", - "client-libraries-websocket", - "concepts-architecture-overview", - "concepts-authentication", - "concepts-clients", - "concepts-messaging", - "concepts-multi-tenancy", - "concepts-multiple-advertised-listeners", - "concepts-overview", - "concepts-proxy-sni-routing", - "concepts-replication", - "concepts-tiered-storage", - "concepts-topic-compaction", - "concepts-transactions", - "cookbooks-bookkeepermetadata", - "cookbooks-compaction", - "cookbooks-deduplication", - "cookbooks-encryption", - "cookbooks-message-queue", - "cookbooks-non-persistent", - "cookbooks-partitioned", - "cookbooks-retention-expiry", - "cookbooks-tiered-storage", - "deploy-aws", - "deploy-bare-metal-multi-cluster", - "deploy-bare-metal", - "deploy-dcos", - "deploy-docker", - "deploy-kubernetes", - "deploy-monitoring", - "developing-binary-protocol", - "developing-load-manager", - "developing-tools", - "functions-cli", - "functions-debug", - "functions-deploy", - "functions-develop", - "functions-metrics", - "functions-overview", - "functions-package", - "functions-runtime", - "functions-worker", - "getting-started-clients", - "getting-started-concepts-and-architecture", - "getting-started-docker", - "getting-started-helm", - "getting-started-pulsar", - "getting-started-standalone", - "helm-deploy", - "helm-install", - "helm-overview", - "helm-prepare", - "helm-tools", - "helm-upgrade", - "io-aerospike-sink", - "io-canal-source", - "io-cassandra-sink", - "io-cdc-debezium", - "io-cdc", - "io-cli", - "io-connectors", - "io-debezium-source", - "io-debug", - "io-develop", - "io-dynamodb-source", - "io-elasticsearch-sink", - "io-file-source", - "io-flume-sink", - "io-flume-source", - "io-hbase-sink", - "io-hdfs2-sink", - "io-hdfs3-sink", - "io-influxdb-sink", - "io-jdbc-sink", - "io-kafka-sink", - "io-kafka-source", - "io-kinesis-sink", - "io-kinesis-source", - "io-mongo-sink", - "io-netty-source", - "io-nsq-source", - "io-overview", - "io-quickstart", - "io-rabbitmq-sink", - "io-rabbitmq-source", - "io-redis-sink", - "io-solr-sink", - "io-twitter-source", - "io-twitter", - "io-use", - "performance-pulsar-perf", - "reference-cli-tools", - "reference-configuration", - "reference-connector-admin", - "reference-metrics", - "reference-pulsar-admin", - "reference-terminology", - "schema-evolution-compatibility", - "schema-get-started", - "schema-manage", - "schema-understand", - "security-athenz", - "security-authorization", - "security-bouncy-castle", - "security-encryption", - "security-extending", - "security-jwt", - "security-kerberos", - "security-oauth2", - "security-overview", - "security-tls-authentication", - "security-tls-keystore", - "security-tls-transport", - "security-token-admin", - "sql-deployment-configurations", - "sql-getting-started", - "sql-overview", - "sql-rest-api", - "tiered-storage-aliyun", - "tiered-storage-aws", - "tiered-storage-azure", - "tiered-storage-filesystem", - "tiered-storage-gcs", - "tiered-storage-overview", - "transaction-api", - "transaction-guarantee", - "txn-how", - "txn-monitor", - "txn-use", - "txn-what", - "txn-why", - "window-functions-context", - ]); - // fs.writeFileSync(path.join(__dirname, "bak.json"), JSON.stringify(list, null, 2)); - console.log(list); -}
