用途:在标注源码文件后,从 putior 工作流数据生成带主题的 Mermaid 流程图,并嵌入文档。适用于工作流变更后重新生成图、为不同受众切换主题或输出格式,以及嵌入 README、Quarto、R Markdown。
主要能力:输入来自 put()、put_auto() 或 put_merge() 的工作流数据;可选主题(默认 light,另有 dark、auto、minimal、github、viridis、magma、plasma、cividis);输出到控制台、文件、剪贴板或原始字符串;支持 show_source_info、enable_clicks 等交互选项。node_type 控制 Mermaid 形状(input/output 用 stadium,process 用矩形,decision 用菱形,start/end 用 stadium),并附带对应 CSS 类。可用 put_theme() 自定义调色板,未指定类型继承基础主题。
使用方式:先用 put("./src/") 等提取数据,再用 get_diagram_themes() 查看主题,然后调用 put_diagram() 生成,例如 cat(put_diagram(workflow, theme = "github")) 或 writeLines(put_diagram(workflow, theme = "github"), "docs/workflow.md")。嵌入 GitHub README 用 ```mermaid 代码围栏;Quarto 需用 knit_child() 输出原生 mermaid 块;R Markdown 可用 DiagrammeR::mermaid()。
限制:数据为空则无图;输出文件名须与输入文件名完全一致才能连线;GitHub 渲染器主题支持有限且不支持点击;Quarto 的 {mermaid} 块不支持直接插值 R 变量;扫描含生成脚本的目录需用 exclude 排除,否则子图 ID 重复报错;show_artifacts 在大项目可能产生过多节点。put_theme() 暂不支持覆盖 stroke-width。