视频链接:修改复制到Excalidraw中的图片名称

灵感来源

Markdown

本篇文章的思路来自b站一鸣惊人_001:修改Obsidian Excalidraw粘贴创建的图片文件名称_哔哩哔哩一鸣惊人

我的图片、附件管理方式可以参考:Obsidian附件管理方式

在使用Obsidian中的Markdown时,如果需要更改图片的名称,可以直接在左边的导航栏修改

修改后会自动更新引用过该图片的链接,使其能够正常显示。

或者在复制进Obsidian之前就改名,方便批量处理,我一般使用Total Commander批量改名

Excalidraw

在使用Obsidian中的Excalidraw时,无论之前图片的名称是什么,复制进来后都会自动修改名称。如果需要自己更改图片的名称,也可以直接在左边的导航栏修改

修改后会在Excalidraw的md文件中,自动更新引用过该图片的链接

会显示提示:

同时如果查看md文件,可以发现其中的链接确实修改了。

修改之前:

修改之后:

也可以修改Excalidraw插件自动修改复制进来的文件名

在“库的位置\.obsidian\plugins\obsidian-excalidraw-plugin”,用VSCode或者记事本打开main.js文件

搜索const r=this.scene;let o=来定位需要修改的地方,后面的Pasted Image ${window.moment().format("YYYYMMDDHHmmss_SSS")}就是原来的图片命名方式。

原来的名称为Pasted Image 20240502143048_926,后面的数字表示年月日、时分秒、毫秒

我需要的名称样式:文件名_年月日时分秒_毫秒。后面添加毫秒,可以防止一次复制进多张图片而重名。

大家可以按照自己的需求修改

将原来的Pasted Image ${window.moment().format("YYYYMMDDHHmmss_SSS")},替换为${this.file.basename}_${window.moment().format("YYYYMMDDHHmmss_SSS")}

${this.file.basename}是表示文件名的变量。

注意左右的那两个 ` 符号不用动

修改后:

然后重启Excalidraw插件或者直接重启Obsidian

再复制进图片,就可以看到名称已经变为自己想要的了。

注意:每次更新Excalidraw插件,都会下载新的官方的main.js文件。所以要么每次都修改一下名称,要么就不更新Excalidraw插件

谢谢大家观看!

0
4