582 lines
35 KiB
JavaScript
582 lines
35 KiB
JavaScript
import fs from 'fs';
|
||
import path from 'path';
|
||
|
||
export function main_sidebar() {
|
||
return [
|
||
{
|
||
text: '简介',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '简介', link: '/简介' },
|
||
{ text: '使用指南', link: '/使用指南' },
|
||
{ text: '技术资源汇总(杭电支持版)', link: '/技术资源汇总(杭电支持版)/内容索引' },
|
||
]
|
||
},
|
||
{
|
||
text: '1.杭电生存指南(最重要模块)',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '1.1 人文社科的重要性(韩健夫老师寄语)', link: '/1.杭电生存指南/1.1人文社科的重要性(韩健夫老师寄语)' },
|
||
{ text: '1.2 竞赛指北', link: '/1.杭电生存指南/1.2竞赛指北' },
|
||
{ text: '1.3 导师选择', link: '/1.杭电生存指南/1.3导师选择' },
|
||
{ text: '1.4 小心项目陷阱', link: '/1.杭电生存指南/1.4小心项目陷阱' },
|
||
{ text: '1.5 小组作业避雷指南', link: '/1.杭电生存指南/1.5小组作业避雷指南' },
|
||
{ text: '1.6 正确解读GPA', link: '/1.杭电生存指南/1.6正确解读GPA' },
|
||
{ text: '1.7 杭电出国自救指南', link: '/1.杭电生存指南/1.7杭电出国自救指南' },
|
||
{ text: '1.8 转专业二三事', link: '/1.杭电生存指南/1.8转专业二三事' },
|
||
{ text: '1.9 问题专题:好想进入实验室', link: '/1.杭电生存指南/1.9问题专题:好想进入实验室' },
|
||
{ text: '1.10 如何读论文', link: '/1.杭电生存指南/1.10如何读论文' },
|
||
{ text: '1.11 陷入虚无主义?进来看看吧', link: '/1.杭电生存指南/1.11陷入虚无主义?进来看看吧' },
|
||
{ text: '1.12 选课原则与抢课技巧', link: '/1.杭电生存指南/1.12选课原则与抢课技巧' },
|
||
{ text: '1.13 数学学习篇', link: '/1.杭电生存指南/1.13数学学习篇' },
|
||
{ text: '1.14 杭电“失败”指南', link: '/1.杭电生存指南/1.14 杭电失败指南' },
|
||
]
|
||
},
|
||
{
|
||
text: '贡献者',
|
||
link: '/contributors'
|
||
},
|
||
{
|
||
text: '贡献指南',
|
||
link: '/CONTRIBUTING'
|
||
}
|
||
]
|
||
}
|
||
|
||
export function main_sidebar_old() {
|
||
return [
|
||
{
|
||
text: "2.高效学习",
|
||
collapsed: true,
|
||
items: [{ text: "2.高效学习", link: "/技术资源汇总(杭电支持版)/2.高效学习/2.高效学习" },
|
||
{ text: '2.1高效的前提:摆脱高中思维', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.1高效的前提:摆脱高中思维' },
|
||
{ text: '2.2优雅的使用工具', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.2优雅的使用工具' },
|
||
{ text: '2.3高效的信息检索', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.3高效的信息检索' },
|
||
{ text: '2.4优雅的记笔记', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.4优雅的记笔记' },
|
||
{ text: '2.5以理工科的方式阅读英语', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.5以理工科的方式阅读英语' },
|
||
{ text: '2.6学会使用AI辅助学习', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.6学会使用AI辅助学习' },]
|
||
},
|
||
{
|
||
text: "3.编程思维体系构建",
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '3.编程思维体系构建', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.编程思维体系构建' },
|
||
{ text: '3.0 编程入门之道', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.0 编程入门之道' },
|
||
{ text: '3.1该使用哪个编辑器???', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.1该使用哪个编辑器???' },
|
||
{ text: '3.2算法杂谈', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.2算法杂谈' },
|
||
{ text: '3.3如何选择编程语言', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.3如何选择编程语言' },
|
||
{ text: '3.4C语言', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4C语言' },
|
||
{ text: '3.5git与github', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.5git与github' },
|
||
{ text: '3.6Python(灵巧的胶水)', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6Python(灵巧的胶水)' },
|
||
{ text: '3.X 聊聊设计模式和程序设计', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.X 聊聊设计模式和程序设计' },
|
||
{ text: '3.Y 附加模块:Linux', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y 附加模块:Linux' }
|
||
]
|
||
},
|
||
{
|
||
text: "4.人工智能",
|
||
collapsed: true,
|
||
items: [
|
||
{ text: "4.人工智能", link: "/技术资源汇总(杭电支持版)/4.人工智能/4.人工智能" },
|
||
{ text: '4.1前言', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.1前言' },
|
||
{ text: '4.2机器学习(AI)快速入门(quick start)', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.2机器学习(AI)快速入门(quick start)' },
|
||
{ text: '4.3人工智能导论及机器学习入门', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.3人工智能导论及机器学习入门' },
|
||
{ text: '4.4FAQ:常见问题', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.4FAQ:常见问题' },
|
||
{ text: '4.5图网络略述(intro&GCN)', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.5图网络略述(intro&GCN)' },
|
||
{ text: '4.6数据分析', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.6数据分析' },
|
||
{ text: '4.7如何做研究', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.7如何做研究' },
|
||
{ text: '4.8科研论文写作', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.8科研论文写作' },
|
||
{ text: '4.9从 AI 到 智能系统 —— 从 LLMs 到 Agents', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.9从 AI 到 智能系统 —— 从 LLMs 到 Agents' },
|
||
{ text: '4.10LLM Agent之结构化输出', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.10LLMAgent之结构化输出' },
|
||
{ text: '4.11本章节内容的局限性', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.11本章节内容的局限性' },]
|
||
},
|
||
{
|
||
text: "5.富有生命的嵌入式",
|
||
collapsed: true,
|
||
items: [
|
||
{ text: "5.富有生命的嵌入式", link: "/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/5.富有生命的嵌入式" },
|
||
{ text: '5.1嵌入式是什么?可以吃吗?', link: '/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/5.1嵌入式是什么?可以吃吗?' },
|
||
{ text: '5.2New meaning of C', link: '/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/5.2New meaning of C' },
|
||
{ text: '5.3还玩裸机?上操作系统!', link: '/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/5.3还玩裸机?上操作系统!' }
|
||
]
|
||
},
|
||
{
|
||
text: "6.计算机安全",
|
||
collapsed: true,
|
||
items: [
|
||
{ text: "6.计算机安全", link: "/技术资源汇总(杭电支持版)/6.计算机安全/6.计算机安全" },
|
||
{ text: '6.1Web安全', link: '/技术资源汇总(杭电支持版)/6.计算机安全/6.1Web安全' },
|
||
{ text: '6.2二进制安全', link: '/技术资源汇总(杭电支持版)/6.计算机安全/6.2二进制安全' },
|
||
{ text: '6.3密码学', link: '/技术资源汇总(杭电支持版)/6.计算机安全/6.3密码学' },
|
||
{ text: '6.4安全杂项', link: '/技术资源汇总(杭电支持版)/6.计算机安全/6.4安全杂项' },
|
||
{ text: '6.5学习资料推荐', link: '/技术资源汇总(杭电支持版)/6.计算机安全/6.5学习资料推荐' },]
|
||
},
|
||
{
|
||
text: "7.网络应用开发入门",
|
||
collapsed: true,
|
||
items: [
|
||
{ text: "7.网络应用开发入门", link: "/技术资源汇总(杭电支持版)/7.网络应用开发/7.网络应用开发入门" },
|
||
{ text: '7.1WEB开发入门', link: '/技术资源汇总(杭电支持版)/7.网络应用开发/7.1WEB开发入门' },
|
||
{ text: '7.2前端部分', link: '/技术资源汇总(杭电支持版)/7.网络应用开发/7.2.1基础(三件套)' },
|
||
{ text: '7.3后端部分', link: '/技术资源汇总(杭电支持版)/7.网络应用开发/7.3.1基础部分' },
|
||
]
|
||
},
|
||
{
|
||
text: "8.基础学科",
|
||
collapsed: true,
|
||
items: [
|
||
{ text: "8.基础学科", link: "/技术资源汇总(杭电支持版)/8.基础学科/8.基础学科" },
|
||
{ text: '8.1经济学科普Part1', link: '/技术资源汇总(杭电支持版)/8.基础学科/8.1经济学科普Part1' },
|
||
]
|
||
},
|
||
{
|
||
text: "9.计算机网络",
|
||
collapsed: true,
|
||
items: [
|
||
{ text: "9.计算机网络", link: "/技术资源汇总(杭电支持版)/9.计算机网络/9.计算机网络" },
|
||
{ text: '9.1 计网速通', link: '/技术资源汇总(杭电支持版)/9.计算机网络/9.1计网速通' },
|
||
]
|
||
},
|
||
]
|
||
}
|
||
|
||
export function chapter2_old() {
|
||
return [
|
||
{ text: '返回上一层', link: '/技术资源汇总(杭电支持版)/内容索引' },
|
||
{
|
||
text: '2.高效学习',
|
||
collapsed: false,
|
||
items: [
|
||
{ text: '2.高效学习', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.高效学习' },
|
||
{
|
||
text: '2.1高效的前提:摆脱高中思维',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '2.1高效的前提:摆脱高中思维', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.1高效的前提:摆脱高中思维' },
|
||
{ text: '2.1.1悲壮的学习方式', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.1.1悲壮的学习方式' },
|
||
{ text: '2.1.2浮躁的心理状态', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.1.2浮躁的心理状态' },
|
||
{ text: '2.1.3错误的提问姿态', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.1.3错误的提问姿态' },
|
||
{ text: '2.1.4书籍的盲目崇拜', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.1.4书籍的盲目崇拜' },
|
||
{ text: '2.1.5错误的学习配比', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.1.5错误的学习配比' },
|
||
]
|
||
},
|
||
{ text: '2.2优雅的使用工具', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.2优雅的使用工具' },
|
||
{
|
||
text: '2.3高效的信息检索',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '2.3高效的信息检索', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.3高效的信息检索' },
|
||
{ text: '2.3.1阅读文档(B百度爬)', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.3.1阅读文档(B百度爬)' },
|
||
{ text: '2.3.2检索论文核心内容', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.3.2检索论文核心内容' },
|
||
{ text: '2.3.3优秀的开源社区', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.3.3优秀的开源社区' },
|
||
{ text: '补充:为什么不要用百度', link: '/技术资源汇总(杭电支持版)/2.高效学习/补充:为什么不要用百度' },
|
||
]
|
||
},
|
||
{ text: '2.4优雅的记笔记', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.4优雅的记笔记' },
|
||
{ text: '2.5以理工科的方式阅读英语', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.5以理工科的方式阅读英语' },
|
||
{ text: '2.6学会使用AI辅助学习', link: '/技术资源汇总(杭电支持版)/2.高效学习/2.6学会使用AI辅助学习' },
|
||
]
|
||
},
|
||
]
|
||
}
|
||
|
||
export function chapter3_old() {
|
||
return [
|
||
{ text: '返回上一层', link: '/技术资源汇总(杭电支持版)/内容索引' },
|
||
{
|
||
text: '3.编程思维体系构建',
|
||
collapsed: false,
|
||
items: [
|
||
{ text: '3.编程思维体系构建', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.编程思维体系构建' },
|
||
{ text: '3.0 编程入门之道', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.0 编程入门之道' },
|
||
{ text: '3.1该使用哪个编辑器???', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.1该使用哪个编辑器???' },
|
||
{
|
||
text: '3.2算法杂谈',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '3.2算法杂谈', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.2算法杂谈' },
|
||
{ text: '3.2.1手把手教你学算法——如何使用OJ(Online Judge)', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.2.1手把手教你学算法——如何使用OJ(Online Judge)' },
|
||
{ text: '3.2.2ACM 竞赛从入门到入坟', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.2.2ACM 竞赛从入门到入坟' },
|
||
]
|
||
},
|
||
{ text: '3.3如何选择编程语言', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.3如何选择编程语言' },
|
||
{
|
||
text: '3.4C语言',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '3.4C语言', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4C语言' },
|
||
{ text: '3.4.1FAQ:常见问题', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.1FAQ:常见问题' },
|
||
{ text: '3.4.2用什么写 C 语言', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.2用什么写 C 语言' },
|
||
{ text: '3.4.3解决编程问题的普适性过程', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.3解决编程问题的普适性过程' },
|
||
{ text: '3.4.4C语言前置概念学习', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.4C语言前置概念学习' },
|
||
{
|
||
text: '3.4.5阶段一:编程属性',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '3.4.5阶段一:编程属性', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.5阶段一:编程属性' },
|
||
{ text: '3.4.5.1C语言自测标准——链表', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.5.1C语言自测标准——链表' },
|
||
]
|
||
},
|
||
{
|
||
text: '3.4.6阶段二:文字冒险(cool)',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '3.4.6阶段二:文字冒险(cool)', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6阶段二:文字冒险(cool)' },
|
||
{ text: '3.4.6.1.开始冒险', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.1.开始冒险' },
|
||
{ text: '3.4.6.2.探索未知', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.2.探索未知' },
|
||
{ text: '3.4.6.3.指明地点', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.3.指明地点' },
|
||
{ text: '3.4.6.4.创建对象', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.4.创建对象' },
|
||
{ text: '3.4.6.5.捡起物品', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.5.捡起物品' },
|
||
{ text: '3.4.6.6.绘制地图', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.6.绘制地图' },
|
||
{ text: '3.4.6.7.增大距离', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.7.增大距离' },
|
||
{ text: '3.4.6.8.移动方向', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.8.移动方向' },
|
||
{ text: '3.4.6.9.练习:生成代码', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.9.练习:生成代码' },
|
||
{ text: '3.4.6.10.增添属性', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.10.增添属性' },
|
||
{ text: '3.4.6.11.设置条件', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.11.设置条件' },
|
||
{ text: '3.4.6.12.开启关闭', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.12.开启关闭' },
|
||
{ text: '3.4.6.13.编写解析器', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.13.编写解析器' },
|
||
{ text: '3.4.6.14.丰富命令', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.14.丰富命令' },
|
||
{ text: '3.4.6.15.赋予明暗', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.15.赋予明暗' },
|
||
{ text: '3.4.6.16.结语:你终将自由', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.16.结语:你终将自由' },
|
||
]
|
||
},
|
||
{
|
||
text: '3.4.7C基础知识杂谈',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '3.4.7C基础知识杂谈', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.7C基础知识杂谈' },
|
||
{ text: '3.4.7.1GDB初探索(编程可阅览)', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.7.1GDB初探索(编程可阅览)' },
|
||
{ text: '3.4.7.1.1调试理论', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.7.1.1调试理论' },
|
||
{ text: '3.4.7.2C的历史问题:undefined behavior', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.7.2C的历史问题:undefined behavior' },
|
||
{ text: '3.4.7.3C编译器干了什么', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.7.3C编译器干了什么' },
|
||
{ text: '3.4.7.4Inline Assembly与链接加载', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.7.4Inline Assembly与链接加载' },
|
||
]
|
||
},
|
||
]
|
||
},
|
||
{ text: '3.5git与github', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.5git与github' },
|
||
{
|
||
text: '3.6Python(灵巧的胶水)',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '3.6Python(灵巧的胶水)', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6Python(灵巧的胶水)' },
|
||
{ text: '3.6.1从CS61A看编程语言学习', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.1从CS61A看编程语言学习' },
|
||
{ text: '3.6.2环境配置', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.2环境配置' },
|
||
{ text: '3.6.3安装python', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.3安装python' },
|
||
{
|
||
text: '3.6.4Python for fun',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '3.6.4Python for fun', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.4Python for fun' },
|
||
{ text: '3.6.4.0阶段零:Python解释器', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.4.0阶段零:Python解释器' },
|
||
{ text: '3.6.4.1阶段一:熟悉语句', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.4.1阶段一:熟悉语句' },
|
||
{ text: '3.6.4.2阶段二:递归操作', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.4.2阶段二:递归操作' },
|
||
{ text: '3.6.4.3阶段三:数据抽象', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.4.3阶段三:数据抽象' },
|
||
{ text: '3.6.4.4阶段四:高阶函数', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.4.4阶段四:高阶函数' },
|
||
{ text: '3.6.4.5阶段五:迭代生成', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.4.5阶段五:迭代生成' },
|
||
{ text: '3.6.4.6结语', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.6.4.6结语' },
|
||
]
|
||
},
|
||
]
|
||
},
|
||
{ text: '3.X 聊聊设计模式和程序设计', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.X 聊聊设计模式和程序设计' },
|
||
{
|
||
text: '3.Y 附加模块:Linux',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '3.Y 附加模块:Linux', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y 附加模块:Linux' },
|
||
{ text: '3.Y.1Linux概念普及', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y.1Linux概念普及' },
|
||
{ text: '3.Y.2双系统安装和发行版推荐', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y.2双系统安装和发行版推荐' },
|
||
{ text: '3.Y.3VMware的安装与安装Ubuntu22.04系统', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y.3VMware的安装与安装Ubuntu22.04系统' },
|
||
{ text: '3.Y.4WSL的安装', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y.4WSL的安装' },
|
||
{ text: '3.Y.5Linux初探索', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y.5Linux初探索' },
|
||
{ text: '3.Y.6Vim初探索', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y.6Vim初探索' },
|
||
{ text: '3.Y.7linux小任务', link: '/技术资源汇总(杭电支持版)/3.编程思维体系构建/3.Y.7linux小任务' },
|
||
]
|
||
}
|
||
]
|
||
},
|
||
|
||
]
|
||
}
|
||
|
||
export function chapter4_old() {
|
||
return [
|
||
{ text: '返回上一层', link: '/技术资源汇总(杭电支持版)/内容索引' },
|
||
{
|
||
text: '4.人工智能',
|
||
collapsed: false,
|
||
items: [
|
||
{ text: '4.人工智能', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.人工智能' },
|
||
{ text: '4.1前言', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.1前言' },
|
||
{ text: '4.2机器学习(AI)快速入门(quick start)', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.2机器学习(AI)快速入门(quick start)' },
|
||
{
|
||
text: '4.3人工智能导论及机器学习入门',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '4.3人工智能导论及机器学习入门', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.3人工智能导论及机器学习入门' },
|
||
{
|
||
text: '4.3.1搜索',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '4.3.1搜索', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.3.1搜索' },
|
||
{ text: '4.3.1.1程序示例——maze迷宫解搜索', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.3.1.1程序示例——maze迷宫解搜索' },
|
||
{ text: '4.3.1.2项目:Tic-Tac-Toe井字棋', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.3.1.2项目:Tic-Tac-Toe井字棋' },
|
||
]
|
||
},
|
||
{
|
||
text: '4.3.2知识推理',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '4.3.2知识推理', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.3.2知识推理' },
|
||
{ text: '4.3.2.1程序示例——命题逻辑与模型检测', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.3.2.1程序示例——命题逻辑与模型检测' },
|
||
{ text: '4.3.2.2项目:扫雷,骑士与流氓问题', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.3.2.2项目:扫雷,骑士与流氓问题' },
|
||
]
|
||
},
|
||
{
|
||
text: '4.3.3不确定性问题',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '4.3.3不确定性问题', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.3.3不确定性问题' },
|
||
{ text: '4.3.3.1程序示例', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.3.3.1程序示例' },
|
||
{ text: '4.3.3.2项目:遗传', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.3.3.2项目:遗传' },
|
||
]
|
||
},
|
||
{
|
||
text: '4.3.4最优化',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '4.3.4最优化', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.3.4最优化' },
|
||
{ text: '4.3.4.1程序示例', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.3.4.1程序示例' },
|
||
{ text: '4.3.4.2项目:填词游戏', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.3.4.2项目:填词游戏' },
|
||
]
|
||
},
|
||
]
|
||
},
|
||
{ text: '4.4FAQ:常见问题', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.4FAQ:常见问题' },
|
||
{ text: '4.5图网络略述(intro&GCN)', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.5图网络略述(intro&GCN)' },
|
||
{ text: '4.6数据分析', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.6数据分析' },
|
||
{ text: '4.7如何做研究', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.7如何做研究' },
|
||
{ text: '4.8科研论文写作', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.8科研论文写作' },
|
||
{ text: '4.9从 AI 到 智能系统 —— 从 LLMs 到 Agents', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.9从 AI 到 智能系统 —— 从 LLMs 到 Agents' },
|
||
{ text: '4.10LLM Agent之结构化输出', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.10LLMAgent之结构化输出' },
|
||
{ text: '4.11本章节内容的局限性', link: '/技术资源汇总(杭电支持版)/4.人工智能/4.11本章节内容的局限性' },
|
||
|
||
]
|
||
},
|
||
]
|
||
}
|
||
|
||
export function chapter5_old() {
|
||
return [
|
||
{ text: '返回上一层', link: '/技术资源汇总(杭电支持版)/内容索引' },
|
||
{
|
||
text: '5.富有生命的嵌入式',
|
||
collapsed: false,
|
||
items: [
|
||
{ text: '5.富有生命的嵌入式', link: '/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/5.富有生命的嵌入式' },
|
||
{ text: '5.1嵌入式是什么?可以吃吗?', link: '/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/5.1嵌入式是什么?可以吃吗?' },
|
||
{ text: '5.2New meaning of C', link: '/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/5.2New meaning of C' },
|
||
{ text: '5.3还玩裸机?上操作系统!', link: '/技术资源汇总(杭电支持版)/5.富有生命的嵌入式/5.3还玩裸机?上操作系统!' },
|
||
]
|
||
},
|
||
]
|
||
}
|
||
|
||
export function chapter6_old() {
|
||
return [
|
||
{ text: '返回上一层', link: '/技术资源汇总(杭电支持版)/内容索引' },
|
||
{
|
||
text: '6.计算机安全',
|
||
collapsed: false,
|
||
items: [
|
||
{ text: '6.计算机安全', link: '/技术资源汇总(杭电支持版)/6.计算机安全/6.计算机安全' },
|
||
{
|
||
text: '6.1Web安全',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '6.1Web安全', link: '/技术资源汇总(杭电支持版)/6.计算机安全/6.1Web安全' },
|
||
{ text: '6.1.1SQL 注入', link: '/技术资源汇总(杭电支持版)/6.计算机安全/6.1.1SQL 注入' },
|
||
]
|
||
},
|
||
{
|
||
text: '6.2二进制安全',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '6.2二进制安全', link: '/技术资源汇总(杭电支持版)/6.计算机安全/6.2二进制安全' },
|
||
{ text: '6.2.1基础工具的使用', link: '/技术资源汇总(杭电支持版)/6.计算机安全/6.2.1基础工具的使用' },
|
||
{ text: '6.2.2软件破解、软件加固', link: '/技术资源汇总(杭电支持版)/6.计算机安全/6.2.2软件破解、软件加固' },
|
||
{ text: '6.2.3漏洞挖掘、漏洞利用', link: '/技术资源汇总(杭电支持版)/6.计算机安全/6.2.3漏洞挖掘、漏洞利用' },
|
||
]
|
||
},
|
||
{ text: '6.3密码学', link: '/技术资源汇总(杭电支持版)/6.计算机安全/6.3密码学' },
|
||
{ text: '6.4安全杂项', link: '/技术资源汇总(杭电支持版)/6.计算机安全/6.4安全杂项' },
|
||
{ text: '6.5学习资料推荐', link: '/技术资源汇总(杭电支持版)/6.计算机安全/6.5学习资料推荐' },
|
||
]
|
||
},
|
||
]
|
||
}
|
||
|
||
export function chapter7_old() {
|
||
return [
|
||
{ text: '返回上一层', link: '/技术资源汇总(杭电支持版)/内容索引' },
|
||
{
|
||
text: '7.网络应用开发',
|
||
collapsed: false,
|
||
items: [
|
||
{ text: '7.网络应用开发入门', link: '/技术资源汇总(杭电支持版)/7.网络应用开发/7.网络应用开发入门' },
|
||
{ text: '7.1WEB开发入门', link: '/技术资源汇总(杭电支持版)/7.网络应用开发/7.1WEB开发入门' },
|
||
{
|
||
text: '7.2前端部分',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '7.2.1基础(三件套)', link: '/技术资源汇总(杭电支持版)/7.网络应用开发/7.2.1基础(三件套)' },
|
||
{ text: '7.2.2进阶(小项目)', link: '/技术资源汇总(杭电支持版)/7.网络应用开发/7.2.2进阶(小项目)' },
|
||
{ text: '7.2.3附录1:前端介绍(详细版)', link: '/技术资源汇总(杭电支持版)/7.网络应用开发/7.2.3附录1:前端介绍(详细版)' },
|
||
{ text: '7.2.4附录2:大前端开发', link: '/技术资源汇总(杭电支持版)/7.网络应用开发/7.2.4附录2:大前端开发' },
|
||
{ text: '7.2.5附录3:跨端开发', link: '/技术资源汇总(杭电支持版)/7.网络应用开发/7.2.5附录3:跨端开发' },
|
||
]
|
||
},
|
||
{
|
||
text: '7.3后端部分',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '7.3后端部分', link: '/技术资源汇总(杭电支持版)/7.网络应用开发/7.3后端部分' },
|
||
{ text: '7.3.1基础部分', link: '/技术资源汇总(杭电支持版)/7.网络应用开发/7.3.1基础部分' },
|
||
{ text: '7.3.2进阶部分', link: '/技术资源汇总(杭电支持版)/7.网络应用开发/7.3.2进阶部分' },
|
||
]
|
||
},
|
||
]
|
||
},
|
||
]
|
||
}
|
||
|
||
export function chapter8_old() {
|
||
return [
|
||
{ text: '返回上一层', link: '/技术资源汇总(杭电支持版)/内容索引' },
|
||
{
|
||
text: '8.基础学科',
|
||
collapsed: false,
|
||
items: [
|
||
{ text: '8.基础学科', link: '/技术资源汇总(杭电支持版)/8.基础学科/8.基础学科' },
|
||
{ text: '8.1经济学科普Part1', link: '/技术资源汇总(杭电支持版)/8.基础学科/8.1经济学科普Part1' },
|
||
]
|
||
}
|
||
]
|
||
}
|
||
|
||
export function chapter9_old() {
|
||
return [
|
||
{ text: '返回上一层', link: '/技术资源汇总(杭电支持版)/内容索引' },
|
||
{
|
||
text: '9.计算机网络',
|
||
collapsed: false,
|
||
items: [
|
||
{ text: '9 计算机网络', link: '/技术资源汇总(杭电支持版)/9.计算机网络/9.计算机网络' },
|
||
{ text: '9.1 计网速通', link: '/技术资源汇总(杭电支持版)/9.计算机网络/9.1计网速通' },
|
||
{ text: '9.2.1 物理层(待完成)' },
|
||
{ text: '9.2.2 链路层(待完成)' },
|
||
{
|
||
text: '9.2.3 网络层',
|
||
collapsed: true,
|
||
items: [
|
||
{ text: '9.2.3 网络层', link: '/技术资源汇总(杭电支持版)/9.计算机网络/9.2.3网络层' },
|
||
{ text: '9.2.3.1 IP 协议', link: '/技术资源汇总(杭电支持版)/9.计算机网络/9.2.3.1IP协议' },
|
||
{ text: '9.2.3.2 子网与无类域间路由', link: '/技术资源汇总(杭电支持版)/9.计算机网络/9.2.3.2子网与无类域间路由' }
|
||
]
|
||
},
|
||
]
|
||
}
|
||
]
|
||
}
|
||
|
||
// Function to extract numeric prefix as an array of numbers
|
||
function getNumericPrefix(fileName) {
|
||
const match = fileName.match(/^(\d+(\.\d+)?(?:\.\d+)*)/);
|
||
if (match) {
|
||
return match[0].split('.').map(Number); // Convert to array of numbers
|
||
}
|
||
return [];
|
||
}
|
||
|
||
// Function to compare two numeric prefixes
|
||
function compareNumericPrefixes(a, b) {
|
||
const prefixA = getNumericPrefix(a);
|
||
const prefixB = getNumericPrefix(b);
|
||
|
||
for (let i = 0; i < Math.max(prefixA.length, prefixB.length); i++) {
|
||
const numA = prefixA[i] || 0;
|
||
const numB = prefixB[i] || 0;
|
||
if (numA !== numB) {
|
||
return numA - numB;
|
||
}
|
||
}
|
||
return 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 = fs.readdirSync(dir);
|
||
const sortedFiles = files.sort(compareNumericPrefixes);
|
||
|
||
const sidebar =
|
||
sortedFiles.map((file) => {
|
||
const fullPath = path.join(dir, file);
|
||
const stats = fs.statSync(fullPath);
|
||
|
||
if (stats.isDirectory()) {
|
||
if (excludeDir.includes(file)) return null; // Skip excluded directories
|
||
return {
|
||
text: file,
|
||
collapsed: true,
|
||
items: generateSidebarBasic(fullPath, excludeDir, maxDepth, currentDepth + 1),
|
||
};
|
||
} else if (file.endsWith('.md')) {
|
||
return {
|
||
text: file.replace('.md', ''),
|
||
link: `/${fullPath.replace('.md', '')}`,
|
||
};
|
||
}
|
||
})
|
||
|
||
return sidebar.filter(Boolean);
|
||
}
|
||
|
||
/**
|
||
* Generates a sidebar configuration for VitePress.
|
||
*
|
||
* @param {string} dir - The directory to generate the sidebar from.
|
||
* @param {Object} [options] - Optional parameters.
|
||
* @param {string[]} [options.excludeDir=['static']] - Directories to exclude from the sidebar.
|
||
* @param {string} [options.previousLevel='/'] - Link to the previous level.
|
||
* @param {string} [options.previousLevelDescription='返回上一层'] - Description for the previous level link.
|
||
* @param {string} [options.topLevelName] - Name for the top level of the sidebar.
|
||
* @param {number} [options.maxDepth=5] - Maximum depth of directories to include.
|
||
* @returns {Object[]} Sidebar configuration array.
|
||
*/
|
||
export function generateSidebar(
|
||
dir,
|
||
{
|
||
excludeDir = ['static'],
|
||
previousLevel = '/',
|
||
previousLevelDescription = '返回上一层',
|
||
topLevelName,
|
||
maxDepth = 5
|
||
} = {}
|
||
) {
|
||
const sidebar = [
|
||
{
|
||
text: previousLevelDescription,
|
||
link: previousLevel,
|
||
},
|
||
{
|
||
text: topLevelName ?? dir,
|
||
collapsed: false,
|
||
items: generateSidebarBasic(dir, excludeDir, maxDepth),
|
||
},
|
||
];
|
||
return sidebar;
|
||
}
|
||
|