본문 바로가기

기타/옵시디언

Obsidian - Mermaid

https://mermaid.js.org/intro/

 

About Mermaid | Mermaid

 

mermaid.js.org

 

Mermaid는 그래프나 다이어그램을 그리는 도구이다.

페이지 소개에서 알 수 있듯, Mermaid는 별도의 기능이며 다른 어플리케이션에 병합할 수 있도록 설계되어 Obsidiand에서도 이 기능을 사용하기 위해 Mermaid를 병합하여 사용 중인 듯 하다.

 

Mermaid는 옵시디언에서 별도로 설치하거나 추가할 필요 없는 핵심 기능이다.

 

바로 본론으로 들어가자.

일단 obsidian에서 mermaid를 사용하려면 다음과 같이 작성해야한다.

```mermaid

{내용}

```

이 때 `는 백틱으로, 숫자 1 왼쪽에 위치한 ~표 기호 키를 shift를 누르지 않고 입력할 수 있다.

만약 Obisidan에서 코드 블럭을 사용하는 유저라면 익숙할 것이다.

 

```

{내용}

```

이 문법은 그냥 코드 블럭을 생성하는 것이며, 여기에 mermaid란 단어를 추가하면 mermaid 문법을 사용할 수 있다는 것이다.


마음 같아서는 이 글에 mermaid의 모든 문법을 사용해서 작성하고 싶지만, 그러기엔 mermaid 기능이 너무 크기 때문에 핵심적인 요소들만 설명하고 더 많은 기능을 원한다면 https://mermaid.js.org/ecosystem/tutorials.html 에서 확인하길 바란다.

 

필자의 경우 다음 문법을 90% 이상 사용한다. 필자의 경우엔 그냥 코드의 구조를 정리하기 위한 용도로만 사용하기 때문인데, 본인의 경우에 따라 원형 차트, 마인드맵, 타임라인 등등 꽤나 많은 많은 기능들이 존재하기 때문에 꼭 링크를 확인하길 바란다.

 

```mermaid
graph TD
	A[아침에 일어난다] --> B[세수한다]
	B --> C[양치한다]
	C --> D[밥 먹는다]
	C --> E
	D --> E[학교 간다]
	E --> School[공부한다]
	School --공부를 다 했는가?--> Home[집에 온다]
	Home --> 공부
    공부 --> A
    Home --> A
```

위 코드에서 graph는 그래프 형식으로 작성하겠다는 의미이며, 그 뒤에 TD는 Top Down의 약자이다. 만약 왼쪽에서 오른쪽으로 그래프를 그리고 싶다면 LR(Left Right)를 입력하면 되며 이 외의 상황도 동일하다.

 

graph 키워드는 다른 종류의 그래프를 사용하고 싶다면 이 부분을 교체하면 된다. 만약 간트차트를 사용하고 싶다면 gantt를 입력한다. 이 키워드들은 mermaid 튜토리얼 페이지에 설명되어있다.

 

노드

하나의 상태를 입력하기 위해서는 보통 알파벳 대문자로 입력한다.A, B, AA 등등이다.

 

그리고 대괄호를 열어 내용을 입력한다.A[아침에 일어난다.]이 것을 노드라고 말한다.

 

만약 원한다면 자신이 원하는 내용을 입력해도 된다.

Home --> 공부

가 있는데, 여기에서 '공부' 란 노드는 별도의 ID를 가지지 않고 그 자체가 상태로 인식된다. 그렇기 때문에 위 실행 결과를 보면 '집에 온다(Home)' 에서 '공부' 노드로 이동한 걸 볼 수 있다.

 

이미 정의된 노드(ex. A[아침에 일어난다.])를 다시 사용하고 싶다면 그냥 그 노드의 ID를 입력하면 된다.이것은 위 코드에서 볼 수 있듯 A를 먼저 정의했기 때문에 'Home'노드에서 바로 'A'노드로 연결이 가능하다.

 

그리고 노드의 스타일도 정의할 수 있다. 위 예시처럼 대괄호 한번만 사용하면 그냥 박스가 되지만 ([ 내용 ]) 이렇게 입력하면 둥근 노드를 만들 수 있다. 이것을 이용해서 플로우 차트를 만들 수도 있기 때문에 자세히 알아두면 좋다.

이것들은 꽤나 직관적이다. (( )) 은 원형, [( )] 는 DB, { }는 마름모, {{ }} 는 육각형, [/ \]는 사다리꼴이다. 관심이 있다면 사이트에서 확인해보자.

 

화살표

그리고 화살표의 경우 기본적으로 --> 를 사용한다. 이 때 주의할 것은 '-' 기호를 두번 입력해야한다. 한 개는 오류가 날 것이다.

만약 화살표 중간에 내용을 입력하고 싶다면 -- 내용 --> 이런식으로 입력한다.

이 기능은 상태를 표시할 때 Yes, No를 입력할 때 유용하다.

 

마찬가지로 화살표도 모양을 변경할 수 있다.

<-->은 양쪽 화살표, .->은 점선, ==> 은 굵은선,  --x는 끝에 x자가 달린 화살표 등등이다.


mermaid는 간단한 기능같지만 안에는 정말 많은 변형이 있어서 꼭 관심이 있다면 확인해보자.

'기타 > 옵시디언' 카테고리의 다른 글

Obsidian - Git 동기화  (1) 2024.11.17
Obsidian에서 이미지 넣기  (1) 2024.11.12
Obsidian - Google Drive를 사용한 동기화  (3) 2024.11.10
Obsidian - LateX  (4) 2024.11.09
Obsidian 에서 사용되는 Markdown 문법  (0) 2024.03.24