Pele - Mermaid 다이어그램을 테마 적용 가능한 SVG로 렌더링하는 라이브러리
1 hour ago
4
- Pele는 Mermaid 문법으로 작성한 다이어그램을 SVG로 렌더링하는 가벼운 오픈소스 라이브러리임
- CSS 변수로 색상과 글꼴을 설정하며, 색상 변경은 다시 렌더링하지 않아도 적용됨
- 자체 비교 기준으로 Mermaid.js보다 6배 작고 최대 500배 빠르며, 직접 의존성이 없음
- Mermaid 12.1.0에 내장된 모든 다이어그램 유형을 지원하며, 작은 화면에서는 다이어그램을 축소하는 대신 레이아웃을 조정함
- 앱에서는 render() 에 Mermaid 문법을 전달하고 반환된 SVG를 페이지에 삽입해 사용할 수 있음
렌더링과 테마 적용
- Pele는 Mermaid 문법을 입력받아 SVG를 생성함
- CSS 변수 기반 테마로 색상과 글꼴을 설정할 수 있으며, 색상 변경 시 재렌더링이 필요 없음
- 예제에서는 --pele-bg, --pele-fg, --pele-muted, --pele-line, --pele-surface, --pele-surface-alt, --pele-border로 색상을 지정함
- API의 render()에 Mermaid 문법을 전달한 뒤, 반환된 SVG를 페이지에 삽입하는 방식으로 앱에 통합함
- Obsidian에서 다이어그램을 빠르게 렌더링하고 테마에 맞추기 위해 개발됨
Mermaid.js와의 비교
- Mermaid 12.1.0에 내장된 모든 다이어그램 유형을 지원함
- 자체 비교 기준으로 gzip 번들 크기는 Pele 230 kB, Mermaid.js 1.6 MB이며, Pele가 6배 작음
- 같은 비교에서 렌더링 시간은 Pele 0.05~0.3 ms, Mermaid.js 6~82 ms이며, Pele가 최대 500배 빠름
- 직접 의존성은 Pele 0개, Mermaid.js 23개임
- 작은 화면에서 Pele는 레이아웃을 조정하고, Mermaid.js는 다이어그램 크기를 축소함
- 테마 설정에 Pele는 CSS 변수를, Mermaid.js는 테마 구성을 사용함
-
Homepage
-
개발자
- Pele - Mermaid 다이어그램을 테마 적용 가능한 SVG로 렌더링하는 라이브러리