All Projects → miao1007 → hexo-filter-plantuml

miao1007 / hexo-filter-plantuml

Licence: MIT license
Using PlantUML to generate UML Diagram for hexo

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to hexo-filter-plantuml

hexo-include-markdown
Easily load markdownfiles in Markdown .
Stars: ✭ 16 (-30.43%)
Mutual labels:  hexo, hexo-plugin
hexo-tag-instagram
Embed instagram photo and movie tag plugin for Hexo.
Stars: ✭ 23 (+0%)
Mutual labels:  hexo, hexo-plugin
hexo-tag-xvideos
🔞 Embed xvideos player in your Hexo posts/pages
Stars: ✭ 17 (-26.09%)
Mutual labels:  hexo, hexo-plugin
hexo-steam-games
为Hexo添加Steam游戏库页面
Stars: ✭ 24 (+4.35%)
Mutual labels:  hexo, hexo-plugin
hexo-hide-posts
A plugin to hide specific posts from your Hexo blog and make them only accessible by links. (隐藏 Hexo 文章)
Stars: ✭ 149 (+547.83%)
Mutual labels:  hexo, hexo-plugin
hexo-instagram-wall
Displays up to 18 most recent images from your Instagram account
Stars: ✭ 12 (-47.83%)
Mutual labels:  hexo, hexo-plugin
hexo-douban-card
在hexo文章中插入豆瓣读书,豆瓣电影,豆瓣音乐组件
Stars: ✭ 56 (+143.48%)
Mutual labels:  hexo, hexo-plugin
hexo-tag-hint
A Hexo tag plugin to display text hint/spoiler tooltip.
Stars: ✭ 26 (+13.04%)
Mutual labels:  hexo, hexo-plugin
hexo-filter-optimize
A Hexo plugin that optimize the pages loading speed.
Stars: ✭ 41 (+78.26%)
Mutual labels:  hexo, hexo-plugin
hexo-directory-category
Automatically add category to Hexo article according to the article file directory.
Stars: ✭ 35 (+52.17%)
Mutual labels:  hexo, hexo-plugin
hexo-reading-time
Plugin for Hexo CMS to display reading time for article
Stars: ✭ 28 (+21.74%)
Mutual labels:  hexo, hexo-plugin
hexo-covers
Microbrowser covers for Hexo static site generator
Stars: ✭ 15 (-34.78%)
Mutual labels:  hexo, hexo-plugin
hexo-bilibili-bangumi
hexo 番剧页面插件,可选数据源:Bilibili, Bangumi
Stars: ✭ 252 (+995.65%)
Mutual labels:  hexo, hexo-plugin
hexo-netlify-cms
☕ A cup of coffee time to enable Netlify CMS
Stars: ✭ 29 (+26.09%)
Mutual labels:  hexo, hexo-plugin
hexo-filter-mathjax
💯 Server side MathJax renderer plugin for Hexo.
Stars: ✭ 76 (+230.43%)
Mutual labels:  hexo, hexo-plugin
hexo-filter-responsive-images
Generate mutliple version of images for responsive Hexo blogs
Stars: ✭ 17 (-26.09%)
Mutual labels:  hexo
hexo-theme-lanmiao
使用bootstrap构建的类单页博客,粉色系简洁Hexo主题
Stars: ✭ 16 (-30.43%)
Mutual labels:  hexo
kstatemachine
KStateMachine is a Kotlin DSL library for creating finite state machines (FSM) and hierarchical state machines (HSM).
Stars: ✭ 63 (+173.91%)
Mutual labels:  plantuml
plant erd
ERD exporter with PlantUML and mermaid format
Stars: ✭ 126 (+447.83%)
Mutual labels:  plantuml
hexo-offline
Out-of-the-box hexo offline experience
Stars: ✭ 69 (+200%)
Mutual labels:  hexo

@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="https://github.com/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="https://github.com/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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].