Open20
mermaidのグラフの矢印を直角直線にしたい
描画の依存関係
おそらくd3
packages配下にあるとか教えてほしいよな…
パーサーとランタイムは別っぽい
フローチャートはこの辺?
エントリーポイントはどこなんだろ?どこかでparser呼んでrenderer読んでるイメージ。
何かrendererが2つある
- packages/mermaid/src/diagrams/flowchart/flowRenderer.js
- packages/mermaid/src/diagrams/flowchart/flowRenderer-v2.js
たぶんv2が使われてる
もとに戻ってエントリーポイントを探すか。
このrender付近っぽい。
どうやらmermaidAPIというのがファサードっぽい。
parseもあった
エントリーポイント探しという意味ではinitialize()っぽいな。
<body>
<script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs';
mermaid.initialize({ startOnLoad: true });
</script>
</body>
addDiagramsでそれぞれの図を追加している。
あとはやっぱりfreezeされてるmermaidAPIのparseとrenderを見れば良いのだろう。
やっぱり描画はrenderの中で行われていてrendererのdrawが呼ばれてるんだな。
flowchartだとこの辺か。
ワークアラウンド
flowchartだけは対応できるみたい。
It looks using
d3
module to draw graph. So I tried wheter otherd3
curves may work, and found otherd3
curve names are available without any Mermaid.js lib modification.Curves
step
,stepBefore
andstepAfter
are close, but no cigar. It would need more work :(
| F[Car]
C --> G([curve = stepAfter])