1
0
mirror of https://github.com/142vip/408CSFamily.git synced 2026-07-16 11:00:24 +08:00

feat: 升级vuepress到最新版本,改造整个项目结构、配置 (#108)

* feat: 升级`vuepress`到最新版本,改造整个项目结构、配置

* chore: update

* chore: update

* fix: update
This commit is contained in:
公众号:Rong姐姐好可爱
2024-09-26 12:05:53 +08:00
committed by GitHub
parent 72cad09072
commit 779994121d
243 changed files with 3044 additions and 12730 deletions

73
scripts/mark-map Executable file
View File

@@ -0,0 +1,73 @@
#!/usr/bin/env node
/**
* 将思维导图的md格式转化为html提供在线预览
* 链接https://www.npmjs.com/package/markmap-cli
*/
import * as fs from 'node:fs'
import * as path from 'node:path'
import { fileURLToPath } from 'node:url'
import { commandStandardExecutor } from '@142vip/utils'
const __dirname = path.dirname(fileURLToPath(import.meta.url))
const markMapSourcePath = path.join(__dirname, '../', 'docs/mark-map')
const markMapTargetPath = path.join(__dirname, '../', 'docs/.vuepress/public/mind-map')
/**
* 扫描目录
*/
function scanDirectory(directory, fileType) {
const fileList = fs.readdirSync(directory)
return fileList
.map((file) => {
const filePath = path.join(directory, file)
const fileExtension = path.extname(file).toLowerCase()
if (fileExtension === `.${fileType.toLowerCase()}`) {
return filePath
}
return null
})
// 过滤空
.filter(c => c != null)
}
(async () => {
/**
* 第一步: 清空站点思维导图文件存放目录
*/
const delHtmlDir = `rm -rf ${path.join(markMapTargetPath, '*')}`
/**
* 第二步: 将md文档转化为思维导图网页
*/
const mdList = scanDirectory(markMapSourcePath, 'md')
const mdToHtmlCmdStr = mdList.map(md => `npx markmap --no-open ${md}`).join(' && ')
/**
* 第三步: 根据文件类型将思维导图网页文件移动到站点指定目录
*/
const mdHtmlByFileType = path.join(markMapSourcePath, '*.html')
const moveHtmlCmdStr = `mv -f ${mdHtmlByFileType} ${markMapTargetPath}`
await commandStandardExecutor([
delHtmlDir,
mdToHtmlCmdStr,
moveHtmlCmdStr,
])
// /**
// * 第四步: 对mind-map中的xmind文件重命名
// */
// console.log(markMapSourcePath, import.meta.url)
// const markMapData = createRequire(import.meta.url)('../../docs/mark-map/index.json')
// console.log(111, markMapData)
// for (const { originXmindFileName, targetXmindFileName } of markMapData) {
// const originPath = path.join(markMapTargetPath, originXmindFileName)
// const targetPath = path.join(markMapTargetPath, targetXmindFileName)
//
// // html文件
// await fs.renameSync(originPath, targetPath)
// }
})()