diff --git a/README.md b/README.md index 614c150..d1568f5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ # Light Mindmap + +**English** | [简体中文](README.zh-CN.md) + Auto-renders markdown headings as a colorful, interactive mindmap — no extra syntax required. ## Preview diff --git a/README.zh-CN.md b/README.zh-CN.md new file mode 100644 index 0000000..3cb0aaf --- /dev/null +++ b/README.zh-CN.md @@ -0,0 +1,185 @@ +# Light Mindmap + +[English](README.md) | **简体中文** + +自动将 Markdown 标题渲染为色彩丰富、可交互的思维导图——无需额外语法。 + +## 预览 + +![Light MindMap 预览 1](screenshot1.png) +![Light MindMap 预览 2](screenshot2.png) +![Light MindMap 预览 3](screenshot3.png) + +## 使用方法 + +在笔记的 frontmatter 中添加 `type: mindmap`,插件会自动将编辑/阅读视图替换为实时思维导图,导图内容来自笔记的标题层级。 + +```yaml +--- +type: mindmap +--- + +# 我的计划 +## 生活 +### 遛狗 +### 做晚饭 +### 给父母打电话 +## *工作* +### 写报告 +### 团队讨论 +### 发邮件 +## 学习 +### 背单词 +### 听播客 +### 练习编程 +## 购物 +### 买水果 +### 买文具 +### 零食 + +``` + +编辑源文件时,思维导图会实时更新。 + +## 功能特性 + +### 从标题自动生成导图 + +- 解析所有标题层级(`#` 到 `######`)为树状结构 +- 自动去除节点文本中的行内 Markdown 格式(粗体、斜体、链接、Wiki 链接、行内代码) +- 当存在多个顶级标题时,会自动创建以文件名命名的虚拟根节点 +- 解析时自动跳过围栏代码块 + +### 布局模式 + +三种布局,可通过工具栏或命令切换: + +| 布局 | 说明 | +| -------- | -------------------------------- | +| **均衡** | 子节点分布于根节点两侧,按子树高度加权分配 | +| **向右** | 所有分支向右展开 | +| **向左** | 所有分支向左展开 | + +### 主题 + +七套内置配色方案: + +| 主题 | 风格 | +| ---------- | ------------------------------------------ | +| **活力** | 靛蓝/紫罗兰/粉红渐变——默认主题 | +| **经典** | 暖色大地色调,奶油色背景 | +| **清新** | 绿色与青色,薄荷色背景 | +| **海洋** | 蓝色与靛色,浅蓝色背景 | +| **日落** | 红、橙、粉暖色调,温暖背景 | +| **午夜** | 深色底板搭配霓虹色彩 | +| **石板** | 冷灰蓝色调,带淡雅科技网格纹理 | + +主题会自动适配 Obsidian 的深色/浅色模式。 + +### 连线样式 + +| 样式 | 形状 | 虚线 | +| ------------------ | ------------------ | ---- | +| **平滑** | 三阶贝塞尔曲线 | 实线 | +| **平滑虚线** | 三阶贝塞尔曲线 | 虚线 | +| **直线** | 直线段 | 实线 | +| **直角** | 水平 + 垂直折线 | 实线 | +| **直角虚线** | 水平 + 垂直折线 | 虚线 | + +### 节点形状 + +| 形状 | 外观 | +| ---------- | ---------------------------- | +| **圆角** | 圆角矩形(默认) | +| **方角** | 直角矩形 | +| **无边框** | 叶子节点无边框和背景 | +| **胶囊** | 完全圆角的胶囊形 | +| **涂鸦** | 手绘风格,带轻微随机旋转 | + +### 平移与缩放 + +- **拖拽** 画布背景进行平移(支持鼠标和触屏) +- **捏合** 进行触屏缩放 +- **滚轮** 上下/左右平移 +- **Ctrl/Cmd + 滚轮** 以光标为中心缩放 +- 工具栏按钮:**适配**(将所有节点适配到视窗)、**+** / **−**(步进缩放) + +### 节点编辑 + +可直接在画布上编辑节点,修改会回写到 Markdown 源文件: + +| 操作 | 手势 / 按键 | +| -------------------------- | --------------------------------------- | +| 选中节点 | 单击 | +| 编辑节点文字 | 双击或按 **F2** | +| 确认编辑并添加同级节点 | **Enter** | +| 确认编辑并添加子节点 | **Tab** | +| 取消编辑 | **Escape** | +| 添加同级节点(无需编辑) | 选中节点后按 **Enter** | +| 添加子节点(无需编辑) | 选中节点后按 **Tab** | +| 删除节点 | 选中节点后按 **Delete** 或 **Backspace**| +| 折叠/展开节点 | 选中节点后按 **Space** | + +- 根节点不可删除。 +- 在根节点上按 **Enter** 无效(根节点上方无法添加同级节点)。 +- 在已折叠节点上按 **Tab** 会自动展开并添加子节点。 +- 双击或按 **F2** 已折叠节点会自动展开并进入编辑模式。 +- 已折叠节点的文字后会显示 **+** 标记,导出 PNG 时也会保留该标记。 + +### 持久化设置 + +所有单文件显示偏好会写入 frontmatter,下次打开时自动恢复: + +| Frontmatter 字段 | 可选值 | +| ------------------ | -------------------------------------------------------------------------- | +| `mindmap-layout` | `balanced` / `right` / `left` | +| `mindmap-theme` | `vibrant` / `classic` / `fresh` / `ocean` / `sunset` / `midnight` / `slate`| +| `mindmap-line` | `curve` / `straight` / `polyline` / `polyline-dashed` / `curve-dashed` | +| `mindmap-node` | `rounded` / `square` / `borderless` / `circle` / `doodle` | + +### 切换源码视图 + +- 工具栏中的 **Edit Markdown** 按钮可隐藏思维导图并显示浮动的 **Show Mindmap** 按钮 +- 从源码视图返回时会自动适配导图到视窗 +- 命令面板:**Toggle mindmap / source view** +- 命令面板:**Cycle mindmap layout (balanced / right / left)** + +### 导出 PNG + +点击工具栏中的 **Export PNG** 按钮,将当前思维导图保存为高清 PNG 图片(2 倍分辨率)。系统文件对话框允许你选择保存位置。 + +## 安装 + +### 通过 Obsidian 社区插件安装(推荐) + +1. 打开 **设置 → 社区插件 → 浏览** +2. 搜索 **Light Mindmap** +3. 点击 **安装**,然后 **启用** + +### 手动安装 + +1. 从 [最新版本](https://github.com/ninglg/obsidian-light-mindmap/releases/latest) 下载 `main.js`、`manifest.json` 和 `styles.css` +2. 将这三个文件复制到 `/.obsidian/plugins/obsidian-light-mindmap/` 目录下 +3. 重新加载 Obsidian,在 **设置 → 社区插件** 中启用该插件 + +## Frontmatter 示例 + +```yaml +--- +type: mindmap +mindmap-layout: balanced +mindmap-theme: vibrant +mindmap-line: curve +mindmap-node: rounded +--- +``` + +## 兼容性 + +- 最低 Obsidian 版本:**1.4.0** +- 支持桌面端和移动端 +- 兼容 Obsidian 深色和浅色主题 + +## 许可证 + +MIT