Mermaid图生成器服务器
一个简单的Flask服务器,使用mermaidcli从Mermaid语法生成图表。
先决条件
- Python 3.7+
- Node.js和npm(用于mermaid-cli)
- mermaid cli已在全球范围内安装:
npm install -g @mermaid-js/mermaid-cli
安装
- 克隆此存储库
- 安装Python依赖项:
pip install -r requirements.txt- 确保全局安装mermaid cli:
npm install -g @mermaid-js/mermaid-cli运行服务器
使用以下命令启动服务器:
python server.py默认情况下,服务器运行在 http://localhost:5000.
临时文件
服务器创建了一个名为的本地目录 temp_files 在项目文件夹中用于存储临时文件。这种方法:
- 避免系统临时目录的权限问题
- 在虚拟环境中效果更好
- 自动清理超过30分钟的文件
API使用
web界面
打开浏览器并导航到 http://localhost:5000 使用web界面。
API端点
向发送POST请求 /generate JSON正文包含您的Mermaid图:
{
"mermaid": "graph TD\nA[Client] --> B[Load Balancer]\nB --> C[Server1]\nB --> D[Server2]",
"theme": "default", // optional: default, dark, forest, neutral
"background": "white" // optional: white, transparent
}服务器将返回渲染图的PNG图像。
使用curl的示例:
curl -X POST http://localhost:5000/generate \
-H "Content-Type: application/json" \
-d '{"mermaid":"graph TD\nA[Client] --> B[Load Balancer]"}' \
--output diagram.png测试
运行附带的测试脚本以验证一切正常:
python test.py这将生成一个示例图并将其另存为 output_diagram.png.
故障排除
如果遇到错误:
- 确保您的PATH中已安装并可访问mermaidcli(mmdc)
- 检查服务器日志中的特定错误消息
- 确保您的Mermaid语法有效
- 验证
temp_files目录存在并且具有适当的权限
