用markdown来画流程图

作者: Jlan | 来源:发表于2016-09-09 22:38 被阅读27225次

一直在用markdown(不得不说markdown语法真的太强大太简洁了,效果也太优美,没学过markdown语法的可以自己学下)写东西,知道用markdown可以画出来很性感的流程图,遂决定学下如何用markdown来画流程图。

代码

flow
st=>start: Start
op=>operation: Your Operation
cond=>condition: Yes or No?
e=>end
st->op->cond
cond(yes)->e
cond(no)->op

效果

深度截图20160909223653.png

说明

这样几行简单的代码就生成了一个优雅的流程图。
流程图大致分为两段,第一段是定义元素,第二段是定义元素之间的走向。

定义元素的语法

tag=>type: content:>url
  • tag就是元素名字,
  • type是这个元素的类型,有6中类型,分别为:
  • start # 开始

  • end # 结束

  • operation # 操作

  • subroutine # 子程序

  • condition # 条件

  • inputoutput # 输入或产出

  • content就是在框框中要写的内容,注意type后的冒号与文本之间一定要有个空格。

  • url是一个连接,与框框中的文本相绑定

连接元素的语法

->来连接两个元素,需要注意的是condition类型,因为他有yes和no两个分支,所以要写成

c2(yes)->io->e 
c2(no)->op2->e

实际应用

下边献上我的拙作,这是一个爬取某网站的商品评论数据,然后进行情感分析的小项目,有四个模块:获取待爬取商品id,爬取代理,爬取评论,情感分析

代码

flow
st=>start: Start|past:>http://www.google.com[blank]
e=>end: End:>http://www.google.com
op1=>operation: get_hotel_ids|past
op2=>operation: get_proxy|current
sub1=>subroutine: get_proxy|current
op3=>operation: save_comment|current
op4=>operation: set_sentiment|current
op5=>operation: set_record|current

cond1=>condition: ids_remain空?
cond2=>condition: proxy_list空?
cond3=>condition: ids_got空?
cond4=>condition: 爬取成功??
cond5=>condition: ids_remain空?

io1=>inputoutput: ids-remain
io2=>inputoutput: proxy_list
io3=>inputoutput: ids-got

st->op1(right)->io1->cond1
cond1(yes)->sub1->io2->cond2
cond2(no)->op3
cond2(yes)->sub1
cond1(no)->op3->cond4
cond4(yes)->io3->cond3
cond4(no)->io1
cond3(no)->op4
cond3(yes, right)->cond5
cond5(yes)->op5
cond5(no)->cond3
op5->e

效果

流程图.png

这个流程图有个问题,我希望ids_remain的两个条件都为空,但是markdown语法没法实现我这需求(不知道我这需求是不是有毛病),只能先这样画着了。


原文

http://jlan.me/2016/09/09/%E7%94%A8markdown%E6%9D%A5%E7%94%BB%E6%B5%81%E7%A8%8B%E5%9B%BE/

参考

相关文章

  • 用markdown来画流程图

    一直在用markdown(不得不说markdown语法真的太强大太简洁了,效果也太优美,没学过markdown语法...

  • MarkDown 流程图示例

    后知后觉的我,最近才知道MarkDown支持mermaid语法,可以用MarkDown画流程图! 犹记得当初做毕业...

  • 如何在Markdown中画流程图

    如何在Markdown中画流程图呢?当然是用mermaid了,mermaid支持三种图形的绘制, 分别是流程图, ...

  • Markdown

    一篇很详细的 Markdown 语法手册 使用 Markdown 画流程图

  • 用代码画流程图和时序图快餐教程(2)

    用代码画流程图和时序图快餐教程(2) 可以嵌入在markdown代码中的mermaid mermaid的好处是可以...

  • MarkNote macOS 版本 7.9

    macOS 版 Version 7.9 发布。现在可以用类似于 markdown 的方式来绘制流程图,甘特图和时序...

  • 在简书上用Markdown画流程图

    作为一个程序员,经常需要画流程图。而用Markdown画流程图,省心省力,后面需要调整的话也更方便。但是,目前简书...

  • 【Markdown】相关参考

    流程图 学习Markdown绘制流程图 Typora流程图代码 测试

  • 2018-10-18流程测试

    一.画流程图学习visio使用 二.根据流程图转换为流程用例 根据画好的流程图转换为流程用例 visio 行转列 ...

  • markdown如何画流程图

    流程图 时序图 简书不支持显示流程图 测试网站如下: https://www.zybuluo.com/mdedit...

网友评论

  • KrisLeeSH:简书并不支持
    万事皆成:马克飞象支持 挺好用的在线编辑器,推荐一下: https://maxiang.io/
    Jlan:@KrisLeeSH 是的,简书不支持,但可以用别的编辑器
  • 李云龙_:楼主,建议修改VsCode在flow前边加 ```才能显示流程图,我是看了评论才知道的,
  • 097a1c845723:老铁,你的markdown绘制的图的大小和每个元素之间连线的长短怎么控制的
    097a1c845723:@Jlan 就是没找到,所以我换Understand了,自动生成
    Jlan:这个好像不能控制吧
  • cheetah747:我用的MarkEditor,复制你的代码没办法显示成你的流程图。。。
    cheetah747:哦我知道了,我这边需要在flow前面加上```来声明flow语言类型才能识别。
  • 丶渐离:第二个例子中的竖线(|)是什么语法啊?
    |past
    |current
    这种表示什么意思?
  • 核舟记:楼主想问一下,流程图有规定吗,比如说我两个operation不能相连?
    Jlan:可以的,根据你的流程走就行了吧
  • 一个就够啦:亲,如何在这个流程图里面写数学公式,您研究一下。(因为工作需要,可能会在这个流程图某个步骤需要数学公式)
    Jlan:你找一个支持数学公式和流程图的markdown编辑器,应该就可以了
  • 二口夭:新技能get,楼主棒棒哒!:relaxed:
  • 9ca9b3b3a0ce:请问你使用哪种markdown编辑工具显示流程图的
    Jlan:cmd markdown是支持流程图的

本文标题:用markdown来画流程图

本文链接:https://www.haomeiwen.com/subject/jhfyettx.html