以下の3つ目(TikiBillさん)のアンサーが参考になりました. stackoverflow.com
- 最新のバージョン8.13.0のmermaid.jsのdist_devフォルダを中身ごと Blazorソリューション(Blazoeは3.0)のwwwrootのjsフォルダ(Javascriptファイルを格納するフォルダとして事前に作成したもの)にコピーします. github.com
index.html
にmermaid.js
の読み込みと アンサーにあるJavascriptコードをhead
タグに記述します.
<script src="./js/dist_dev/mermaid.js"></script> <script> var JsFunctions = window.JsFunctions || {}; JsFunctions = { MermaidInitialize: function () { mermaid.initialize({ startOnLoad: true, }); }, MermaidRender: function () { mermaid.init(); } }; </script>
- 任意のrazorファイルにアンサーにあるC#コードを書きます.
<div class="mermaid"> mermaidの記述をココに </div> @code { [Inject] #nullable enable // null許容型の許可 protected IJSRuntime? JsRuntime { get; set; } = null; protected override async Task OnAfterRenderAsync(bool firstRender) { if (!(this.JsRuntime is null)) { if (firstRender) { await this.JsRuntime.InvokeVoidAsync("JsFunctions.MermaidInitialize"); } await this.JsRuntime.InvokeVoidAsync("JsFunctions.MermaidRender"); } } }
参考
ちなみに
github.com
(NuGet Gallery | MermaidJS.Blazor 1.0.2)
とBlazor用のNuGetパッケージ
もあるみたいです.