用途:将用户提供的 Mermaid 源码(graph、flowchart、sequenceDiagram、classDiagram、stateDiagram、erDiagram、gantt 等)渲染为图像文件或终端 ASCII 图形。
主要能力:bm render 默认输出 SVG,可用 -o 指定 .png 生成 PNG;bm ascii 输出终端 ASCII/Unicode 制表符图形;内置 15 个主题(bm themes 查看,如 --theme dracula);支持 --scale 放大;可用 --font、--font-mono、--font-file 指定字体,bm fonts --json 可枚举系统字体(--filter cjk/mono/latin/emoji)。
必要用法:先运行 bm doctor --json 确认 bm 二进制、字体与 PNG WASM 运行时可用。缺少 bm 时安装:npm i -g beautiful-mermaid-cli 或 brew install okooo5km/tap/bm。
示例:bm render -c '<mermaid source>' -o out.svg;bm render -c '<mermaid source>' -o out.png --theme dracula --scale 2;bm ascii -c '<mermaid source>'。源码也可来自文件(bm render diagram.mmd ...)或标准输入。
字体语义:SVG 中 --font 作为 font-family 写入标记,阅读端需装该字体,--font-mono 与 --font-file 对 SVG 无效;PNG 由本机解析并栅格化字形,三者都参与回退。
限制:PNG 无法渲染 emoji 字形(resvg-wasm 不支持 COLRv1/sbix),emoji 位置会留白但周围文字正常;含 emoji 时建议优先输出 SVG。PNG 不能内联进 JSON,必须用 -o 指定文件。
程序化使用:所有子命令支持 --json(schema_version: 1),成功输出到 stdout,错误到 stderr;退出码 0 成功、1 WASM/未分类、2 用法、3 解析、4 I/O。更多标志与主题见 reference.md。