Mermaid (ソフトウェア)
From Wikipedia, the free encyclopedia
|
| |
| 開発元 | Knut Sveidqvistと貢献者 |
|---|---|
| 初版 | 2014年 |
| 最新版 | |
| リポジトリ | |
| プログラミング 言語 | JavaScript |
| 対応OS | クロスプラットフォーム |
| 種別 | 図やグラフの生成 |
| ライセンス | MITライセンス |
| 公式サイト |
mermaid |
Mermaid(マーメイド)は、Markdownに似たテキストベースの構文を使用して、フローチャート、シーケンス図、ガントチャートなどの図やグラフ(ダイアグラム)を生成するためのJavaScriptライブラリである[2][3]。
主な目的は、ドキュメントと開発の実態が乖離していく「Doc-Rot」(ドキュメントの腐敗)問題を解決することにある[3]。テキストベースであるため、Gitなどのバージョン管理システムと親和性が高く、ドキュメントを図とともにコードベースで管理することを容易にする[3]。
2019年には、JavaScript Open Source Awardの「最もエキサイティングな技術の利用」 (The Most Exciting Use of Technology)部門を受賞した[4]。
主な特徴と構文
Mermaidは、Markdownの記述方法に触発されたシンプルで読みやすい構文を採用している[2]。各ダイアグラムタイプ(後述)ごとに、専用の構文が定義されている。
サポートされる主な図の種類
Mermaidは以下のような、ソフトウェア開発やプロジェクト管理で頻繁に使用される多様な図をサポートしている。
- フローチャート (Flowchart)
- プロセスの流れや意思決定を示す[7]。
- シーケンス図 (Sequence Diagram)
- オブジェクト間のインタラクション(メッセージのやり取り)を時系列で示す[8]。
- ガントチャート (Gantt Chart)
- プロジェクトのスケジュールやタスクの進捗を管理するために使用される[9]。
- クラス図 (Class Diagram)
- オブジェクト指向プログラミングにおけるクラスの構造と関係性(継承、関連など)を示す[10]。
- ステート図 (State Diagram)
- オブジェクトやシステムが取りうる状態と、その状態間の遷移を示す[11]。
- ER図 (Entity Relationship Diagram)
- データベース設計などで使用される、エンティティ(実体)とリレーション(関連)を示す[12]。
- 円グラフ (Pie Chart)
- 全体に対する各部分の割合を示す[13]。
- 要求図 (Requirement Diagram)
- システムの要求事項とその関係性を示す[14]。
- Gitグラフ (Gitgraph)
- Gitのブランチ、コミット、マージの履歴を視覚化する[15]。
統合と利用例
Mermaidは、多くの主要なWebサービス、ドキュメントツール、Wiki、テキストエディタでネイティブサポートされているか、プラグインを通じて利用可能である[16]。
ネイティブサポート
- GitHub
- Markdownファイル(
.md)やWiki内で、```mermaidのコードブロックを使用することで図を描画できる[3][17]。 - GitLab
- GitHubと同様に、Markdown内でネイティブサポートされている[18]。
- Azure DevOps
- WikiページでMermaid構文がサポートされている[19]。
- Notion
- 「Mermaid」ブロックとして挿入可能[16]。
- GitBook
- インテグレーション機能を通じてMermaidブロックを挿入できる[20]。
主なプラグイン対応
- ドキュメント生成ツール
- Sphinx、MkDocs、VuePress、VitePressなど。
- Wikiエンジン
- MediaWiki、DokuWiki、TiddlyWikiなど。
- テキストエディタ
- Visual Studio Code、Atom、Vim、Obsidianなど。