「下载剪贴板中所有的图片外链地址到Obsidian中并把地址替换成本地地址」
简介
实现原理
- 获取选中的文本 or 剪贴板里的文本(若没有选中文本)
- 逐行扫描文本中有无远程图片预览的md语法。如: ![img](https://xxx/xxx.jpg)
- 下载图片至指定的文件夹。文件名为 yyyyMMddHHmmss_ffff.{文件扩展名}。
- 把识别到的所有的外链地址都替换成已下载图片的相对路径。如:![](assets/yyyyMMddHHmmss_ffff.jpg)
- 最后把markdown文本写入活动窗口。如果没有选中文本则输出到剪贴板,然后自行粘贴即可。
准备工作
该脚本需要一些准备工作才能完成。
- 第一次运行需要指定工作目录。工作目录一般为存放md文档的目录。(最好把所有的md文档都放在一个目录下)
- 适用于 Obsidian,但也可用于其他md编辑器。但是需要用户手动输入笔记名称。
- 用于 Obsidian 的话,请在 Obsidian 中把 “复制当前文件的路径” 的快捷键改成 Ctrl+Shift+Y 。
能够识别的图片格式
支持的图片格式:jpg、jpeg、png、gif。
支持的md图片预览格式
- ![](https://xxx/xxx.jpg)
- ![img](https://xxx/xxx.jpg)
- ![img](https://xxx/xxx.jpg?xxx=yyy&yyy=zzz...)
- [![img](https://xxx/xxx.jpg)](https://xxx/xxx.jpg)
注意,以上格式无论是带超链还是后头带参数的链接,替换之后一律转换成最简单的离线格式,即:![img](...assets/yyyyMMddHHmmss_ffff.jpg)
下载到哪里?
- 指定目录到md文档所在目录,如:D:\markdown
- 笔记名称如果是:“markdown: angel or devil”
- 目标md图片预览文本为:![img](https://xxx/xxx.jpg)
- 最后图片将会被下载到:D:\markdown\Assets\markdown_ angel or devil\yyyyMMddHHmmss_ffff.jpg (注意冒号由于在Windows里属于非法字符,将会被替换成下划线)
- md图片预览文本将会被替换为:![img](Assets\markdown_ angel or devil\yyyyMMddHHmmss_ffff.jpg)
路径里带笔记名称主要是为了迁移笔记的时候同时迁移图片会方便一点。
最近更新
修订版本
|
更新时间
|
更新说明
|
15
|
2022-01-20 14:11
|
又改了一遍
|
14
|
2022-01-20 14:02
|
修复剪贴板BUG
|
13
|
2021-12-22 12:26
|
兼容 Live Preview模式
|