From the original work by Zhang Weize, plantuml-mode supports editing and previewing PlantUML diagrams all within Emacs, optionally also integrating with Org-Babel.Luca Greco has shared a set of standalone helpers to edit, render, preview PlantUML code from Emacs.
ob-napkinsupports Python syntax for sequence diagrams along with the plain plantuml code. Note that it uses Plantuml server, which means that it does not require to install JAR file and usually faster than invoking JVM.
plantuml.jarfrom official download page and save it at
plantuml-modevia melpa. 3.) in
(setq org-plantuml-jar-path (expand-file-name "/home/you/path/to/plantuml.jar")) (add-to-list 'org-src-lang-modes '("plantuml" . plantuml)) (org-babel-do-load-languages 'org-babel-load-languages '((plantuml . t)))
4.) put some uml in your org file e.g.
#+begin_src plantuml :file my-diagram.png title Authentication Sequence Alice->Bob: Authentication Request note right of Bob: Bob thinks about it Bob->Alice: Authentication Response #+end_src
5.) export e.g. with
C-c C-e h o
#+BEGIN_UML Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response #+END_UML
While the org file is exported to HTML or other formats, PlantUML is called to generate image and replace the block in place.Thanks to Ian Yang for the work done. This method, however, is considered obsolete:
;; OBSOLETED, use ob-plantuml.el bundled in org instead.( A citation from https://www.emacswiki.org/emacs/org-export-blocks-format-plantuml.el )