用过Markdown的同学都知道,它是一门文本标记语言,即:使用指定的语法格式编写纯文本内容,事后(或同步预览)根据语法就可以自动生成富文本内容

Markdown简单易学,工具完善,已经是技术领域文档编写的事实标准,那么问题来了

有没有一门文本标记语言可以用于绘图呢?至少可以绘制技术类的图表

有,这就是PlantUML

话不多说,咱直接上一个时序图Demo瞧瞧

@startuml

skinparam handwritten true

actor 老王 as Wang
participant 奸商 as js
participant 支付宝 as alipay
participant 无良借款公司 as debit
participant 土 as dust

Wang -> js: 老板 来个iPhone2017
note left: 手机摔了\n买个新的吧

js -> Wang: 一口价 10000元
note right: 生意上门了\n看起来是个肥猪

alt 爷有钱
    Wang -> alipay: 付款 10000 元
    alipay -> js: 打款 10000 元
    js -> Wang: 手机是你的了
else 手头紧
    Wang -> debit: 借款 10000 元
    debit -> Wang: 月息 10% 的借款
    Wang -> js: 老板 给你钱
    js -> Wang: 手机是你的了
    loop 持续半年
        Wang -> dust: 吃土
    end
end

@enduml

视觉效果如下所示,支持的语法应付日常绘图足矣:

  1. 变量定义(使用关键词 as
  2. 调用流程(使用符号 ->
  3. 分支流程(使用关键词 alt / else
  4. 循环流程(使用关键词 loop
  5. 备注(使用关键词 note left / note right
  6. 还可以设置图形风格主题(skinparam handwritten true

 

除了时序图以外,PlantUML还支持好几种常用的技术类图形的绘制:

  1. 用例图
  2. 类图
  3. 活动图
  4. 组件图
  5. 状态图

详见官网文档,简单易学,分分钟上手:http://plantuml.com/

另外,这个网站也很不错,算是精华版或者Cookbook之类的教程:http://ogom.github.io/draw_uml/plantuml/

至于工具,我选择 VSCode 及其PlantUML插件:https://atom.io/packages/plantuml-viewer

来一发效果图感受下:(实时预览 + 导出文件)

 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注