🎉 Python 开发者和 Mermaid 爱好者的重大消息:'mmdc' 让 Mermaid 图表像 Python 一样简单! 🚀
Source: Dev.to
什么是 Mermaid?
Mermaid 是一个开源的图表工具,允许你使用 简单的基于文本的语法(非常类似于 Markdown)来定义图表,并将其渲染为真实的图形。
你可以编写如下纯文本:
graph TD
A --> B
B --> C
…Mermaid 会把它转换成可嵌入文档、维基、博客或技术写作中的可视化流程图。学习成本低,友好于版本控制,并且可以与众多工具集成。(Mermaid)
为什么 mmdc 是游戏规则的改变者
传统上,将 Mermaid 转换为 SVG、PNG 或 PDF 需要:
- Node.js
- npm
- Mermaid CLI
- 浏览器或无头工作者
- 额外的系统工具
mmdc 改变了这一切。它是一个 纯 Python 解决方案——只需一次 pip install 即可安装,且 无需安装任何外部工具。它使用强大的库 Phasma,该库内部调用 PhantomJS 实例将 Mermaid 代码渲染为真实的图表输出——但你无需自行安装其他任何东西。这使得它非常适合 Python 环境、自动化、文档流水线以及 CI/CD 工作流。
安装
pip install mmdc
就这么简单——你已经可以使用了!不需要 Node.js、npm、apt 安装或浏览器。
在命令行中使用
将一个简单的 Mermaid 文件转换为 SVG:
mmdc --input my_diagram.mmd --output my_diagram.svg
只需指定扩展名即可生成 PNG 或 PDF:
mmdc --input my_diagram.mmd --output my_diagram.png
mmdc --input my_diagram.mmd --output my_diagram.pdf
非常适合自动化文档构建、静态站点生成器或博客流水线!
在 Python 中使用
直接从 Python 代码生成图表:
from mmdc import MermaidConverter
converter = MermaidConverter()
mermaid_text = """
graph TD
A[Start] --> B{Is it cool?}
B -->|Yes| C[Love it!]
B ---->|No| D[Try again]
"""
converter.to_svg(mermaid_text, output_file="cool_diagram.svg")
简洁、强大,并能干净地与 Python 应用、文档生成器、Notebook 工作流以及自动化脚本集成!
示例 Mermaid 代码片段
流程图
graph LR
A[Idea] --> B[Develop]
B --> C[Test]
C --> D[Deploy]
简单循环
flowchart TD
Start --> Process
Process --> Review
Review -->|OK| End
Review -->|Fix| Process
时序图
sequenceDiagram
Alice->>Bob: Hello Bob!
Bob-->>Alice: Hi Alice!
为什么这很重要
- 无需外部设置: Python 开发者终于可以在不额外安装任何东西的情况下使用 Mermaid。
- 适配文档自动化: 非常适合 Sphinx、MkDocs、Jupyter、Notebook 以及 CI/CD。
- 以 Python 为中心的工作流: 将图表视为代码库中的一等公民。
总结
如果你一直在寻找一种 干净、仅依赖 Python 的方式来生成 Mermaid 图表,mmdc 就是 重磅新闻。它把深受喜爱的基于文本的绘图方式直接带入 Python 生态——只需一次 pip install。
现在,图表真的可以 代码优先——可版本化、自动化、轻量且美观——无需沉重的外部工具链。 💥