PlantUML에서 마인드 맵이 적용되는 건

이 기사는 cloudpack 새로운 편리한 달력 2019의 기사입니다.

오랜만에 PlantUML 홈페이지 을 보면 마인드 맵을 쓸 수 있게 되어 있었다(β판) 때문에, 시험해 보았습니다.

거기까지 기능 충실이라고 하는 것은 아니기 때문에, 거의 공식 페이지 그대로 레벨이 됩니다만, 이 쓰는 방법도 할 수 있을까? 궁금한 점은 추가되었습니다.

운영 환경



Visual Studio Code에 확장을 넣어 확인했습니다.
$ code --install-extension jebbs.plantuml

이 근처는 자유이지만 PlantUML 서버에 처리를 던지고 싶었기 때문에 docker를 사용하여 로컬에 PlantUML 서버를 세웠습니다.
version: '3.3'
services:
  plantuml:
    image: plantuml/plantuml-server
    ports:
      - 28080:8080
    tty: true
    restart: always

Visual Studio Code 설정에서 이 서버를 참조하도록 합니다.

setting.json
{
    "plantuml.render": "PlantUMLServer",
    "plantuml.server": "http://localhost:28080",
}

사용법



우선 샘플을 그대로 배차

Emacs의 Org 모드 글머리 기호 구문을 사용하는 것 같습니다.
@startmindmap
* Debian
** Ubuntu
*** Linux Mint
*** Kubuntu
*** Lubuntu
*** KDE Neon
** LMDE
** SolydXK
** SteamOS
** Raspbian with a very long name
*** <s>Raspmbc</s> => OSMC
*** <s>Raspyfi</s> => Volumio
@endmindmap

외형은 상당히 좋아합니다.



노드의 모양 설정



현상은 박스가 있는 없음의 변경만 같네요._ 를 붙이면 상자가 지워집니다.
@startmindmap

* root
** box
**_ text

@endmindmap



가지의 렌더링 방향 변경


* 혹은 + 를 사용했을 경우는 오른쪽 방향으로 가지가 뻗어 갑니다.-를 사용하면 왼쪽으로 뻗어갑니다.
@startmindmap

+ root
++ right
+++ right right
*** right2
-- left
--- left left
-- left2

@endmindmap



또는 left side라는 키워드로 전환하는 것도 가능합니다.

다만, + 의 경우는 이 키워드를 사용해도 우측에 표시되는 것 같습니다.
@startmindmap

+ root
++ right
+++ right right
*** right2

left side
** left
*** left left
++ left2

@endmindmap



Markdown 기법



일단 Markdown에서도 쓸 수있는 것 같습니다. 일단이라는 느낌이지만
@startmindmap
* root node
    * some first level node
        * second level node
        * another second level node
    * another first level node
 @endmindmap



주의점



공간이라면 오류가 발생합니다.



중첩은 탭( \t )이 아니면 안됩니다. 공백 4개에서는 에러가 나오고 렌더링되지 않았습니다.
자신의 설정(디폴트?)에서는 Visual Studio Code에서 TAB 키를 누르면 스페이스가 삽입되었으므로 에러가 되었으므로 주의입니다.

개인적으로 여기가 목인가? 라고 생각했기 때문에 Markdown에서의 이용은 하지 않을까, 라고 생각했습니다

왼쪽 방향으로 렌더링



org 모드 기법의 경우는 *- 로 나누었습니다만, Markdown 기법의 경우는 에러가 나왔습니다.

이런 느낌으로 갈 수 있을까 생각했습니다만, 안 되었습니다.
@startmindmap
* root node
    * some first level node
        * second level node
        * another second level node
    * another first level node
    - left side node
        - left left
 @endmindmap



이쪽으로 갈 수있었습니다. left side 를 사용하면 좋을 것 같습니다.
@startmindmap
* root node
    * some first level node
        * second level node
        * another second level node
    * another first level node
left side
    * left side node
        * left left
@endmindmap




중첩의 한계



어디까지 중첩할 수 있을까라는 기재는 특별히 눈에 띄지 않았기 때문에, 우선 시험해 보았습니다.
무한한지 확실하지 않지만 우선 곤란한 수준에서는 문제가 없을 것 같습니다.
@startmindmap
title マインドマップ

* ネスト
** ネスト
*** ネスト
**** ネスト
***** ネスト
****** ネスト
******* ネスト
******** ネスト
********* ネスト
********** ネスト
*********** ネスト
************ ネスト
************* ネスト
************** ネスト
*************** ネスト
**************** ネスト


@endmindmap



요약



마인드 맵이라고 할 정도로 여러 방향으로 가지가 늘어나는 것도 아니었기 때문에, 로직 트리에 가까운 느낌이었습니다
개인적인 머리의 정리에는 간단하고 딱 좋기 때문에, 사용해 갈까라고 생각했습니다.
직장 수준에서 여러 사람 공유를 생각하기 시작하면 미묘할 수 있습니다.

참고



MindMap syntax and features
PlantUML에서 마인드맵 만들기 - 시스템 및 모델링
PlantUML에 마인드 맵 추가 | Software Quality Topics.

좋은 웹페이지 즐겨찾기