Add plantuml layer

Adds support for PlanetUML, a tool to generate
UML diagrams from plain text.
This commit is contained in:
Robert O'Connor 2016-01-25 05:06:16 -05:00 committed by syl20bnr
parent d924f036f9
commit 7d82e576ab
5 changed files with 90 additions and 0 deletions

View File

@ -0,0 +1,47 @@
#+TITLE: plantuml layer
#+HTML_HEAD_EXTRA: <link rel="stylesheet" type="text/css" href="../../css/readtheorg.css" />
[[file:img/logo.png]]
* Table of Contents :TOC_4_org:noexport:
- [[Description][Description]]
- [[Install][Install]]
- [[Key bindings][Key bindings]]
* Description
This layer enables support for [[https://github.com/skuro/puml-mode][puml-mode]], which provides
a major-mode for [[http://plantuml.com][plantuml]]. PlantUML is a tool to generate [[https://en.wikipedia.org/wiki/Unified_Modeling_Language][UML diagrams]] from plain-text.
For help with how to use plantuml, see the [[http://plantuml.com][plantuml website]] and the [[http://plantuml.com/PlantUML_Language_Reference_Guide.pdf][reference guide]].
The official file extension supported by this layer is =.pum=. 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:
#+BEGIN_SRC plantuml
@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
#+END_SRC
[[file:img/dia.png]]
* Install
To use this contribution add it to your =~/.spacemacs=
#+begin_src emacs-lisp
(setq-default dotspacemacs-configuration-layers '(plantuml))
#+end_src
* 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~) |

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1,19 @@
;;; packages-config.el --- plantuml layer packages file for Spacemacs.
;;
;; Copyright (c) 2012-2016 Sylvain Benner & Contributors
;;
;; Author: Robert O'Connor <robby.oconnor@gmail.com>
;; URL: https://github.com/robbyoconnor
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
;;; Commentary:
;;; Code:
(defconst plantuml-packages
'(puml-mode))
;;; packages-config.el ends here

View File

@ -0,0 +1,24 @@
;;; packages.el --- plantuml layer packages file for Spacemacs.
;;
;; Copyright (c) 2012-2016 Sylvain Benner & Contributors
;;
;; Author: Robert O'Connor <robby.oconnor@gmail.com>
;; URL: https://github.com/robbyoconnor
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
;;; Commentary:
;;; Code:
(defun plantuml/init-puml-mode ()
(use-package puml-mode
:defer t
:mode ("\\.pum$" . puml-mode)
:config (spacemacs/set-leader-keys-for-major-mode 'puml-mode
"cc" 'puml-preview
"co" 'puml-set-output-type)))
;;; packages.el ends here