plantuml layer
Table of ContentsClose
1. Description
This layer enables support for plantuml-mode, which provides a major-mode for plantuml. PlantUML is a tool to generate UML diagrams from plain-text.
For help with how to use plantuml, see the plantuml website and the reference guide.
The official file extension supported by this layer is .pum. and .puml. If you want something else,
set it in your user-config function of your ~/.spacemacs file.
For example, the following diagram can be defined as follows:
@startuml JAremko->robbyoconnor : I think the docs can benefit from some kind of illustration JAremko<-robbyoconnor : I'm too lazy -- I have actual work to do. I link to the docs. If you can write me a diagram in plantuml, I'll gladly compile and add it. JAremko->robbyoconnor : *gives ths diagram* robbyoconnor<-JAremko : *robbyoconnor adds it and JAremko is happy* ... robbyoconnor->theOtherPerson : And they thinks it's funny? Yup, they definitely finds it funny. Right? @enduml
1.1. Features:
- Syntax highlighting
- Diagram preview in various output formats
- Embedding into org documents
- Controlling the
Plantumlcompiler directly from emacs
2. Install
To use this contribution, add it to your ~/.spacemacs
(setq-default dotspacemacs-configuration-layers '(plantuml))
2.1. Execution modes
Configure plantuml-mode to either make use of a Plantuml library, executable or server (experimental).
If you want to call your local Plantuml library, set plantuml-jar-path and plantuml-default-exec-mode as follows:
(setq-default dotspacemacs-configuration-layers '((plantuml :variables plantuml-jar-path "~/plantUml.jar" plantuml-default-exec-mode 'library)))
For this to work, you need to execute plantuml-download-jar to download the most recent Plantuml library jar to your home directory.
If instead you want to call your local Plantuml executable (f.e. as installed to path /usr/bin/plantuml by your package manager), set plantuml-executable-path and plantuml-default-exec-mode as follows:
(setq-default dotspacemacs-configuration-layers '((plantuml :variables plantuml-executable-path "/usr/bin/plantuml" plantuml-default-exec-mode 'executable)))
If instead you don't want to compile locally, you can set plantuml-exec-mode to server.
This will make plantuml try to use an online compile server. Be warned that this feature is experimental.
(setq-default dotspacemacs-configuration-layers '((plantuml :variables plantuml-default-exec-mode 'server)))
Either way, to get the full range of Plantuml compilations working, you will also need
the native package graphviz installed on your system.
3. Org-Babel Integration
To enable the execution of embedded plantuml code blocks within Org-Mode
documents, define a value for org-plantuml-jar-path in your ~/.spacemacs:
(setq-default dotspacemacs-configuration-layers '((plantuml :variables plantuml-jar-path "~/plantUml.jar" org-plantuml-jar-path "~/plantUml.jar")))
4. Key bindings
| Key binding | Description |
|---|---|
SPC m c c or C-c C-c |
Build diagram from the text in the current buffer |
SPC m c o |
Set the output type (unicode text, svg, or png) |