Hugo BookテーマでのMermaid
May 18, 2025
Hugo Book テーマでの Mermaid の扱い #
VS Codeで次の Mermaidで作図したER図は表示されるが、Hugo の book では図が描けない。 どうしたら表示できるか。
次の方法でできました。
ショートコードを使います。
Mermaid.js を最新版に差し替える
layouts/shortcodes/mermaid.html
に次を追加。
{{ if not (.Page.Scratch.Get "mermaid") }}
<!-- Load latest Mermaid.js from CDN -->
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
<script>
mermaid.initialize({ startOnLoad: true });
</script>
{{ .Page.Scratch.Set "mermaid" true }}
{{ end }}
<pre class="mermaid{{ with .Get "class" }} {{ . }}{{ end }}">
{{- .Inner -}}
</pre>
erDiagram
main {
string entry_id PK
string hanzi_id
string kazama_location FK
string tenri_location
string volume_name
string radical_name
string volume_radical_name
string hanzi_entry
string original_entry
string definition
}
headword_chars {
string hanzi_id PK
string entry_id FK
string constituent_char
int character_order
string kazama_location_id
string tenri_location_id
string img_file_name
}
notes {
string definition_seq_id PK
string entry_id FK
string kazama_location
string tenri_location
string volume_name
string radical_name
string volume_radical_index
string hanzi_entry
}
definition_core {
string definition_seq_id PK
string original_entry
string definition_elements
int definition_type_code
string definition_type_name
text remarks
}
wakun {
string wakun_id PK
string definition_seq_id FK
string kazama_location FK
string hanzi_entry
string wakun_elements
string wakun_form
string wakun_standard_hanzi
string wakun_variant_in_hanzi
string variant_hanzi_for_wakun
string japanknowledge_id
}
main ||--o{ headword_chars : has
main ||--o{ notes : has
notes ||--|| definition_core : "includes"
notes ||--o{ wakun : has