← 返回
内容创作 中文

Mermaid Image Generator

Generate PNG/SVG images from Mermaid diagram syntax using mermaid.ink API. Zero dependencies - uses only Node.js built-in modules and curl. Use when users ne...
利用 mermaid.ink API 将 Mermaid 语法转换为 PNG/SVG 图片。零依赖,仅使用 Node.js 内置模块和 curl。适用于用户需要...
vincent-ng
内容创作 clawhub v1.0.0 1 版本 99911 Key: 无需
★ 0
Stars
📥 1,123
下载
💾 36
安装
1
版本
#latest

概述

Mermaid Image Generator

Convert Mermaid diagram syntax to PNG/SVG images using the mermaid.ink online rendering API. Zero dependencies - uses only Node.js built-in modules and curl.

Quick Start

# From a .mmd file
node scripts/mermaid-to-image.js diagram.mmd output.png

# From stdin
echo "flowchart LR; A --> B" | node scripts/mermaid-to-image.js - output.png

# Generate SVG instead
node scripts/mermaid-to-image.js diagram.mmd output.svg

When to Use This Skill

Use this skill when:

  • User asks to "draw a diagram", "create a flowchart", "make a visual"
  • User needs diagram images for PPTs, documentation, or presentations
  • User wants to convert Mermaid code to shareable image files
  • Local Mermaid CLI (mmdc) is unavailable or has dependency issues

Script Usage

Basic Conversion

node scripts/mermaid-to-image.js <input> <output>

Input options:

  • File path: diagram.mmd
  • Stdin: - (pipe Mermaid code directly)

Output format: Determined by file extension (.png or .svg)

Examples

Example 1: Convert file to PNG

node scripts/mermaid-to-image.js flowchart.mmd flowchart.png

Example 2: Pipe from stdin

cat <<EOF | node scripts/mermaid-to-image.js - sequence.png
sequenceDiagram
    Alice->>Bob: Hello
    Bob-->>Alice: Hi
EOF

Example 3: Generate SVG for web

node scripts/mermaid-to-image.js architecture.mmd architecture.svg

Mermaid Diagram Types

This skill supports all Mermaid diagram types:

TypeUse Case
----------------
flowchartProcesses, algorithms, user journeys
sequenceDiagramAPI flows, interactions over time
classDiagramOOP design, domain models
erDiagramDatabase schemas
stateDiagramState machines
ganttProject timelines
pieProportional data
gitGraphGit branching strategies

Example Mermaid Code

Flowchart

flowchart LR
    A[Start] --> B{Decision}
    B -->|Yes| C[Action 1]
    B -->|No| D[Action 2]
    C --> E[End]
    D --> E

Sequence Diagram

sequenceDiagram
    participant User
    participant API
    participant Database
    
    User->>API: POST /login
    API->>Database: Query
    Database-->>API: Result
    API-->>User: Response

Class Diagram

classDiagram
    Animal <|-- Duck
    Animal <|-- Fish
    Animal: +int age
    Animal: +String gender
    Animal: +isMammal()

API Details

Service: mermaid.ink

Endpoints:

  • PNG: https://mermaid.ink/img/{base64_code}
  • SVG: https://mermaid.ink/svg/{base64_code}

Advantages:

  • ✅ No local dependencies (no Chrome/Puppeteer needed)
  • ✅ Free and fast
  • ✅ Returns high-quality PNG/SVG
  • ✅ Works in headless environments

Limitations:

  • Requires internet connection
  • Diagram code is sent to external service (don't use for sensitive data)

Error Handling

The script handles common errors:

❌ File not found: diagram.mmd
❌ API request failed: 400 Bad Request
❌ Failed to connect to mermaid.ink: Connection timeout

Troubleshooting:

  1. Check internet connectivity
  2. Verify Mermaid syntax at https://mermaid.live
  3. Ensure output directory exists (script creates it automatically)

Integration Pattern

When creating diagrams for users:

  1. Write Mermaid code → Save to .mmd file or use stdin
  2. Run conversion script → Generate PNG/SVG
  3. Send/deliver image → Attach to response or save to specified location

Example workflow:

# 1. Create diagram
cat > openclaw-flow.mmd <<EOF
flowchart LR
    User --> OpenClaw
    OpenClaw --> Tools
EOF

# 2. Convert to image
node scripts/mermaid-to-image.js openclaw-flow.mmd openclaw-flow.png

# 3. Use the image (send via message, save, etc.)

Best Practices

  1. Keep diagrams simple - Under 15 nodes for readability
  2. Use meaningful labels - Self-documenting diagrams
  3. Test syntax first - Validate at mermaid.live before converting
  4. Choose format wisely - PNG for PPTs, SVG for web/docs
  5. Add comments - Use %% for in-diagram documentation

Security Notes

  • Diagram code is sent to mermaid.ink API
  • Do not include sensitive information in diagrams
  • For sensitive data, use local Mermaid CLI instead

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-29 19:15 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

Five Star Reviewers

vincent-ng
orchestrate a five-reviewer code review over a git diff, pull request diff, patch, or commit range by launching one dedi
★ 0 📥 390
content-creation

Humanizer

biostartechnology
消除AI写作痕迹,使文本更自然真实。基于维基百科"AI写作特征"指南,识别并修正夸张象征、宣传用语、肤浅-ing分析、模糊归因、破折号滥用、三项排比、AI词汇、负面平行结构及冗长连接词等模式。
★ 862 📥 200,233
content-creation

AdMapix

fly0pants
广告情报与应用数据分析助手,支持搜索广告素材、分析应用排名、下载量、收入及市场洞察,用于广告素材和竞品分析。
★ 295 📥 136,553