PlantUML plugin for GitBook and Honkit
npm install gitbook-plugin-uml



PlantUml Plugin for Honkit ~~and GitBook~~.
This is a sample plugin for ~~GitBook~~ Honkit and is specially adapted for ~~GitBook~~ Honkit from PlantUML. ~~Gitbook~~ Honkit PlantUml plugin is used to select from markdown uml and converting it into a picture format svg.
Install honkit instead of gitbook-cli(deprecated).
Install JRE or JDK please. Ensure your system have java.
It will download plantuml jar file automatically, so in some country and region you must install it behind a proxy, or it will download fail.
Gitbook PlantUml plugin can be installed from NPM using:
``bash`
npm install gitbook-plugin-uml
Add this plugin into book.json.
`json`
{
"plugins": ["uml"]
}
Important:
** Please ensure your system have java!!! Or this plugin may not work, and get `Error: spawn java ENOENT`
** It will download plantuml jar file automatically, so in some country and region you must install it behind a proxy, or it will download fail.
* Support HTML, PDF, EPUB output(make sure your gitbook support SVG)
* Support ` flow code block quote
* Multi code style support
To include a PlantUML diagram, just wrap your definition in a "uml" code block. For example:
!UML
Text format uml:
`uml`
@startumlClass Stage
Class Timeout {
+constructor:function(cfg)
+timeout:function(ctx)
+overdue:function(ctx)
+stage: Stage
}
Stage <|-- Timeout@enduml
And what's more, `puml` and `plantuml` code block also OK.
`puml`
@startumlClass Stage
Class Timeout {
+constructor:function(cfg)
+timeout:function(ctx)
+overdue:function(ctx)
+stage: Stage
}
Stage <|-- Timeout@enduml
Also you can put in your book block as
`markdown
{% uml %}
@startuml
Class Stage
Class Timeout {
+constructor:function(cfg)
+timeout:function(ctx)
+overdue:function(ctx)
+stage: Stage
}
Stage <|-- Timeout
@enduml
{% enduml %}
`
The block syntax also allows for a src attribute to import an external PlantUml file.
`text`
{% uml src="test.plantuml" %}{% enduml %}
Of course, you can also pass the parameters like this.
`puml { src="test.plantuml" }`
book.json add the uml options
Configure plugin in book.json.
`json`
"pluginsConfig": {
"uml": {
"format": "png",
"nailgun": false
}
}
This plugin only works in your local machine. You need to play with local gitbook (command-line tool) to pre-compile all uml images.
`terminal`
gitbook serve yourbook
or
`terminal`
gitbook build yourbook
For Mac OS X users. Install graphviz package.
`bash`
brew install graphviz
For Linux users, Install graphviz package.
`bash`
sudo apt install graphviz
`bash`
sudo yum install graphviz
Debian/Ubuntu users may need install default-jre prevent Error: spawn java ENOENT.
`bash``
sudo apt-get install default-jre
This plugin original from lyhcode/gitbook-plugin-plantuml
These plugins are also available on honkit.
| Plugin | Description |
| ----------------------------------------------------------------------------- | ------------------------------------------------------ |
| gitbook-plugin-uml | A plug-in that use plantuml to draw beautiful pictures |
| gitbook-plugin-wavedrom | A plug-in that can draw waveforms and register tables |
| gitbook-plugin-sequence | A plug-in that can draw sequence diagrams |
| gitbook-plugin-flow | A plug-in that can draw flowchart.js diagrams |
| gitbook-plugin-echarts | A plug-in that can draw various charts such as bar/pie |