• Stars
    star
    285
  • Rank 145,115 (Top 3 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 3 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Generate PlantUML Diagrams inside Obsidian.md

PlantUML Support for Obsidian

Maintenance GitHub manifest.json dynamic (path) libera manifesto

Render PlantUML Diagrams in Obsidian


Demonstration

This plugin uses either the PlantUML Online Server, or a local .jar file for rendering.

You can also host your own server (Docker / JEE / PicoWeb) and specify its address in the settings.

Please note that using the local rendering method is not as performant as using a server.

Usage

Create a fenced codeblock using plantuml as the language. Specify your plantuml code inside. To generate a diagram with higher resolution use plantuml-svg

You can also use plantuml-ascii to generate ASCII Art.

Documentation on Plantuml can be found on plantuml.com

Linking to notes in vault

Since the syntax for weblinks in PlantUML is the same for as for Wikilinks in Obsidian, a special syntax is used: [[[Your other note]]] For the content of such a link refer to the obisidian documentation.

Normal web links are described here

Including an .puml file

โš ๏ธ Only works when using local rendering

This works just as describe in the official documentation.

Examples

```plantuml
Bobย ->ย Aliceย :ย hello
Aliceย ->ย Wonderland:ย hello
Wonderlandย ->ย next:ย hello
nextย ->ย Last:ย hello
Lastย ->ย next:ย hello
nextย ->ย Wonderlandย :ย hello
Wonderlandย ->ย Aliceย :ย hello
Aliceย ->ย Bob:ย hello
```

results in:

```plantuml-ascii
Bobย ->ย Aliceย :ย hello
Aliceย ->ย Wonderland:ย hello
Wonderlandย ->ย next:ย hello
nextย ->ย Last:ย hello
Lastย ->ย next:ย hello
nextย ->ย Wonderlandย :ย hello
Wonderlandย ->ย Aliceย :ย hello
Aliceย ->ย Bob:ย hello
```

results in:

     โ”Œโ”€โ”€โ”€โ”          โ”Œโ”€โ”€โ”€โ”€โ”€โ”          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”          โ”Œโ”€โ”€โ”€โ”€โ”          โ”Œโ”€โ”€โ”€โ”€โ”
     โ”‚Bobโ”‚          โ”‚Aliceโ”‚          โ”‚Wonderlandโ”‚          โ”‚nextโ”‚          โ”‚Lastโ”‚
     โ””โ”€โ”ฌโ”€โ”˜          โ””โ”€โ”€โ”ฌโ”€โ”€โ”˜          โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜          โ””โ”€โ”ฌโ”€โ”€โ”˜          โ””โ”€โ”ฌโ”€โ”€โ”˜
       โ”‚    hello      โ”‚                  โ”‚                  โ”‚               โ”‚   
       โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€>โ”‚                  โ”‚                  โ”‚               โ”‚   
       โ”‚               โ”‚                  โ”‚                  โ”‚               โ”‚   
       โ”‚               โ”‚      hello       โ”‚                  โ”‚               โ”‚   
       โ”‚               โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€>โ”‚                  โ”‚               โ”‚   
       โ”‚               โ”‚                  โ”‚                  โ”‚               โ”‚   
       โ”‚               โ”‚                  โ”‚       hello      โ”‚               โ”‚   
       โ”‚               โ”‚                  โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€>               โ”‚   
       โ”‚               โ”‚                  โ”‚                  โ”‚               โ”‚   
       โ”‚               โ”‚                  โ”‚                  โ”‚     hello     โ”‚   
       โ”‚               โ”‚                  โ”‚                  โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€>   
       โ”‚               โ”‚                  โ”‚                  โ”‚               โ”‚   
       โ”‚               โ”‚                  โ”‚                  โ”‚     hello     โ”‚   
       โ”‚               โ”‚                  โ”‚                  โ”‚ <โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€   
       โ”‚               โ”‚                  โ”‚                  โ”‚               โ”‚   
       โ”‚               โ”‚                  โ”‚       hello      โ”‚               โ”‚   
       โ”‚               โ”‚                  โ”‚ <โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€               โ”‚   
       โ”‚               โ”‚                  โ”‚                  โ”‚               โ”‚   
       โ”‚               โ”‚      hello       โ”‚                  โ”‚               โ”‚   
       โ”‚               โ”‚<โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚                  โ”‚               โ”‚   
       โ”‚               โ”‚                  โ”‚                  โ”‚               โ”‚   
       โ”‚    hello      โ”‚                  โ”‚                  โ”‚               โ”‚   
       โ”‚<โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚                  โ”‚                  โ”‚               โ”‚   
     โ”Œโ”€โ”ดโ”€โ”          โ”Œโ”€โ”€โ”ดโ”€โ”€โ”          โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”          โ”Œโ”€โ”ดโ”€โ”€โ”          โ”Œโ”€โ”ดโ”€โ”€โ”
     โ”‚Bobโ”‚          โ”‚Aliceโ”‚          โ”‚Wonderlandโ”‚          โ”‚nextโ”‚          โ”‚Lastโ”‚
     โ””โ”€โ”€โ”€โ”˜          โ””โ”€โ”€โ”€โ”€โ”€โ”˜          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜          โ””โ”€โ”€โ”€โ”€โ”˜          โ””โ”€โ”€โ”€โ”€โ”˜

Known issues

Not all methods of using PlantUML support all different diagrams. Following are a few known issues.

  • ASCII can only ever generate Sequence diagrams
  • The PicoWeb server does not support clickable links in png diagrams
  • Some languages like chinese are not rendered correctly -> Switch to SVG rendering

Installation

Settings > Third-party plugins > Community Plugins > Browse and search for PlantUML.