본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 그래픽·이미지 · 윈도우즈 유틸

Mmdr

0

mmdr는 Rust로 만들어진 네이티브 Mermaid 다이어그램 렌더러로, 브라우저나 Node.js 없이도 빠르게 다이어그램을 SVG 및 PNG로 변환합니다.

다이어그램렌더링

소개

mmdr는 Rust로 만들어진 네이티브 Mermaid 다이어그램 렌더러로, 브라우저나 Node.js 없이도 빠르게 다이어그램을 SVG 및 PNG로 변환합니다. 공식적으로 mermaid-cli 대비 최대 1400배 이상 빠른 속도를 자랑하며, 특히 CI/CD 파이프라인이나 대량 문서 생성 시 높은 효율을 제공합니다.

상세정보

압도적인 렌더링 속도

mmdr는 브라우저를 실행하지 않으므로 CI/CD 파이프라인에서 50개의 다이어그램을 렌더링할 때 mermaid-cli(약 2분) 대비 1초 이내로 작업을 완료합니다. 웜 캐시 사용 시 일반적인 다이어그램에서 500~900배의 속도 향상을 보이며, --fastText 옵션 사용 시 최대 1600배 이상의 가속도를 달성합니다.

다양한 다이어그램 지원

flowchart, sequence, class, state, erDiagram, pie, gantt, mindmap 등 총 23가지의 Mermaid 다이어그램 유형을 지원합니다. 또한, 다양한 노드 형태(rectangle, stadium, diamond 등)와 엣지 스타일(solid, dotted, thick 등)을 포함한 전체적인 레이아웃과 스타링 기능을 제공합니다.

설치 방법

Windows 환경에서는 Scoop 패키지 매니저를 통해 쉽게 설치할 수 있습니다. 먼저 터미널을 열고 아래 명령어를 실행하여 mmdr를 설치합니다.

  • scoop bucket add mmdr https://github.com/1jehuang/scoop-mmdr
  • scoop install mmdr

기본 사용법

설치 후에는 명령줄에서 직접 사용할 수 있습니다. 아래 예시들은 가장 기본적인 사용법을 보여줍니다.

  • Mermaid 텍스트를 입력하여 SVG로 변환: echo 'flowchart LR; A-->B-->C' | mmdr -e svg
  • 파일을 입력받아 PNG로 저장: mmdr -i diagram.mmd -o output.png -e png
  • 마크다운 파일 내 모든 다이어그램 일괄 렌더링: mmdr -i README.md -o ./diagrams/ -e svg

이런 경우에 유용합니다

다이어그램 생성에 필요한 브라우저 환경 구축이 부담스러운 개발자나, 대량의 문서를 자동으로 생성하는 스크립트를 작성하는 엔지니어에게 적합합니다. 특히 Rust 프로젝트에서 다이어그램 생성 기능을 라이브러리로 직접 통합해야 하는 경우, render() 및 render_with_options() 함수를 활용하여 애플리케이션 내에서 원활하게 동작시킬 수 있습니다.

지원 환경·시스템 요구사항

현재 제공되는 설치 패키지는 x64 아키텍처를 지원하며, 별도의 런타임 환경(Node.js 등) 없이 단일 실행 파일로 동작합니다. Windows 환경에서는 터미널(CMD 또는 PowerShell)을 통해 명령어를 실행해야 합니다.

최신 버전·업데이트

제공된 증거 기준 최신 버전은 0.3.1이며, 프로젝트는 지속적으로 개발 및 개선이 이루어지고 있습니다. 자세한 변경 사항은 GitHub 저장소의 릴리스 노트를 통해 확인할 수 있습니다.

제한 사항·확인 사항

현재 시각적 출력 품질이 mermaid-cli와 모든 경우에서 동일하지 않을 수 있으며, 이를 개선하기 위해 지속적으로 노력 중입니다. 기본 렌더러는 SVG와 PNG 출력을 지원하지만, 네이티브 벡터 씬 API 사용 시 일부 복잡한 클립 조합이나 필터 기능은 제한될 수 있습니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.