不知道是不是没用对,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保存了吗?
可以用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里处理的,可以瞅瞅看哪儿的问题。
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文件夹名称解析问题。