Hugo博客添加mermaid作图
作为GitHub官方支持的作图库,mermaid无论是充当文字的补充叙述,还是为版面增添几分灵活,无疑是值得尝试的。接下来就用Sulv大佬提供的方法,介绍怎么在Hugo中通过Shortcodes
使用mermaid进行作图
步骤
1. 添加并编辑mermaid.html
在网站根目录下添加并编辑layouts/shortcodes/mermaid.html。
|
|
添加如下内容:
|
|
2. 修改extend_head.html
在网站根目录下,使用如下指令复制一份extend_head.html到layouts/partials目录下并编辑:
|
|
添加如下内容:
|
|
3. 使用方法
在需要使用mermaid作图的文章的前文(front matter
)中添加如下字段:
|
|
即可在后文中以Shortcodes
的形式使用mermaid。同时可以在archetypes/defaults.md里加入上面的设置,这样每次创建新文章时都会自动添加该字段。另外将true
改为false
,即可关闭mermaid作图。
使用该Shortcodes
进行作图,举例如下:
|
|
结果如下:
flowchart LR
a --> b & c --> d
可以用html代码包裹该代码实现居中或其他排版:
|
|
结果如下:
flowchart LR
a --> b & c --> d
mermaid使用教程在这里:
4. 补充
暂未实现mermaid主题实时根据网页主题变化,改为夜间模式后需要刷新才能看到效果。
另外之前用async
异步加载mermaid.js
,现在不能这样做,文件加载需要先于设置mermaid主题,不清楚对网站性能是否有影响,有更好的建议可以邮件联系我修改。
这是用Shortcodes
实现的mermaid作图,然后我发现了另一篇不需要Shortcodes
的教程《让Hugo Papermod主题支持 Mermaid》,但是测试发现无效,诸位有兴趣也可以尝试一下。