org-roam 的backlinks是怎么用的?

不知道是不是没用对,org-roam 总是显示“no backlinks”. 用的spacemacs的org-roam配置(https://org-roam.readthedocs.io/en/master/installation/). 首先用org-roam-find-file创建一个名为Foo的org文件,然后用org-roam-insert插入一个链接,指向一个新的文件bar。切换到bar,用org-roam打开org-roam, 我期望显示一个指向Foo的反向链接,但显示没有反向链接。

運行 org-roam-db-build-cache 試試如何。

试过,还是没有反向链接。

foo.org保存了吗?

保存了,也手动cache了。

可以用sqlite客户端打开org-roam.db文件,看看links这个表有没有数据。backlinks的数据是先保存到links表,再从links里读出来的。

links这个表里面有数据,from到to储存的文件路径是绝对路径。

发现和储存roam的路径有关,我把org-roam-directory设为~/roam/能正常工作,设为~/iCloudDrive/MWeb/roam/不显示反向链接,其中~/iCloudDrive/MWeb//Users/sfq/Library/Mobile Documents/iCloud~com~coderforart~iOS~MWeb/Documents/ 的软链接。

那看起来就是对软链接的处理有问题。 挺不理解使用绝对路径的,给在不同电脑上同步数据带来不必要的麻烦(如果不同电脑上分区不同或者文件路径不一样)。 我用github存储笔记,家里公司里电脑上都有一份,所以干脆fork了一下org-roam,改成用相对路径了。

org-roam-directory换成绝对路径/Users/sfq/Library/Mobile Documents/iCloud~com~coderforart~iOS~MWeb/Documents/roam/重新cache也不行,不知道什么原因。

backlinks是在org-roam-buffer.el的org-roam-buffer–insert-citelinks里处理的,可以瞅瞅看哪儿的问题。

搞不定,在github上提issue了,https://github.com/org-roam/org-roam/issues/869

iCloud~com~coderforart~iOS~MWeb 这个改成

iCloud\~com\~coderforart\~iOS\~MWeb 试试。我的 org-noter有类似问题,是这么解决的,希望也能解决你的问题。

试了,也不行,可能不是~字符的原因,因为这个路径/Users/sfq/Library/Mobile Documents/com~apple~CloudDocs/roam/能工作。

~/roam 能用,可以再试下随便建个目录,用它打个软链接试试呢?或者指定别的自定目录,这么慢慢试试。我的 org-noter 自定义目录,也是不认 icloud 里的 ~ ,折腾了好久才试出来。

我建了几个目录,都工作,甚至在 iCloud里面建目录名为test~test的文件夹也能工作,比如/Users/sfq/Library/Mobile Documents/com~apple~CloudDocs/test~test/。但如果文件夹是iCloud中app的文件夹就不能工作,比如MWeb的/Users/sfq/Library/Mobile Documents/iCloud~com~coderforart~iOS~MWeb/Documents/ 或PDF Expert的/Users/sfq/Library/Mobile Documents/3L68KQB4HG~com~readdle~CommonDocuments/Documents/

我也是 icloud 软链,工作正常。 org -> /Users/mls/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org

实在不行,把 build/org-roam删了,重新 doom sync 一下看看。

我用的是spacemacs, 重装了org-roam,还是不行。

感觉还是icloud文件夹名称解析问题。