org-mode 创建类似 graphviz dot 的节点关系图,但点击节点可以跳转到链接?

我想绘制一个项目函数调用关系图,我通常用 dot graphviz 画图,很方便,但这样不可跳转到 org-mode entry。 我希望绘制关系图的同时,点击图上的节点可以跳转到 org-entry.

由于它的作用并没有那么大,只是体验会很方便,我不想为此写太多额外的东西,我的意思是,每次画图应当还是很方便。

我能想到的做法是:用 graphviz dot 的 url 属性,配上 org-protocol. 我对此方法不感冒的原因是:

  • 我用的 wsl, 查看 svg 通常是在 windows 浏览器, org-protocol 我觉得不容易
  • graphviz 上画图需要增加很多 url, 写的时间成本至少翻倍

我在想 eaf 会不会已经有能提供类似功能的包,隐约中我感觉 eaf 擅长做这类事。

我搜到这个链接, 但这是 17 年的,我对答案并不满意,我想或许会有些新方法。

项目函数调用关系图,你是怎么画的呢?这个比较有意思,最近一重构就很烦,之前的变量和函数记不住,写文档又太累。

我目前用的是 graphviz dot, 类似这样:

#+begin_src dot :file file.svg
func1->{func2,func3}
func2->{func3}
#+end_src
就会生成函数调用关系图, 但点击不可跳转。

图形软件EAF很擅长, 基本上看看那个JS软件支持Graphviz, 然后把数据搞好以后, 丢给EAF app渲染, JS根据节点点击对接 Emacs find-file 或者 switch-buffer

3 个赞

请原谅我个人时间有限不能自己测试, 但想请教一下大佬目前那边所了解: 请问 EAF 目前对 macOS 的兼容性如何?

兼容性还行吧

1 个赞