This is inspired by dy93's work plugin-plantuml-cloud. There're already several PlantUML plugins for GitBook out there. However, most of them relies on a local PlantUML & Graphviz.
The plugin-plantuml-cloud uses the public PlantUML services. It saves people's effort to maintain the local plantuml.jar.
This plugin makes 2 additional improvements
- Insert
<object data="..." type="image/svg+xml">
instead of<img>
, so that the links inSVG
still work. - Support standalone PlantUML file.
# With NPM
$ npm install gitbook-plugin-plantuml-svg
# With Yarn
$ yarn add gitbook-plugin-plantuml-svg
In your book.json
, add plantuml-svg to the plugin list
{
"plugins": ["plantuml-svg"]
}
Say, you have graph/my-chart.puml
.
@startuml
object Hello
object World
Hello --> World
@enduml
In your Markdown document, put following lines.
{% uml src="graph/my-chart.puml" %}
{% enduml %}
By default, the file path is relative to the project root. If you want the path to be relative to current document, do
{% uml src="graph/my-chart.puml", relativeTo=file %}
{% enduml %}
The standalone PlantUML file is recommended for large graphs. However, for simple graphs, you can also use inline plugin PlantUML.
{% uml %}
@startuml
object Hello
object World
Hello --> World
@enduml
{% enduml %}