在HTML文件中嵌入Mermaid图表教程

本教程详细介绍了如何在HTML文件中直接嵌入和渲染Mermaid图表。通过引入Mermaid CDN库并进行简单的初始化配置,用户可以轻松地在网页中展示流程图、时序图、甘特图等多种类型的图表,无需依赖外部工具或复杂的构建流程,实现图表内容的动态化与可视化。

引言:Mermaid图表与HTML集成

Mermaid是一个基于JavaScript的图表绘制工具,它允许用户使用简洁的文本语法创建各种图表,如流程图、时序图、类图、状态图等。这些图表通常在Markdown文档中配合渲染器使用,但在许多场景下,我们需要将Mermaid图表直接嵌入到HTML页面中,以实现更灵活的展示和集成。本教程将指导您如何通过几个简单的步骤,在标准的HTML文件中实现Mermaid图表的直接渲染。

核心步骤:在HTML中嵌入Mermaid

在HTML文件中嵌入Mermaid图表主要涉及三个关键步骤:引入Mermaid库、放置Mermaid图表代码以及初始化Mermaid。

步骤一:引入Mermaid库

要让浏览器能够解析和渲染Mermaid语法,首先需要将Mermaid库引入到您的HTML文件中。最简便的方式是通过内容分发网络(CDN)引入。将以下

说明:

  • type="module":这表示该脚本是一个ES模块,允许使用import语法。
  • https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs:这是Mermaid库的CDN地址。@10表示引入Mermaid的第10个主要版本,您可以根据需要调整版本号。

步骤二:放置Mermaid图表代码

Mermaid图表代码需要放置在HTML文档的特定位置,以便Mermaid库能够识别并渲染它们。通常,建议将Mermaid语法内容放在一个带有class="mermaid"的

标签中。

graph TD
    A[开始] --> B{决策};
    B -- 是 --> C[执行操作];
    B -- 否 --> D[结束];
    C --> D;

说明:

  • class="mermaid":这个类名是Mermaid库识别图表内容的标准约定。当Mermaid初始化时,它会扫描带有这个类名的元素并尝试渲染其中的内容。
  • graph TD ...:这是Mermaid的图表语法。上述示例是一个简单的流程图,表示从A到B,B根据条件流向C或D,C最终流向D。

步骤三:初始化Mermaid

在引入Mermaid库并放置图表代码之后,需要调用mermaid.initialize()方法来启动Mermaid的渲染过程。这个方法通常在Mermaid库加载完成后立即执行。

说明:

  • mermaid.initialize({ startOnLoad: true });:这是初始化Mermaid的关键。startOnLoad: true配置项告诉Mermaid在页面加载完成后自动查找并渲染所有带有class="mermaid"的元素。如果您希望手动控制渲染时机,可以将其设置为false,然后通过mermaid.render()方法手动渲染。

完整示例代码

将上述所有步骤整合到一个完整的HTML文件中,您将得到以下结构:




    
    
    Mermaid图表嵌入示例



    

我的Mermaid图表

这是一个使用Mermaid绘制的简单流程图:

graph TD
    A[开始] --> B{进行检查};
    B -- 通过 --> C[操作成功];
    B -- 失败 --> D[重试];
    C --> E[完成];
    D --> B;

这是另一个使用Mermaid绘制的时序图:

sequenceDiagram
    participant 用户
    participant 系统
    participant 数据库

    用户->>系统: 发送请求
    系统->>数据库: 查询数据
    数据库-->>系统: 返回数据
    系统-->>用户: 显示结果