操作系统:Win10 企业版 LTSC 1809 简体中文版
软件版本:v0.12.19
软件设置:内部链接类型选“插入基于当前笔记的相对路径”,无论是否使用wiki链接形式。
不同目录中存在同名附件时链接错误
按下图左侧所示建立目录和测试用文件。目的是测试在不同目录下存在同名附件时是否有问题。
上图中“根目录文件”里面插入一张黑猫图,然后在“目录中的文件”里面插入一张白狗图,但“目录中的文件”显示的也是黑猫图,然而在对应的附件目录中存放的的确是白狗图。
错误分析:感觉Obsidian把“文件夹/文件”这种形式的链接既视为绝对路径,又视为相对路径,混淆了,所以导致这个错误。
不同目录中存在同名文件时链接错误
按下图左侧所示搭建测试目录结构和测试用文件。目的是测试在不同目录下存在相同文件名的笔记时链接笔记是否有问题。
第一行链接的是“/文件夹1/测试”,这个没有问题。
问题出在第二行,我输入 [[
之后在下拉列表选择的是“文件夹2/文件夹1/测试”,显示的链接看上去也像是相对路径。但预览时其显示的是“/文件夹1/测试”的内容。
错误分析:和上一个错误一样,感觉Obsidian把“文件夹1/测试”这种形式作为绝对路径而非相对路径,又或者是概念上有点混淆,既视为绝对路径,又视为相对路径,导致这个错误的发生。按我的认识,绝对路径应该以斜杠开头,例如:“/文件夹1/测试”,这种形式才是绝对路径,而任何不是以斜杠开头的路径应视为相对路径,包括“./”,“../”和“文件夹1/测试”这些形式。
移动文件导致链接错误
如上图所示测试4种链接形式,预览时只有第3个是链接“/文件夹2/文件夹1/测试”,其余都是链接“/文件夹1/测试”。
将“需要移动的文件”从“/文件夹2”移动到“/文件夹2/文件夹3”目录中,则链接变为下图所示。
此时没有变化,依然是除第3个链接“/文件夹2/文件夹1/测试”之外,其余都是链接“/文件夹1/测试”,算是正常。
再将“需要移动的文件”移动回“/文件夹2”目录,则文件链接更新为下图所示。
这时所有4行都链接“/文件夹1/测试”这个文件,出问题了。而且第4个链接虽然预览的时候可以链接“/文件夹1/测试”,但严格来说其表示的路径是不对的。
我为什么想使用相对路径,而不想使用Obsidian推荐的简洁链接方式
之所以想使用相对路径,是因为在使用简洁链接方式时,Obsidian是不支持库的嵌套的,也就是说不能把几个独立的小知识库整合为一个大知识库。但如果改用相对路径的话,我认为是可行的,燃鹅在测试相对路径的时候发现上述问题。我也对简洁链接方式进行了类似的测试,好像没有问题,估计在使用简洁链接方式时Obsidian是用绝对路径的方式来处理的。