plantuml

概念

架构图即代码
PlantUML is a open-source tool that allows to quickly write :

  • Sequence diagram,
  • Usecase diagram,
  • Class diagram,
  • Activity diagram, (here is the new syntax),
  • Component diagram,
  • State diagram,
  • Deployment diagram,
  • Object diagram.
  • wireframe graphical interface

效果

在hexo博客加上plantuml插件

install

1
npm install hexo-tag-plantuml --save

add to _config.yml

And add this plugin in _config.yml.

1
2
plugins:
- hexo-tag-plantuml

test

add text to markdown file

1
2
3
{% plantuml %}
Bob->Alice : hello
{% endplantuml %}

test

1
hexo clean && hexo generate && hexo server

效果

公司内网搭建plantuml服务

虽然http://plantuml.com/提供了online server,但是由于信息安全问题,不能直接把代码贴到那生成图片,所以需要自己在内网建一个.

选型

其实也没啥选的,由于linux机器都被回收,只有自己用的windows办公机,所以只能用windows了。
前端用bootstrap+angularjs,好吧,我承认我是前端小白,其实我就只会这哥俩
后端就用go的gin框架,原因就是之前用gin写了个玩具,基本可以复用

准备工作

实现过程

启动plantuml

1
java -jar plantuml.jar

会监控当前目录,如果有.txt等文件的变更,就会生成同名的png

时序图

期间有个比较蛋疼的事,由于golang的string是UTF8,保存到文件也是UTF8,plantuml不识别,总提示语法错误。解决方法:

炫耀

花了3个小时搞定,就推荐给周围同事,得到一致好评,大家都可以抛弃visio等图形化工具了。
通过markdown实现了设计文档即代码
那么通过plantuml实现了架构图即代码
文本化,可以版本管理


本博客欢迎转发,但请保留原作者信息
github:codejuan
博客地址:http://blog.decbug.com/