GoAT 圖表 (ASCII)
Hugo 原生支援 GoAT 圖表,並使用 嵌入式程式碼區塊渲染掛鉤 。這意味著這段程式碼:
```goat
. . . .--- 1 .-- 1 / 1
/ \ | | .---+ .-+ +
/ \ .---+---. .--+--. | '--- 2 | '-- 2 / \ 2
+ + | | | | ---+ ---+ +
/ \ / \ .-+-. .-+-. .+. .+. | .--- 3 | .-- 3 \ / 3
/ \ / \ | | | | | | | | '---+ '-+ +
1 2 3 4 1 2 3 4 1 2 3 4 '--- 4 '-- 4 \ 4
```
將會被渲染為:
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
Mermaid 圖表
Hugo 沒有內建的 Mermaid 圖表模板。您可以使用 程式碼區塊渲染掛鉤 來創建自己的模板:
layouts/_default/_markup/render-codeblock-mermaid.html
<pre class = "mermaid" >
{{- .Inner | htmlEscape | safeHTML }}
</pre >
{{ .Page.Store.Set "hasMermaid" true }}
然後在內容模板的底部加入此片段:
{{ if .Store.Get "hasMermaid" }}
<script type = "module" >
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.esm.min.mjs' ;
mermaid .initialize ({ startOnLoad : true });
</script >
{{ end }}
這樣您就可以在 Markdown 程式碼區塊中使用 mermaid
語言:
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!
Goat ASCII 圖表範例
圖形
1
5
0
4
2
6
3
7
+
z
+
y
+
x
v
1
v
P
0
X
v
3
E
y
v
e
2
R
e
f
r
a
c
t
i
o
n
R
e
f
l
e
c
t
i
o
n
複雜
&
A
M
S
i
o
i
q
f
b
B
x
u
j
o
e
a
(
-
x
d
r
a
>
e
f
R
>
c
o
C
n
u
o
b
(
n
r
)
)
d
n
e
e
J
d
r
o
s
i
n
N
o
R
D
t
o
i
u
a
a
n
g
d
d
l
o
i
t
n
e
D
i
a
g
o
n
a
l
s
C
V
u
e
r
r
v
t
e
i
d
c
a
l
n
o
t
A
N
C
:
o
u
l
d
r
r
i
A
a
/
I
v
n
s
i
n
e
e
h
s
t
d
-
e
-
t
r
l
B
i
h
i
i
s
i
o
n
'
s
r
e
q
n
.
u
*
o
o
b
t
t
o
e
l
a
s
d
'
*
l
i
n
e
D
o
n
S
e
e
?
a
r
c
3
h
流程圖
O
L
_
D
F
_
K
I
_
B
O
_
O
L
_
A
N
_
U
N
_
O
_
Y
E
_
T
E
_
┌
│
└
Y
W
_
,
_
S
_
─
I
─
O
_
L
_
Y
_
┌
│
└
─
─
U
C
_
Y
A
_
O
L
_
─
L
─
─
H
─
H
_
O
B
_
U
A
_
─
I
─
─
A
─
U
A
_
_
U
E
_
_
B
_
─
S
─
─
T
─
N
R
_
│
▽
L
_
│
▽
S
E
_
│
▽
T
┬
▽
E
─
D
T
_
n
_
S
E
_
n
_
E
L
_
n
─
E
─
─
─
E
S
_
o
_
E
D
_
o
_
E
E
_
o
─
N
─
─
Y
─
R
?
_
_
E
_
_
D
_
─
.
─
─
O
─
S
_
_
'
_
_
T
_
┐
│
┘
─
U
─
T
_
_
T
Y
_
_
H
'
_
┐
│
┘
A
_
_
H
E
_
_
E
N
_
N
_
_
E
S
_
_
O
_
D
_
_
'
_
_
'
_
_
?
_
_
?
_
_
y
_
e
_
y
_
y
_
s
_
e
_
e
_
_
s
_
s
_
_
┌
│
└
_
_
─
W
─
_
_
─
A
─
_
_
─
I
─
_
_
─
T
─
_
_
─
,
─
_
_
─
─
_
_
─
W
─
_
_
─
H
─
_
_
─
A
─
_
_
─
T
─
_
_
─
?
─
_
_
┐
│
┘
_
_
_
T
_
_
H
_
B
F
_
_
E
_
U
O
_
_
_
T
L
_
_
A
O
_
L
_
_
N
N
_
Y
O
_
_
D
E
_
O
W
_
_
S
_
U
E
_
_
Y
_
D
_
_
O
L
_
_
J
_
_
U
A
_
│
▽
U
T
_
│
│
└
_
B
_
n
_
S
H
_
n
─
┌
│
│
└
_
C
E
_
o
_
T
E
_
o
─
─
(
A
─
_
A
L
_
_
M
_
─
─
T
─
┌
│
└
_
N
E
_
_
_
─
─
H
Q
─
─
S
─
_
D
_
_
T
_
─
─
A
U
─
─
C
─
_
S
_
_
W
_
─
─
T
E
─
─
R
─
_
E
'
_
_
I
_
─
─
S
─
─
E
─
_
E
N
_
_
C
_
┬
▽
W
T
┬
▽
W
┬
└
_
O
_
_
E
_
─
─
A
I
─
─
─
─
_
'
_
_
?
_
─
─
S
O
─
─
I
─
─
┌
│
│
└
_
?
_
─
─
N
N
─
─
T
─
─
─
H
I
─
_
─
─
'
)
─
┐
│
┘
─
┌
│
└
─
E
N
─
_
_
y
─
─
T
─
─
─
L
─
─
Y
S
─
_
_
y
_
e
─
┐
│
│
┘
┬
│
└
─
E
─
─
,
T
─
_
_
e
_
s
─
─
─
─
T
─
─
A
─
_
_
s
│
│
│
│
┘
─
─
─
'
─
─
I
L
─
_
┌
│
└
─
─
─
S
─
─
L
─
_
─
G
─
─
─
─
─
─
S
I
─
_
─
O
─
─
─
─
G
─
─
H
N
─
_
─
O
┬
│
│
│
│
│
│
│
│
│
│
│
│
│
│
│
│
│
┘
┬
▽
O
┬
▽
O
G
─
_
─
D
─
─
─
─
─
U
─
_
┐
│
┘
─
─
D
─
─
L
F
─
┌
│
└
─
─
R
─
─
D
R
─
─
G
─
─
─
I
─
─
E
─
─
O
─
─
─
N
─
─
T
E
─
─
O
┬
│
│
│
│
│
│
│
│
│
│
│
│
│
│
│
│
│
│
│
│
│
│
│
│
│
┘
─
G
─
─
R
B
─
─
D
─
┐
│
┘
─
Y
S
─
─
!
─
─
D
─
┐
│
┘
─
!
─
┐
│
│
┘
表格
┌
│
├
│
├
│
├
│
├
│
├
│
├
│
├
│
├
│
├
│
├
│
├
│
└
─
─
S
─
P
─
E
─
T
─
F
─
─
─
─
─
I
─
L
─
─
─
Y
─
R
─
X
─
E
─
A
─
─
─
─
─
D
─
I
─
─
─
N
─
O
─
P
─
R
─
C
─
─
─
─
─
E
─
T
─
─
─
T
─
D
─
R
─
M
─
T
─
─
─
─
─
N
─
E
─
─
─
A
─
U
─
E
─
─
O
─
─
─
─
─
T
─
R
─
─
─
X
─
C
─
S
─
─
R
─
─
─
─
─
I
─
A
─
─
─
─
T
─
S
─
─
─
─
─
─
─
F
─
L
─
─
─
─
I
─
I
─
─
─
─
─
─
─
I
─
─
─
─
─
O
─
O
─
─
─
─
─
─
─
E
─
─
─
─
─
N
─
N
─
─
─
─
─
─
─
R
─
─
─
─
─
─
─
─
─
|
─
|
─
|
─
|
─
─
─
─
─
=
─
=
─
=
─
=
─
=
─
─
─
─
─
=
─
=
─
─
─
─
─
─
─
─
L
─
"
─
"
─
"
─
─
─
─
─
{
─
I
─
T
─
F
─
I
─
I
─
[
─
(
─
{
─
l
─
"
─
─
─
─
D
─
E
─
A
─
D
─
T
─
"
─
"
─
"
─
e
─
"
─
─
─
P
─
E
─
R
─
C
─
E
─
E
─
─
─
─
t
─
"
─
─
─
R
─
N
─
M
─
T
─
N
─
R
─
E
─
E
─
E
─
t
─
"
─
─
─
O
─
T
─
─
O
─
T
─
A
─
X
─
X
─
X
─
e
─
─
─
─
D
─
I
─
{
─
R
─
I
─
L
─
P
─
P
─
P
─
r
─
c
─
─
─
U
─
F
─
─
─
F
─
─
R
─
R
─
R
─
─
h
─
─
─
C
─
I
─
"
─
{
─
I
─
─
E
─
E
─
E
─
{
─
a
─
─
─
T
─
E
─
|
─
─
E
─
─
S
─
S
─
S
─
─
r
─
─
─
I
─
R
─
"
─
F
─
R
─
─
S
─
S
─
S
─
l
─
a
─
─
─
O
─
─
─
A
─
─
─
I
─
I
─
I
─
e
─
c
─
─
─
N
─
"
─
T
─
C
─
─
─
O
─
O
─
O
─
t
─
t
─
─
─
─
=
─
E
─
T
─
─
─
N
─
N
─
N
─
t
─
e
─
─
─
}
─
"
─
R
─
O
─
─
─
─
─
─
e
─
r
─
─
─
─
─
M
─
R
─
─
─
"
─
"
─
"
─
r
─
─
─
─
.
─
E
─
─
─
─
─
]
─
)
─
}
─
─
{
─
─
─
─
X
─
}
─
}
─
─
─
"
─
"
─
"
─
}
─
─
─
─
─
P
─
─
─
─
─
─
─
─
─
c
─
─
─
─
R
─
.
─
.
─
─
─
─
─
.
─
.
─
h
─
─
─
─
E
─
─
─
─
─
─
─
─
─
a
─
─
─
─
S
─
─
─
─
─
─
─
─
─
r
─
─
─
─
S
─
─
─
─
─
─
─
─
─
a
─
─
─
─
I
─
─
─
─
─
─
─
─
─
c
─
─
─
─
O
─
─
─
─
─
─
─
─
─
t
─
─
─
─
N
─
─
─
─
─
─
─
─
─
e
─
─
─
─
─
─
─
─
─
─
─
─
─
r
─
─
─
─
"
─
─
─
─
─
─
─
─
─
─
─
─
─
.
─
─
─
─
─
─
─
─
─
}
─
─
─
─
"
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
"
─
─
─
─
.
─
─
─
─
─
─
─
─
─
"
─
─
─
─
─
─
─
─
─
─
─
─
─
"
─
─
─
─
─
─
─
─
─
─
─
─
─
"
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─
.
─
┐
│
┤
│
┤
│
┤
│
┤
│
┤
│
┤
│
┤
│
┤
│
┤
│
┤
│
┤
│
┘