利用插件解决附件的移动链接错误,实现wiki和通用格式共存

已知问题

在使用 ![]() 方式加载附件时,如果对文件进行移动操作会出现路径错误更新的问题,例如 a.md 文件中使用了 ![](assets/test.png) ,如果将 a.mdassets 移动到 folderA 则会出现 ![](test.png) 或者其他错误的格式,尽管可以在 ob 中使用,但在其他 markdown 编辑器中无法正常浏览

├─folderA
│
├─folderB
│  │  a.md
│  │
│  └─asstes
│          test.png

解决方式

使用方法

进行任何操作前请先备份资料!

  1. 找到设置 → 文件与链接 → 关闭 始终更新内部链接(以后涉及到 ![]() 的更新请选择 不做更新
  2. 安装插件,如果需要附件位于指定文件夹中则在 attachments subfolder 处填写自设定的文件夹名

为什么需要

内部链接类型中选择 基于当前笔记的相对路径 就可以实现 ![]() 路径的正确更新,但是这样 [[a]] 也会变成 [[../a]] ,这也就意味着 ![]()[[]] 是共用一套逻辑。

个人在整理文件时常常不会打开 ob 而是直接使用 vscode 查看,移动了文件后打开 ob,笔记中 [[]] 格式会自动找到对应附件;而使用 ![]() 往往是提供给他人查看,因此更加注重通用性

这样就保留了 wiki 的便捷和 markdown 附件的通用

2024-05-18更新

  1. ozntel/obsidian-link-converter: Obsidian Plugin to scan all your links in your vault and convert them to your desired format.:该插件可以通过命令将库、特定文件夹的文档内的wiki链接和markdown标准链接进行相互转化,转化时默认是正确的文件层级
  2. val3344/obsidian-update-relative-links:该插件能够在笔记移动时自动更新文档内的链接
  3. dy-sh/obsidian-consistent-attachments-and-links: Obsidian plugin. Move note with attachments.:该插件可以同样可以实现文档内的链接更新,但是该插件关注的是附件,也就是只有附件移动时才进行链接的更新

如果需要分享标准markdown,且经常移动笔记文件,则使用1+2,否则使用1+3插件

4 个赞

第三个插件修改文件夹名称时会报错,不能根据修改后的文件夹名称更新链接。
第二个插件正常,就是没有像第三个插件一样的检查库里所有文件中的链接是否正常的功能。