最近写笔记时,觉得需要 mindmap 辅助记忆,我的 mindmap 需求:
- 便捷的展示我 org 笔记的结构,便于记忆。
- 能够对统一层级进行编号,方便记忆每个分类有多少种。
- 节点数目不多。如果数目过多,我倾向于把笔记拆分成多个。
- 便于分享。
- 看起来不那么丑。
寻找了一下 Emacs 下生成 mindmap 的方案: 发现了两个
- GitHub - emacs-eaf/eaf-mindmap: Keyboard-driven Mindmap editor
- GitHub - the-ted/org-mind-map: This is an emacs package that creates graphviz directed graphs.
eaf-mindmap:前一个借助 eaf 和 jsmind,能够完整的编写、展示 mindmap。功能比较强大。但对于我的需求而言过于烦琐。编写org笔记与编写 mindmap,同样的内容,可能需要重复输入。
org-mind-map:可以直接把 org 文件导出为图片,比较方便。比较符合我的需求。但是比较丑。
在调研的过程中,发现 Plantuml 也可以绘制 mindmap (文档表示是试验功能,不保证语法稳定)。试用了一下,发现挺好用的,看起来也比较好看。 因此尝试写了一个 Emacs tool, 能够快速的生成 org mode 文件的 mindmap. 在实现的过程中,发现 plantuml 的几个有趣的功能:
- 生成 mindmap.
- 生成 work breakdown structure.
- 生成 json data structure.
- 成功 yaml data structure.
因此就把这四个功能实现了。没有选择实现其他的功能,因为其他的 uml 功能,使用的是专门的语法。如果需要编写对应的脚本,直接打开一个文件,编写对应 url 的脚本,然后运行 plantuml 生成图片就可以了。
这四个功能的特点在于:org 文件、json 文件、yaml 文件都是日常开发中很常用的文件。使用 plantuml-emacs 不需要对源文件进行任何的更改就可以生成对应的图片。
因此,我们可以:
- 编写笔记,直接生成 mindmap. (如果你的笔记结构化比较好)
- 编写工作文档,拆解任务,直接生成 work breakdown structure
- 编写 yaml 配置、造 json 数据,直接生成数据结构图和同伴快速交流,讲解。
示例:
- 只包含 org mode 文件 headlines
- 包含 org mode 文件 headlines 和每一章的第一段
- org 文件生成 Work Breakdown Structure
- json/yaml 生成数据结构图