Skip to content

miao1007/hexo-filter-plantuml

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 

@wafer-li 's hexo-filter-plantuml has been transfered to me duo to maintain issues.


version download

I have created another hexo plugin called hexo-filter-kroki, which supports 20+ diagrams (including plantuml).

Features

  • Generate raw/base64/urlencoded svg at compile time, no external css and js required.
  • Privacy guaranteed. Support rendering locally or self-hosting server.
  • Zero npm dependencies.

How Does it work

Install

npm install --save hexo-filter-plantuml

Minimum configuration

No configuration required. By default, it will send your text to plantuml.com for rendering, and the base64-encoded images will be inlined in the html.

Advanced configuration

Server-side(recommend)

Please keep in mind, if you want more about privacy/safety, please replace your own self-hosting render server.

plantuml:
  #  Local or PlantUMLServer.
  render: "PlantUMLServer"

  # The render server, you can also create your self-hosting sever
  # self-hosting cmd: java -jar /usr/local/Cellar/plantuml/1.2021.5/libexec/plantuml.jar -picoweb
  # server: http://localhost:8080/plantuml
  server: "http://www.plantuml.com/plantuml"
  # "inline": <svg>xxx<svg/>
  # "inlineUrlEncode": <img src='data:image/svg+xml;> 
  # "inlineBase64": <img src='data:image/svg+xml;base64> 
  # "localLink": <img src="/assert/puml/xxxx.svg">
  # "externalLink": <img src="http://www.plantuml.com/plantuml/svg/xxx">
  link: "inline"

  # common options: svg/png
  outputFormat: "svg"

  # class-name for element style. The default style is center-aligned block
  className: "plantuml"

Client-side

It may be slower for plantuml.jar will restart JVM per code fragment.

plantuml:
  #  Local or PlantUMLServer.
  render: "Local"

  # "inline": <svg>xxx<svg/>
  # "inlineUrlEncode": <img src='data:image/svg+xml;> 
  # "inlineBase64": <img src='data:image/svg+xml;base64> 
  # "localLink": <img src="/assert/puml/xxxx.svg">
  link: "inline"

  # where your dot binary
  GraphvizDotFile: "/usr/local/bin/dot"
  # where your jar
  PlantJar: "/usr/local/Cellar/plantuml/1.2021.5/libexec/plantuml.jar",

  # common options: svg/png
  outputFormat: "svg"

  # class-name for element style. The default style is center-aligned block
  className: "plantuml"

How to use it?

puml and plantuml directives both work.

​```plantuml
@startuml
Object <|-- ArrayList
Object : equals()
ArrayList : Object[] elementData
ArrayList : size()
@enduml
​```

@startuml and @endpuml are ALWAYS required or the image will fail to be generated.

or

{% plantuml %}
@startuml
Object <|-- ArrayList
Object : equals()
ArrayList : Object[] elementData
ArrayList : size()
@enduml
{% endplantuml %}

Plugin will pick up block body and replace it with generated base64 svg diagram.

see more details at http://plantuml.com/sitemap-language-specification

About

Using PlantUML to generate UML Diagram for hexo

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published