自动为 Markdown 文件生成 Markmap 思维导图,并更新索引页面。
- 📂 递归扫描
src目录下的所有 Markdown 文件 - 🧠 智能生成 Markmap HTML(只为缺失的 HTML 文件生成,避免重复)
- 📝 Jekyll 支持:自动添加 front matter,支持 GitHub Pages 渲染(配置
_config.yml) - 📋 自动更新
index.html索引页面,提供三种查看方式:- 📄 Raw - 原始 Markdown(未渲染)
- 📖 Note - Jekyll 渲染的笔记页面
- 🧠 Mindmap - 思维导图
- 🗂️ 支持嵌套目录结构的显示
- ✨ 自动包含空目录(显示为"暂无笔记")
- 🎯 统一脚本:一个
mindmap.sh管理所有功能 - ⚡ 高效运行:智能跳过已存在的文件
确保已安装 Node.js(建议 v14 或更高版本)
npm install或者直接安装 markmap-cli:
npm install -g markmap-cli- 克隆或下载项目
- 安装依赖:
npm install或npm install -g markmap-cli - 配置 GitHub 仓库(可选):编辑
generate-markmap.js设置你的 GitHub 用户名和仓库名 - 运行生成脚本:
./mindmap.sh或./mindmap.sh generate - 打开 index.html 查看结果
使用新的统一管理脚本 mindmap.sh:
# 完整流程(默认)
./mindmap.sh
./mindmap.sh generate # 或使用完整命令
./mindmap.sh g # 或使用缩写
# 查看帮助
./mindmap.sh help
./mindmap.sh h使用 npm 命令
npm start # 完整流程(推荐)
npm run generate # 完整流程
npm run jekyll # 只添加 Jekyll 配置
npm run markmap # 只生成 Markmap
npm run index # 只更新索引直接运行 Node.js
node generate-markmap.js # 完整流程
node generate-markmap.js jekyll # 只添加 Jekyll 配置
node generate-markmap.js markmap # 只生成 Markmap
node generate-markmap.js index # 只更新索引你可以根据需要只执行特定的步骤:
./mindmap.sh jekyll # 推荐
./mindmap.sh j # 缩写
# 或使用
npm run jekyll
node generate-markmap.js jekyll./mindmap.sh markmap # 推荐
./mindmap.sh m # 缩写
# 或使用
npm run markmap
node generate-markmap.js markmap./mindmap.sh index # 推荐
./mindmap.sh i # 缩写
# 或使用
npm run index
node generate-markmap.js index-
添加 Markdown 文件:在
src目录下创建或修改.md文件例如:
src/ ├── cs336/ │ └── lecture1.md ├── python_basic/ │ ├── 函数.md │ └── advanced/ │ └── 装饰器.md └── csapp/ -
运行生成脚本:
npm run generate
-
查看结果:
- 每个
.md文件旁边会生成对应的.html文件 index.html会自动更新,包含所有笔记的链接
- 每个
mindmap/
├── src/ # 存放所有 Markdown 笔记的目录
│ ├── cs336/
│ ├── csapp/
│ └── python_basic/
│ ├── 函数.md
│ ├── 函数.html # 自动生成
│ └── advanced/ # 支持嵌套目录
│ ├── 装饰器.md
│ └── 装饰器.html # 自动生成
├── index.html # 索引页面(自动更新)
├── generate-markmap.js # 生成脚本
├── package.json
└── README.md
- 递归扫描:自动扫描
src目录及其所有子目录 - 生成 HTML:使用 markmap 为每个
.md文件生成思维导图 - 更新索引:
- 按目录名称排序显示
- 嵌套目录会以子标题形式显示
- 空目录显示"暂无笔记"
- 每个笔记提供两个链接:📖 Note(查看 Markdown)和 🧠 Mindmap(查看思维导图)
生成的 index.html 会包含:
📚 我的课程笔记索引
CS336
暂无笔记
PYTHON_BASIC
函数 [📖 Note] [🧠 Mindmap]
数据类型 [📖 Note] [🧠 Mindmap]
advanced
装饰器 [📖 Note] [🧠 Mindmap]
如需修改配置,可以编辑 generate-markmap.js 文件:
// 配置项
const SRC_DIR = path.join(__dirname, 'src'); // 源目录
const INDEX_FILE = path.join(__dirname, 'index.html'); // 索引文件A: 直接在 src 目录下创建新文件夹即可,脚本会自动识别。
A: 支持任意深度的嵌套目录。
A: 确保:
- 已正确安装 markmap-cli
- Markdown 文件格式正确
- 有文件写入权限
ISC