このプロジェクトについて
D2は、テキストからダイアグラムを生成するためのドメイン固有言語です。ユーザーは、ノード、接続、形状、スタイルを記述する.d2ファイルを作成し、D2はそれらを視覚的なダイアグラムにレンダリングします。
主な機能には以下が含まれます:
- CLIの使用:`d2 --watch in.d2 out.svg`を実行すると、ファイル変更時にブラウザウィンドウでライブリロードされるSVGが生成されます。
- エクスポート形式:SVG、PNG、GIF、PDF、およびPPTX。
- レイアウトエンジン:3つの組み込みエンジン — Dagro(デフォルト、階層型/レイヤードレイアウト、DagreのネイティブGoポート)、ELK(方向とポートを持つノードリンクダイアグラムに適したネイティブGoポート)、およびTALA(オプトイン、ソフトウェアアーキテクチャダイアグラム専用)。シーケンスダイアグラムやグリッド用の特殊なレイアウトもサポートされています。
- テーマ:D2には、すぐに使えるスタイリングのためのさまざまな公式テーマが付属しています。
- フォント:「Source Sans Pro」が付属しています。代替フォントは設定可能です。
- 言語ツール:パーサーは複数のエラーを報告し、自動フォーマッター、構文ハイライト、および計画されたLSPサポートが含まれています。VSCodeおよびVim拡張機能は、公式プラグインとして利用可能です。
- Goライブラリ:D2は、Goライブラリとして使用して、プログラム的にダイアグラムを生成できます。
- rough-go(Rough.jsのネイティブGoポート)を使用したスケッチモードレンダリング、およびmathjax-go(MathJaxのネイティブGoポート)を使用したLaTeXラベルサポート。
インストールは、インストールスクリプト(`curl -fsSL https://d2lang.com/install.sh | sh -s --`)、Goソース(`go install github.com/d2lang/d2@latest`)、またはリリースソースビルドを介して利用可能です。アンインストールオプションも提供されています。
コミュニティプラグインの広範なエコシステムが存在し、Obsidian、MdBook、MkDocs、VitePress、Hexo、Pandocフィルター、Confluence、Logseq、Zed、Emacs、tree-sitter文法、およびPostgresスキーマ、MongoDB、Structurizr、AsyncAPI、ROS2、CILアセンブリ用のエクスポートが含まれます。ウェブプレイグラウンドはplay.d2lang.comで利用可能です。
D2は、ElasticSearch、Sourcegraph、Temporal、Tauri、IntelliJ、Coder、UC Berkeley、LocalStack、Daggerなどの著名なオープンソースプロジェクトのドキュメントで使用されています。Mozilla Public License 2.0の下でライセンスされています。テレメトリは収集されません。D2は、インストール後、定期的なバージョン更新チェックのためにGitHubにアクセスする以外、インターネット接続を使用しません。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.