From d60855c8e8670ef1673bb217084abeb10c7edf36 Mon Sep 17 00:00:00 2001 From: kiameow Date: Mon, 29 Jul 2024 21:20:12 +0800 Subject: [PATCH] fix: turn the generateSidebar to sync way --- .vitepress/config.js | 10 +++++----- .vitepress/sidebar.js | 19 +++++++++---------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/.vitepress/config.js b/.vitepress/config.js index 5f0c954..272a76b 100644 --- a/.vitepress/config.js +++ b/.vitepress/config.js @@ -51,11 +51,11 @@ export default withMermaid({ sidebar: { '/': main_sidebar(), - '/1.杭电生存指南/': await generateSidebar('1.杭电生存指南'), - '/2.编程模块/': await generateSidebar('2.编程模块'), - '/3.AI模块/': await generateSidebar('3.AI模块'), - '/4.WEB模块/': await generateSidebar('4.WEB模块'), - '/5.安全模块/': await generateSidebar('5.安全模块'), + '/1.杭电生存指南/': generateSidebar('1.杭电生存指南'), + '/2.编程模块/': generateSidebar('2.编程模块'), + '/3.AI模块/': generateSidebar('3.AI模块'), + '/4.WEB模块/': generateSidebar('4.WEB模块'), + '/5.安全模块/': generateSidebar('5.安全模块'), '/2023旧版内容/': main_sidebar_old(), '/2023旧版内容/2.高效学习/': chapter2_old(), '/2023旧版内容/3.编程思维体系构建/': chapter3_old(), diff --git a/.vitepress/sidebar.js b/.vitepress/sidebar.js index 08c864a..f33d81d 100644 --- a/.vitepress/sidebar.js +++ b/.vitepress/sidebar.js @@ -1,4 +1,4 @@ -import fs from 'fs/promises'; +import fs from 'fs'; import path from 'path'; export function main_sidebar() { @@ -547,23 +547,23 @@ function compareNumericPrefixes(a, b) { } -export async function generateSidebarBasic(dir, excludeDir = [], maxDepth, currentDepth = 0) { +export function generateSidebarBasic(dir, excludeDir = [], maxDepth, currentDepth = 0) { if (currentDepth >= maxDepth) console.warn("the file depth is beyond the maxium depth that your sidebar can show!"); - const files = await fs.readdir(dir); + const files = fs.readdirSync(dir); const sortedFiles = files.sort(compareNumericPrefixes); - const sidebar = await Promise.all( - sortedFiles.map(async (file) => { + const sidebar = + sortedFiles.map((file) => { const fullPath = path.join(dir, file); - const stats = await fs.stat(fullPath); + const stats = fs.statSync(fullPath); if (stats.isDirectory()) { if (excludeDir.includes(file)) return null; // Skip excluded directories return { text: file, collapsed: true, - items: await generateSidebarBasic(fullPath, excludeDir, maxDepth, ++currentDepth), + items: generateSidebarBasic(fullPath, excludeDir, maxDepth, currentDepth + 1), }; } else if (file.endsWith('.md')) { return { @@ -572,12 +572,11 @@ export async function generateSidebarBasic(dir, excludeDir = [], maxDepth, curre }; } }) - ); return sidebar.filter(Boolean); } -export async function generateSidebar( +export function generateSidebar( dir, { excludeDir = ['static'], @@ -595,7 +594,7 @@ export async function generateSidebar( { text: topLevelName ?? dir, collapsed: false, - items: await generateSidebarBasic(dir, excludeDir, maxDepth), + items: generateSidebarBasic(dir, excludeDir, maxDepth), }, ]; return sidebar;