Skip to content

clearsky0601/mindmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mindmap Generator

自动为 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

快速开始

  1. 克隆或下载项目
  2. 安装依赖npm installnpm install -g markmap-cli
  3. 配置 GitHub 仓库(可选):编辑 generate-markmap.js 设置你的 GitHub 用户名和仓库名
  4. 运行生成脚本./mindmap.sh./mindmap.sh generate
  5. 打开 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    # 只更新索引

分步执行(可自主选择)

你可以根据需要只执行特定的步骤:

1. 只添加 Jekyll 配置

./mindmap.sh jekyll    # 推荐
./mindmap.sh j         # 缩写

# 或使用
npm run jekyll
node generate-markmap.js jekyll

2. 只生成 Markmap HTML

./mindmap.sh markmap   # 推荐
./mindmap.sh m         # 缩写

# 或使用
npm run markmap
node generate-markmap.js markmap

3. 只更新主页路由

./mindmap.sh index     # 推荐
./mindmap.sh i         # 缩写

# 或使用
npm run index
node generate-markmap.js index

工作流程

  1. 添加 Markdown 文件:在 src 目录下创建或修改 .md 文件

    例如:

    src/
    ├── cs336/
    │   └── lecture1.md
    ├── python_basic/
    │   ├── 函数.md
    │   └── advanced/
    │       └── 装饰器.md
    └── csapp/
    
  2. 运行生成脚本

    npm run generate
  3. 查看结果

    • 每个 .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

脚本功能说明

主要功能

  1. 递归扫描:自动扫描 src 目录及其所有子目录
  2. 生成 HTML:使用 markmap 为每个 .md 文件生成思维导图
  3. 更新索引
    • 按目录名称排序显示
    • 嵌套目录会以子标题形式显示
    • 空目录显示"暂无笔记"
    • 每个笔记提供两个链接:📖 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');  // 索引文件

常见问题

Q: 如何添加新的笔记目录?

A: 直接在 src 目录下创建新文件夹即可,脚本会自动识别。

Q: 支持多深的嵌套?

A: 支持任意深度的嵌套目录。

Q: 生成失败怎么办?

A: 确保:

  • 已正确安装 markmap-cli
  • Markdown 文件格式正确
  • 有文件写入权限

License

ISC

About

a repo for some notes and mindmaps

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published