如何实现Mermaid图表中的链接在新标签页打开?
实现Mermaid节点链接在新标签页打开
默认情况下,Mermaid节点里的[节点文本](链接地址)语法会在当前标签页打开链接,直接用HTML的<a href="xxx" target="_blank">文本</a>往往因为渲染器的转义规则无法生效,这里提供两种可行方案:
方案一:自定义JavaScript配合click指令(支持JS的环境)
这种方法适用于可以添加自定义JS的场景,比如自建网站、支持JS的笔记工具(如Obsidian)。
- 编写Mermaid图表时,给目标节点绑定
click指令,调用自定义函数:
graph LR C[打开新标签页跳转] click C call openNewTab("https://example.com")
- 添加对应的JavaScript函数,实现新标签页打开:
function openNewTab(url) { window.open(url, '_blank'); }
方案二:利用Mermaid的扩展链接语法(部分渲染器支持)
部分现代Mermaid渲染器支持在click指令里指定打开目标,写法如下:
graph TD D[跳转至示例网站] click D href "https://example.com" "提示文本" _blank
注意:这个语法并非所有渲染器都兼容,比如旧版本Mermaid、部分平台的内置渲染器可能不支持,需要测试当前环境是否可用。
如果以上方法都不生效,说明当前使用的Mermaid渲染器限制了外部链接的打开方式,这种情况下暂时没有通用解决方案,可尝试更换支持该功能的渲染环境或等待渲染器版本更新。
内容的提问来源于stack exchange,提问作者Terry_Jones
相关产品推荐
相关产品推荐

