在Emacs下绘制UML图
最近想画几个UML图,Emacs配置记录如下:
Download plantuml.jar: https://plantuml.com/. And put it to ~/.emacs.d/external/.
~$ wget https://jaist.dl.sourceforge.net/project/plantuml/plantuml.jar?viasf=1 ~$ mv plantuml.jar?viasf=1 ~/.emacs.d/external/plantuml.jar
Config org babel:
(org-babel-do-load-languages 'org-babel-load-languages '(;; other Babel languages (plantuml . t))) (setq org-plantuml-jar-path (expand-file-name "~/.emacs.d/external/plantuml.jar"))
Try:
Alice -> Bob: synchronous call Alice ->> Bob: asynchronous call
Another example
title Example Sequence Diagram activate Client Client -> Server: Session Initiation note right: Client requests new session activate Server Client <-- Server: Authorization Request note left: Server requires authentication Client -> Server: Authorization Response note right: Client provides authentication details Server --> Client: Session Token note left: Session established deactivate Server Client -> Client: Saves token deactivate Client
Another example:
'http://click.sourceforge.net/images/activity-diagram-small.png
title Servlet Container
(*) --> "ClickServlet.handleRequest()"
--> "new Page"
if "Page.onSecurityCheck" then
->[true] "Page.onInit()"
if "isForward?" then
->[no] "Process controls"
if "continue processing?" then
-->[yes] ===RENDERING===
else
-->[no] ===REDIRECT_CHECK===
endif
else
-->[yes] ===RENDERING===
endif
if "is Post?" then
-->[yes] "Page.onPost()"
--> "Page.onRender()" as render
--> ===REDIRECT_CHECK===
else
-->[no] "Page.onGet()"
--> render
endif
else
-->[false] ===REDIRECT_CHECK===
endif
if "Do redirect?" then
->[yes] "redirect request"
--> ==BEFORE_DESTORY===
else
if "Do Forward?" then
-left->[yes] "Forward request"
--> ==BEFORE_DESTORY===
else
-right->[no] "Render page template"
--> ==BEFORE_DESTORY===
endif
endif
--> "Page.onDestory()"
-->(*)