Hugo配置
- 配置Hugo ShortCode
- 在主题目录
/layouts/shortcodes
, 新增mermaid.html
1 2
{{ $_hugo_config := `{ "version": 1 }` }} <div class="mermaid" align="{{ if .Get "align" }}{{ .Get "align" }}{{ else }}center{{ end }}">{{ safeHTML .Inner }}</div>
- 在主题目录
- 修改
/layouts/partials/footer.html
,新增如下配置1 2 3 4 5 6
<script src="https://unpkg.com/mermaid@8.8.1/dist/mermaid.min.js"></script> <script> Array.from(document.getElementsByClassName('language-mermaid')).forEach(el => { el.parentElement.outerHTML = `<div class="mermaid">${el.innerText}</div>` }) </script>
hugo 中使用mermaid
在写文章的时候, 使用{ {<mermaid>} }
和 { {</mermaid>} }
包围相应的代码即可
案例
(mermaid 官网)[https://mermaid-js.github.io/mermaid/#/]
Flowchart
|
|
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
Sequence diagram
|
|
sequenceDiagram
participant Alice
participant Bob
Alice->>John: Hello John, how are you?
loop Healthcheck
John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts
prevail! John-->>Alice: Great! John->>Bob: How about you? Bob-->>John: Jolly good!
prevail! John-->>Alice: Great! John->>Bob: How about you? Bob-->>John: Jolly good!
Gantt diagram
|
|
gantt
dateFormat YYYY-MM-DD
title Adding GANTT diagram to mermaid
excludes weekdays 2014-01-10
section A section
Completed task :done, des1, 2014-01-06,2014-01-08
Active task :active, des2, 2014-01-09, 3d
Future task : des3, after des2, 5d
Future task2 : des4, after des3, 5d
Class diagram
|
|
classDiagram
Class01 <|-- AveryLongClass : Cool
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 <--> C2: Cool label
Entity Relationship Diagrams
|
|
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE-ITEM : contains
CUSTOMER }|..|{ DELIVERY-ADDRESS : uses