#+TITLE: UML #+AUTHOR: Christopher James Hayward #+EMAIL: chris@chrishayward.xyz #+PROPERTY: header-args:emacs-lisp :tangle uml.el :comments org #+PROPERTY: header-args:shell :tangle no #+PROPERTY: header-args :results silent :eval no-export :comments org #+OPTIONS: num:nil toc:nil todo:nil tasks:nil tags:nil #+OPTIONS: skip:nil author:nil email:nil creator:nil timestamp:nil Draw UML[fn:1] diagrams inside Emacs. * Setup Make sure all of the required components are installed on your system before loading the module. #+begin_src shell RUN apt install -y default-jre #+end_src * Config Download and install ~PlantUML~[fn:2], a text-based markup language for creating UML[fn:1] diagrams. You can read my notes about using the software here[fn:3]. Support for Emacs is added through the ~plantuml-mode~[fn:4] package. Configure the ~babel~ language module and structure templates to write diagrams in ~org-mode~ buffers. #+begin_src emacs-lisp (use-package plantuml-mode :after org :custom (plantuml-default-exec-mode 'jar) (plantuml-jar-path "~/.local/bin/plantuml.jar") (org-plantuml-jar-path (expand-file-name "~/.local/bin/plantuml.jar")) (org-startup-with-inline-images t) :config (add-to-list 'org-src-lang-modes '("plantuml" . plantuml)) (add-to-list 'org-structure-template-alist '("pl" . "src plantuml")) (org-babel-do-load-languages 'org-babel-load-languages '((plantuml . t)))) #+end_src * Shortcuts Toggle inline imagines with =SPC t i=. #+begin_src emacs-lisp (dotfiles/leader "ti" '(org-toggle-inline-images :which-key "Images")) #+end_src * Footnotes [fn:1] https://tutorialspoint.com/uml/uml_standard_diagrams.htm [fn:2] https://plantuml.com [fn:3] https://chrishayward.xyz/notes/plantuml/ [fn:4] https://github.com/skuro/plantuml-mode