Zola 博客支持 Mermaid 流程图
记录如何让 Zola 静态博客支持 Mermaid 图表渲染。
技术方案
Mermaid 是前端渲染的图表工具,无需后端支持。方案如下:
Markdown 写作 → Zola 构建 → 静态 HTML → 浏览器加载 Mermaid.js → 渲染图表
核心: 在页面中加载 Mermaid.js 脚本,自动渲染 language-mermaid 代码块。
配置步骤
步骤 1:创建 Mermaid 脚本
在 static/js/mermaid.js 创建以下脚本:
'DOMContentLoaded', ;
步骤 2:在模板中加载脚本
编辑 templates/base.html 文件,在 </body> 标签之前添加 script 标签引入 mermaid.js。
使用 Zola 的 get_url 函数生成正确的路径。
实际代码请查看本项目的 templates/base.html 文件。
步骤 3:添加样式
在 static/sass/main.scss 添加 Mermaid 容器样式:
{
:;
:;
:;
:;
:;
:;
:;
{
:;
:;
}
}
使用方式
在 Markdown 中使用 mermaid 代码块:
graph TD
A[开始] --> B{条件判断}
B -->|是 | C[执行 A]
B -->|否 | D[执行 B]
C --> E[结束]
D --> E
关键文件参考
本项目的相关文件位置:
| 文件 | 路径 |
|---|---|
| Mermaid 脚本 | static/js/mermaid.js |
| 模板文件 | templates/base.html |
| 样式文件 | static/sass/main.scss |
| 示例文章 | content/posts/mermaid 流程图使用指南.md |
参考资源
| 资源 | 链接 |
|---|---|
| Mermaid 官方文档 | mermaid.js.org |
| 在线编辑器 | mermaid.live |
| Zola 静态文件 | getzola.org - Static Files |
| Zola 模板 | getzola.org - Templates |
备注
- Mermaid 通过 CDN 加载,需要网络访问
- 如需离线使用,可下载
mermaid.min.js到本地static/js/目录 - 支持流程图、序列图、类图、状态图、饼图、甘特图等
Comments