视频链接:Obsidian与删除附件

灵感来源


对于Markdown中的图片、附件管理,B站up主咬猪娃AttachFlow 插件可以完美解决复制、删除等问题

该插件对于图片、Word、Excel、PPT、xmind、pdf、音频、视频、Excalidraw文件都能很方便的管理。


右键附件后会出现一个菜单


选项依次为:
1. 复制文件到剪贴板;
2. 在默认应用中打开;
3. 在系统文件夹中显示;
4. 在左边的导航栏中显示;
5. 重命名;
6.删除文件以及相关链接。


问题与需求


但是,Markdown中的pdf文件,虽然也是以图片的方式展示的,但是右键不会打开菜单


如果需要删除pdf文件的话,就需要去找目录里的源文件删除。

其次,该插件无法在Excalidraw画板中用。如果直接右键删除图片的话,仅会删除画板中的图片,但不会删除文件目录中的图片。


所以我想能不能做一个Quicker动作,专门删除附件,配合AttachFlow 插件就能实现完美的体验了。


解决办法


Markdown中的附件

AttachFlow 插件已经能实现很好的删除效果了,推荐使用

这里的Quicker动作主要起到补充删除pdf的作用,当然也可以用来删除其他类型的附件。

制作Quicker动作的思路:

思路流程图


对于Markdown中的附件,首先找到当前笔记所属的文件夹,然后在该文件夹的附件文件夹中,找到对应附件,最后删除。

注意删除时需要选中链接,如:

![567](assets/2024-05-10_165006.png)

起作用的其实是assets/2024-05-10_165006.png,但是为了方便还是全部选中吧。

演示:


可以看到随着删除附件,左边导航栏中的附件在逐渐较少。

但是需要注意,该动作只能删除由本地直接拖到该Markdown文档的图片。

如果是在Obsidian库中其它位置拖入的图片,则该图片只是一个链接,并不是真正的图片。用该动作删除时会显示“正则匹配不成功”或者“路径不存在”,这时就知道当前图片只是一个链接,可以放心删除。


Excalidraw


图片拖入Excalidraw,会复制进来到附件文件夹。其他文件,如:pdf、视频、音频拖入Excalidraw,则会创建绝对路径,基于本地电脑。所以在Excalidraw中删除附件的操作只针对图片。

制作Quicker动作的思路看参考上面的思路图。

Excalidraw本质是md文件,复制里面的图片实际上是复制文本。


从文本中可以找到附件的“fileID”

然后以Markdown打开Excalidraw文件,可以发现该“fileID”对应文件的相对路径。只需要将Excalidraw文件转换为文本文件,然后根据“fileID”提取附件路径即可


找到当前笔记所属的文件夹,然后在该文件夹的附件文件夹中,找到对应附件,最后删除。
演示;


但是需要注意,该动作只能删除由本地直接拖到该Excalidraw文档的图片。

如果是在Obsidian库中其它位置拖入的图片,则该图片只是一个链接,并不是真正的图片。用该动作删除时会显示“正则匹配不成功”或者“路径不存在”,这时就知道当前图片只是一个链接,可以放心删除。

总结

我将Quicker动作、不同的摘录情况的调试运行详情放到了github仓库

AttachFlow 插件已经够用了,并不推荐大家使用本文的Quicker动作。这篇文章主要是给大家提供思路,大家如果要使用的话得修改一下动作,因为每个人的附件管理方式可能不一样。

我的附件管理方式:Obsidian附件管理方式

可付费代写Quicker动作!!

谢谢观看!