Mermaid,就像用Markdown码字一样,高效制作简易流图

许多工作者的日常工作中,除了写字记录,有时还会需要画一些简单的「示意图」,这些示意图会让我们的文档或报告变得形象生动,便于理解,例如下面这些图:

如果我们恰好同时对Markdown的「标记式」记录方法高度认可的话,那么有没有想过使用类似Markdown形式的语言,快速「写」一个「流图」出来?

说到Markdown,可能已经是很多朋友熟悉的一种记录语言了。在互联网时代,Markdown被广泛普及运用。很多人用Markdown写博客,写日志,写备忘,网上也有一堆支持Markdown的写作工具,例如:熊掌记(bear),iaWriter,Ulysses,DayOne,甚至印象笔记也在近几年开始支持Markdown语法。对于不少追求效率的朋友来说,Markdown是近来文字记录领域中难以忽视的方案。

那么在「绘制流图」的领域当中,也有类似Markdown的方案呢?

细细想来,流图或关系图,主要强调的是拓扑关系,流向,节点内容,而不是一些花哨的排版。这点和Markdown秉承的「重内容,重结构,轻排版」的思路有不谋而合之处。所以,火箭君这次想介绍的就是,「流图界」的Markdown语言,也被称之为Mermaid语言。

本文的目的,就在于给大家一个入门的介绍,帮助大家认识到Mermaid的威力以及上手融入工作的方法。

通过Mermaid,我们不用专门的流图工具(例如:微软的Visio),我们需要编辑的只是文本,因此不少现成的Markdown编辑器都可以用上,如果不看渲染结果,仅作编辑的话,普通文本编辑器都能胜任。

一个简单的例子,短短几行就能生成一个流图:

graphTD;

A-->B;

A-->C;

B-->D;

C-->D;

Mermaid和Markdown一样,都是纯文本格式存储的语言。纯文本文件打破了很多软件封闭格式的限制,更加利于用户掌握自己的内容。也易于我们存储,解析,发送文件内容,而不是受制于特定应用的软件或网站平台。

Mermaid的核心是一个基于JS的解析库,这意味着我们可以把Mermaid文本,直接嵌入网页中,而访问者就能直接看到渲染后的流图了。

顺便说一下,Mermaid的JS解析库,被评为2019年JSOpenSourceAwards「Themostexcitinguseoftechnology」分类下的大奖。

以后,只要页面略作调整,就能在公司官网,在线创作平台,在线文档,在线笔记之类的网页里嵌入流图了。而以往我们需要这样做:

而现在,利用Mermaid只要一步(编辑Mermaid代码)就可以了。

我们已经知道,Mermaid本质是一种标记语言,借由一个解析库将文本「翻译渲染」成「图画」。

虽然通过一个纯文本编辑器,例如:写字板,我们可以撰写Mermaid文本,但显然不能指望这样就可以「渲染」出「绘图」来。这和Markdown的原理是一样的,渲染需要专门的编辑器。好消息是,Mermaid已经被很多Markdown编辑器直接或间接支持。也就是说直接用现有的Markdown编辑器就可以上手一试了,几乎没有额外负担。

这里是部分支持Mermaid的编辑器

需要注意的是,由于Mermaid本身还在发展,并非所有特性都能被所有Markdown编辑器支持。不过,常见的流图编辑模式已经比较成熟,大多被支持。至于具体渲染效果如何,我们还是要以编辑器的实际输出为准。

目前这个Mermaid主要可支持的「绘图」有:

还是要再次提请注意,不是所有的Markdown编辑器都支持所有的绘图类型。即使编辑器支持渲染,渲染出的效果也各不相同。这点就像早期不同的浏览器会选择性支持部分的HTML网页标准一样。目前来看,主流的Markdown编辑器,至少会支持「流图」和「序列图」,至于其它类型就要看运气了。

上文提到的「Mermaid官方网页版编辑器」是一个不错的参考,从这个在线编辑器里,我们可以看到目前Mermaid全部支持的类型,以及目前处于「实验室」阶段的类型。

首先,我们要打开一个支持Mermaid的Markdown编辑器。,这里以火箭君目前最爱的Typora编辑器为例。

我们知道Markdown语法能支持代码块,所谓代码块就是一种特殊段落,其中的文字,会按照特殊的语法进行处理显示。

一般来说,例如网页标记语言,编程语言之类代码块,都会按照语法高亮显示。

Mermaid也采用了代码块进行展现和渲染。

因此,我们首先需要在编辑器里单独一行内输入```Mermaid,表示以下是Mermaid语言专属的代码块。

然后,在```这行下面按照语法,就可以撰写绘图的脚本了。

我们用「序列图」来描述一个银行存钱的过程,里面有三个角色:

通过序列图,我们可以把存钱的过程如下描述出来:

sequenceDiagram

客户->>银行柜台:我要存钱

银行柜台->>后台:改一下这个账户数字哦

后台->>银行柜台:账户的数字改完了,明天起息

银行柜台->>客户:好了,给你回单,下一位

我们注意到,只要通过->>和冒号这种简单的文本标记,就能把各种关系和方向清晰的表达出来了。

Mermaid的渲染结果如下:

同理,我们再看看,如何画一个简单的「流图」。

首先还是从输入```Mermaid开始

然后输入:

graphTD

A(起床)-->B[洗漱]

B-->C{扔硬币}

C-->|正面朝上|D[喝牛奶]

C-->|反面朝上|E[喝果汁]

我们注意到,只要也是通过纯文本的箭头符号和括号就能把一段逻辑描述清楚了。

如果有兴趣的话,我们还可以在上面的例子里自行修改,这样就能轻易扩充出更加复杂的逻辑关系。

Mermaid支持更复杂的玩法,远不止上面列出的这些,但都非常容易被理解,一般不外乎就是各种符号的组合,这点就充分继承了Markdown类语言的精髓。火箭君更喜欢称之为「文字游戏」,通过文字的组合可以表达正文内容以外,更复杂的含义,或者说某种「元信息」(metainfo)。

Mermaid详细语法参考可以参见Github上MermaidJS项目的文档:

除了描述逻辑关系的语法,Memraid还提供了简单的「换皮主题」的语法,

通过这套「换皮」语法,我们可以给每个类型的元素更换主题色,例如箭头颜色,例如流程块的背景色……特别适合,对绘图的颜值有要求,而且有折腾精神的用户使用。参考语法如下:

看到这里,如果想立刻上手试试看的话,可以用MermaidJS官方网页版编辑器立刻行动(相当于一个代码playground)

在线编辑器,本身就是一个很好的教程,里面已经分门别类列好了各种图的类型,供我们选择。而且每种图下面都有Sample代码,新手上去改改就能看到结果。

火箭君相信,需要绘制流图之类的小伙伴们,一般都会有很强的生产力需求,而不太会是仅仅出于「自嗨」,例如:我们需要用一个「序列图」来描述一段运营工作流程时,往往希望这个图能够被讨论,被迭代,最终被分发到运营人员手上,而不是画出来仅供自我欣赏。

额外值得一提的是,Mermaid有一个在线渲染的服务,我们可以把一段Mermaid代码转换为URL网址。这样,我们就可以将URL嵌入各种文档,阅读文档时,在线网址将URL翻译成图像展现出来。和普通图片上传的区别是,这个URL只是提供Mermaid代码,并没有真的上传图像到服务器上,因此也不依赖服务器是否实际存储或删除了我们的图像。这也意味着URL可以被其它Mermaid渲染服务网站接手从而产生图像。

更简单的做法是,用户双方都使用同种类型的MD编辑器,例如Typora,印象笔记,那么大家交流的效率就会更高。几十采用不同的编辑器,也只是渲染效果不同,语义逻辑应该还是一致的。

总之,Mermaid作为一个新兴的标记语言,像极了当年的Markdown。假以时日,希望Mermaid会变得更加成熟,在有专业需求的领域里,变得更加普及,成为一种「约定俗成」的高效率标准。

THE END
1.国内可用,几个好用免费的AI绘图工具!ai绘画网站免费liblib AI是一个AI绘画模型资源平台,致力于激发原创AI模型、素材的创作。目前上线了“在线生图”和“训练模型”功能,媲美Stable Diffusion。 使用地址: https://www.liblib.art/ 4、Vega AI Vega AI可以看成是Stable Diffuison的中文简化版本,上手难度和使用门槛都大大降低。 https://blog.csdn.net/weixin_46417977/article/details/144224075
2.常见问题·国产操作系统麒麟操作系统——麒麟软件官方网站22) 银河麒麟为什么从网页或者wps里面复制粘贴字体会乱码或者格式不对 A:这个是微信的一个bug,因为字符编码差异导致的,微信还没有解决这个问题的。您可以先把wps的文字复制到一个文本文档里,再从文本文档里复制到微信即可解决。15 其他问题 1) 获知系统安装时间https://www.kylinos.cn/support/problem.html
3.10个简单的在线画图软件网站,支持AI画图!?支持多种格式:在这款在线画图软件网站中,你可以将你的图表导出为各种格式,包括 JPEG、PNG、PDF 等,甚至可以将它们嵌入到网页中。 ?支持实时协作:Creately支持多人协作编辑同一份文件。 Microsoft Visio Online Microsoft Visio Online 是 Microsoft 出品的在线画图软件网站,为用户提供强大的画图和设计功能。你可以https://pixso.cn/designskills/10-online-drawing-software-website/
4.在线画图软件免费画图工具免费的在线画图工具老少皆宜,让你把天马行空的想法变现。 立刻注册,开始画图(在新标签页或窗口中打开) 为你介绍全新的画图功能 发挥你的创造力。画图功能允许你在自己设计上画出个性化的图案,让设计更加出众。你还可以用画笔在任何设计中标出重点,给同伴留下注解。 https://www.canva.cn/draw/
5.cad在线画图软件有哪些特点:步天cad提供了在线异地版本,适合已有AutoCAD基础的用户。 功能:将本地cad版本变成网络版本cad,实现在线绘图,异地绘图。 试用链接:http://www.51adoa.com/ 收费情况:提供免费试用 2.AutoCAD Web 应用 特点:AutoCAD提供了在线版本,可以在网页端进行基本的2D和部分3D绘图。操作界面类似桌面版AutoCAD,适合已有AutoCADhttp://www.51adoa.com/quetal.aspx?id=873&kindid=6
6.Draw.io市面上较优秀的绘图软件有:ProcessOn、Visio、亿图图示等基本都要收费的,而「Draw.io」则是一款完全免费且开源的跨平台制图画图工具!它不仅有在线网页版,也支持 Win、Mac、Linux 客户端,同时它还无需注册、不限文件数、可导出导入,以及大量丰富专业的图表模版…… 「相关软件推荐:Eagle | iSlide | ProcessOn |https://www.iplaysoft.com/drawio.html
7.在线网页ai画图软件素材网站图片免费下载在线网页ai画图软件 12款最火的ai画图软件,助你探索创新设计 2 摹客设计云 2.5d在线互联网预约医疗医院网页手机专题插画ai设计 4 插画师小宋 一个网页在线聊天软件的界面设计 4 myefei 10年ui设计在线接单,高端ui设计,作品集,app,网页 50 誓守星空ui设计 智能ai多模态翻译平台(网页c端) 1 juju_兰 暴躁胖哥https://www.zcool.com.cn/tag/ZNzk4NDk5Mg==.html
8.ChatGPT中文网ChatGPT中文版免费网页入口在线使用一个好的技术是会对组织结构和社会产生重大变化,互联网的出现把人类信息数据部分的上传留在网络,人类得以更好回顾历史,参考历史;而chatgpt的出现时对全网信息的学习整理,对数据做了更近一层的理解,梳理总结出更优秀的人类思维范例,更合理的为你组织信息,引导你的创造性;把人类的知识由静态的数据和简单的堆叠在一起https://m.jb51.net/news/867222.html
9.在线CAD制图工具浩辰CAD看图王网页版浩辰在线CAD制图工具专题栏目主要汇总了CAD行业相关的在线CAD制图工具,浩辰CAD看图王网页版等内容,更多CAD教程和CAD行业资讯请点击访问浩辰CAD软件官网。https://www.gstarcad.com/tag/3892/
10.在线涂鸦画板,画画,画图,画流程图,绘草图工具在线涂鸦画板,画画,画图,画流程图,绘草图工具app说明:可以画画、画图、涂鸦、画思维导图、流程图、草图等。可生成图片、生成SVG矢量图形、保存为.ssbbww文件,方便以后在本页编辑、导入图片、导入SVG矢量图形,导入本页保存的.ssbbww文件。 部分按钮的一些说明: http://www.ssbbww.com/h/cj.htm
11.画画画图在线画画在线画图网站速写板 suxieban.com 是一款在线画画网站及画图工具,支持画画、画图、画思维导图、流程图、草图、图片生成、素材导入、SVG导出等功能,支持图片制作、SVG制作等。用户可通过画笔、喷漆、插入文字、图形库、素材库及功能菜单快捷高效的画画、画图、制作并分享精美的图片等。https://www.suxieban.com/
12.WolframAlpha:ComputationalIntelligenceCompute answers using Wolfram's breakthrough technology & knowledgebase, relied on by millions of students & professionals. For math, science, nutrition, history, geography, engineering, mathematics, linguistics, sports, finance, music…http://www.wolframalpha.com/
13.迅捷画图在线怎么画圆柱体?流程图样式有哪些?Word模板下载本模板为迅捷画图在线怎么画圆柱体?流程图样式有哪些?,格式为word,其他风格,可用于校园教育演讲展示,文字图片可以直接替换,使用简单方便。https://www.tukuppt.com/muban/lzdeeykg.html
14.15款在线画图软件深度测评:第一款绝对不要错过在当今数字化时代,在线画图软件成为了创作、设计和表达创意的重要工具。无论您是专业设计师还是创意爱好者,这些在线画图软件都将帮助您实现创意的无限可能。本文将为您介绍15款在线画图软件,从功能特点、优缺点和适用场景三个方面深度测评,助您找到最适合您需求的工具。 1. 流程图和图表软件 (1)博思白板boardmix 博https://boardmix.cn/article/15-online-drawing-softwares/
15.我最喜欢用的在线画图工具是Excalidraw,简来自宝玉xp我最喜欢用的在线画图工具是Excalidraw,简单漂亮,唯一美中不足的是它的字体支持英文手写字体,但是不支持中文手写字体,而在线版又不支持定制字体。有一个Markdown笔记软件Obsidian(O网页链接),它支持Excalidraw插件,这个插件很强大,可以支持自定义字体,也就是你可以将字体设置成你喜欢的中文手写字体(截图字体是“字语青梅https://weibo.com/1727858283/M4MnzbilG
16.在线PS软件在线PS图片(照片)处理工具H5网页模板 PPT模板 视频模板 稿定Al,一键灵感到创作 让设计更简单,无论身在何处 AI设计 创意无限,设计随心所欲 AI绘画 让AI拓展你的灵感边界 AI素材 告别海淘素材资源 AI文案 你的专属写作助理 在线PS专业版 让设计更简单,无论身在何处 立即作图https://www.uupoop.com/
17.hth网页版在线登录入口官方版8. 「快速娱乐」 hth网页版在线登录入口官网-APP下载支持:winall/win7/win10/win11系统类型:hth网页版在线登录入口下载(2024全站)最新版本IOS/安卓官方入口V25(安全平台)登录入口《hth网页版在线登录入口》一款功能强大的CAD画图软件,软件具有批注、尺寸面积测量,转PDF,批量打印等实用功http://www.m.share.freiland.cn/vcv/detail/ldwzrhl.html
18.2022年4月自考00896电子商务概论真题试卷自考19.在网页中使用他人注册商标作为链接锚点的行为属于 A.域名侵权 B.权利冲突 C.商标侵权 D.域名盗用 20.某自媒体网站经常发布流言以博得用户眼球,这种行为在电子商务伦理问题中属于 A.网络攻击行为 B.网络病毒威胁 C.信息安全破坏 D.网络信息污染 二、多项选择题:本大题共5小题,每小题2分,共10分。在每小题https://www.educity.cn/chengkao/5001913.html
19.在线画图平台千千万,总有一款适合你是不是很easy?操作方便,拖拽即可,美中不足的是画图的类别有点少。 其他类似的在线画图网站也很好用,比如GetBulbhttp://www.getbulb.com/ GetBulb 操作比rawgraphs略麻烦 5、Gwas Structure在线画图神器pophelper http://pophelper.com/ 输入admixture结果文件就可以 https://www.jianshu.com/p/b4992f48e06b
20.hth网页版在线登录入口官方版8. 「娱乐首选」 hth网页版在线登录入口官网-APP下载支持:winall/win7/win10/win11系统类型:hth网页版在线登录入口下载(2024全站)hth网页版在线登录入口最新版本IOS/安卓官方入口V9(安全平台)登录入口《hth网页版在线登录入口》绘画、涂鸦、填色的画图软件。不只能够用来即兴画画、顺手涂鸦http://www.share.tcdjdynyyt.com/cSa/detail/nVgcxRMt.html
21.基于HTML5的在线画图工具CanvasPaint有趣网址之家Windows画图可能是MS最鸡肋的附件了,但高手们似乎总是用它来展示自己的技术,今天这个网站用时下流行的HTML5技术仿制的Windows画图程序,界面就是同一个模子出来的,虽然操作上有些别扭,连作者自己都说这不是很好的在线画图工具,只是想测试一下< canvas >标签的应用而以。。。 https://youquhome.com/2010/
22.www.risingsteel.cn/aplhtml36062.htm一,印度猛男,金瓶梅在线观看手机播放 二,啊不要高潮,动漫美女内内脱光光揉胸 三,玖热精品,丁湾欧美三级片 四,亚洲综合激情另类小说区,私模大尺度掰逼图片 五,嗯?脱我内衣吸我奶小内,男操女屄小说 六,亚洲欧美日韩黄色视频,污到流水的爱爱文 http://www.risingsteel.cn/aplhtml36062.htm
23.pdf在线编辑代码怎么弄?pdf在线编辑工具使用方便吗?2.打开工具网页后,你需要上传需要编辑的代码文件。 3. 上传完成之后,选择“PDF编辑”即可对代码内容进行编辑 4.还可以添加文字、插入图片、画图、删除、旋转和裁剪等。你可以根据自己的需要选择相应的操作进行编辑。完成编辑后,你需要保存文件。 二、pdf在线编辑工具的方便使用且优点很多 https://www.foxitsoftware.cn/edit/information/1927.html
24.AI在线画图网站,让你轻松创作,免费使用!想要创作出美丽的艺术作品,却苦于没有足够的技能和时间?现在,我们为你提供一种全新的方式:使用AI在线画图网站,让你轻松创作,免费使用!无论你是艺术家、设计师还是普通用户,这个网站都能为你提供无限的创意和可能性。 在这个网站上,你可以使用AI绘画工具来创作出独一无二的艺术作品。只需输入一些关键词或描述,AIhttps://www.meixiaosan.com/article/show/16346.html
25.在线画图笔刷 自由绘图 其他http://pinzhuorj.com/