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
Plantuml
compiler 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 ) |