gitbook-plugin-uml
This is a sample plugin for GitBook and is specially adapted for GitBook from PlantUML. Gitbook PlantUml plugin is used to select from markdown uml and converting it into a picture format svg.
Installation
Gitbook PlantUml plugin can be installed from NPM using:
$ npm install gitbook-plugin-uml
book.json add the plugin
{
"plugins": ["uml"]
}
Features
- Support HTML, PDF, EPUB output(make sure your gitbook support SVG)
- Support
```
flow code block quote - Multi code style support
Beautiful UML
How to use it
To include a PlantUML diagram, just wrap your definition in a "uml" code block. For example:
Text format uml:
```uml
@startuml
Class 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
@startuml
Class 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
{% 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.
{% uml src="test.plantuml" %}{% enduml %}
Of course, you can also pass the parameters like this.
```puml { src="test.plantuml" }
```
Configuration
book.json add the uml options
Configure plugin in book.json
.
"pluginsConfig": {
"uml": {
format: 'png',
nailgun: false
}
}
The plugin can be configured to use Nailgun but by default it does not.
Build and serve
This plugin only works in your local machine. You need to play with local gitbook
(command-line tool) to pre-compile all uml images.
$ gitbook serve yourbook
or
$ gitbook build yourbook
Additional requirements:
- Create a directory /assets/images/uml in the root of your project.
- Install PlantUML. (Download plantuml.jar to root path)
For Mac OS X users. Install graphviz package.
$ brew install graphviz
For Linux users, Install graphviz package.
$ sudo apt install graphviz
$ sudo yum install graphviz
Debian/Ubuntu users may need install default-jre
prevent Error: spawn java ENOENT.
$ sudo apt-get install default-jre
This plugin original from lyhcode/gitbook-plugin-plantuml