PlantUML is a component that allows to quickly write:
- sequence diagram,
- use case diagram,
- class diagram,
- activity diagram,
- component diagram,
- state diagram
- object diagram
I really like the idea of writing UML diagram with plain text, and the syntax of it is very well designed, so I use PlantUML with trac and sphinx. After switching Octopress to my blog platform, I was looking for a way to integrate PlantUML within it, though I can't find one, so I wrote this very simple jekyll plugin (Octopress is based on Jekyll).
To use with Octopress, you need to put the plantuml.rb
under the plugins
folder, or you can use git's submodules to add jekyll-plantuml under plugins
folder.
You need to download the plantuml.jar
file from http://plantuml.sourceforge.net/download.html
If you use jekyll-plantuml to generate any UML diagrams other than sequence diagram, you have to install Graphviz as well. Only the dot
command is used.
Add below configurations into _config.yml
:
plantuml:
plantuml_jar: _bin/plantuml.jar # path to plantuml jar
tmp_folder: _plantuml # tmp folder to put generated image files
dot_exe: c:/graphviz/bin/dot.exe # [optional] path to Graphviz dot execution
background_color: white # [optional] UML image background color
Just wrap the diagram text in "plantuml" block, e.g.
{% plantuml %}
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
{% endplantuml %}