HN 日本語サマリー

← 一覧へ戻る
Web開発

Show HN: Line9 - 独自のレイアウトを持つMermaidレンダリングエンジン

Show HN: Line9 - a Mermaid rendering engine with its own layout (line9.ai)

70 pointsby jumpalongjim19 コメント

要約

Line9は、Mermaidフローチャート図のレイアウト調整の手間を省くことを目指した新しいレンダリングエンジンです。自動で最適化されたレイアウトを提供し、明確なコミュニケーションを重視します。ブラウザ上でレンダリングが行われ、プライベートデータは送信されません。無料で使用できますが、商用利用やウォーターマークなしの画像には有料アカウントが必要です。

全文翻訳

Line9は、Mermaidフローチャート図のレイアウトを手動で調整する必要性をなくすことを目指した、新しいレンダリングエンジンです。Mermaidは、複数の種類の図を記述するための人気のテキストベース言語です。 既存のMermaidレンダリングエンジンはいくつか存在します。オリジナルのmermaid.jsのように、DagreやELKグラフ描画ライブラリを使用して図を自動レイアウトするものがほとんどです。私は過去4年間Mermaidを使用してきましたが、自分のニーズにより適したレイアウトに変更するために、フローチャートをダイアグラムエディタで再作成することがよくありました。 自動化されたフローチャート配置で、明確なコミュニケーションを最適化したい場合はLine9を使用してください。規則的なグリッド間隔、関連ノードのより近い配置、短くまっすぐなエッジ、そしてページのようなアスペクト比を目標としてフローチャートをレイアウトしようとします。/diagramページの比較ボタン(左側の共有パネル)は、Line9とmermaid.jsのレンダリング結果を並べて表示します。 無料で利用でき、アカウントは不要です。Mac、Windows、Linux用のCLIツールもダウンロードできます。無料利用の図にはウォーターマークが付いています。CLIの商用利用には有料アカウントが必要で、ウォーターマークなしの図も利用できます。Line9はオープンソースではありません(収益を上げる必要があり、ビジネスモデルはテスト中です)。 手動でフローチャートを作成する際に使用するレイアウト原則をエンコードし、自動化しようとしました。すべてのレンダリングはブラウザ内で行われるため、プライベートデータはWebサービスに送信されません。CLIはRustで書かれており、レンダラーを埋め込んでいるため、単一のバイナリインストールで、すべてのデータと処理はローカルに残ります。ノードの位置決めとエッジルーティングを同時に解決して設計原則に最もよく合致するレイアウトを見つけるのが難しいため、現在はmermaid.jsよりも少し遅いです。 SVGまたはPNG形式で出力されます。図は、Mermaidテキストを埋め込んだフラグメントを持つURLを介して共有することもできます。 まだ改善が必要な点として認識しているのは、サブグラフの位置決めと回転、良好なアスペクト比をより頻繁に達成するためのグラフの折りたたみ、エッジラベル配置のさらなる改善、長いノードラベルとのインタラクションの向上、および縮小表示時の表示の整理です。その後、さらに多くの図タイプをサポートしたいと考えており、ウェブサイトも多くの作業が必要です。 以前はレイアウトが悪いために破棄したMermaidフローチャートを、Line9に貼り付けてみてください。改善されたかどうか、または他にどのような作業が必要か教えてください。