使用Markdown快速生成组织结构图
大部分人画组织结构图,最常见的画法是用Word中的文本框加连接线慢慢画,效率非常低。对于Office办公软件用的溜的人,也可能会使用Microsoft Office中的SmartArt功能生成组织结构图。
数据量小、结构简单的时候,SmartArt画组织结构图简单便捷。但一旦数据量比较大,例如传销组织,层级结构图便需要使用I2等专业工具生成了。但I2等商业工具授权昂贵,学习门槛高。今天介绍一种使用Markdown编辑器快速生成传销组织层级结构图的方法,对于会员数千个一下的情况,高效、便捷,生成的层级结构图还可方便地搜索。
Markdown是一种轻量级标记语法,用户可以用纯文本写作,最后生成带有各种富文本格式的html。因为其轻量化及易写易读的特性,深受程序员、文字写作者的喜爱。
Markdown语法中,对于代码段的处理非常简单,代码段前后各加三个“`”(英文输入状态TAB键上面的键)即可。如果需要指明代码语言,直接在首行“```”后面添加一个空格,然后写上语言即可,例如“``` php”即表示接下来是php代码。
绝大多数Markdown编辑器只支持常规的代码语言并在渲染成html页面的时候进行代码高亮的美化。标准的Markdown语法中是不支持例如流程图、数学公式等图书图像的,但也有不少Markdown编辑器额外增加了支持,例如马克飞象、CMD Markdown,甚至印象笔记、有道云笔记。
要画组织结构图,在Markdown代码开始标记“```”后面添加“graph”即可,如果要指定方向,可在graph后添加“LR”或“TD”。“graphLR”表示父节点在左,子节点在右;“graphTD”表示父节点在上,子节点在下。层级机构格式为“A --> B”,表示B的父节点是A,每行一个关系表达式,各关系表达式之间不分先后顺序。
例如A的子节点为B和C,C的子节点为D,B的子节点为E、F。Markdown语法如下:
``` graph
A --> B
A --> C
C --> D
B --> E
B --> F
```
效果图如下:
下面针对传销组织人员数据库进行简单的示例操作。假设人员信息表如下表所示:
id | pid | name | pname |
---|---|---|---|
1 | 0 | 习秋华 | 公孙愉 |
2 | 1 | 晋丹 | 习秋华 |
3 | 1 | 代惜玉 | 习秋华 |
4 | 5 | 侍运诚 | 习秋华 |
5 | 3 | 戴同 | 代惜玉 |
6 | 2 | 商弘毅 | 晋丹 |
7 | 4 | 张建国 | 侍运诚 |
8 | 6 | 仵旋 | 商弘毅 |
9 | 6 | 洛白容 | 商弘毅 |
10 | 7 | 运芮静 | 张建国 |
11 | 8 | 蒋雪巧 | 仵旋 |
12 | 8 | 林运凡 | 仵旋 |
13 | 10 | 邰雪帆 | 运芮静 |
复制name、panme两列到记事本等文本编辑器中,pname在左,name在右。
公孙愉 习秋华
习秋华 晋丹
习秋华 代惜玉
习秋华 侍运诚
代惜玉 戴同
晋丹 商弘毅
侍运诚 张建国
商弘毅 仵旋
商弘毅 洛白容
张建国 运芮静
仵旋 蒋雪巧
仵旋 林运凡
运芮静 邰雪帆
使用文本编辑器的替换功能,用“ --> ”批量替换制表键,并在第一列添加“``` graphTD”,最后一列添加“```”。
\``` graphTD
公孙愉 --> 习秋华
习秋华 --> 晋丹
习秋华 --> 代惜玉
习秋华 --> 侍运诚
代惜玉 --> 戴同
晋丹 --> 商弘毅
侍运诚 --> 张建国
商弘毅 --> 仵旋
商弘毅 --> 洛白容
张建国 --> 运芮静
仵旋 --> 蒋雪巧
仵旋 --> 林运凡
运芮静 --> 邰雪帆
\```
复制以上代码粘贴到支持流程图的Markdown编辑器中,即可自动生成组织层级结构图。下图是我在马克飞象中生成的。
Markdown是一个非常优美的语言,个人从学生时代就开始用,博客、邮件、工作笔记,基本全部在使用Markdown。Markdown语法支持加粗、斜体、段落、链接、图片、表格、引用等各种格式,不少Markdown编辑器还增加了待办清单等更多功能。
本文也是用Markdwon编辑器完成编写。