如何一键批量上传图片到指定图床,并返回 Markdown 链接?

2022-03-25 16:40:33 浏览数 (1)

缘起

前些日子,我在 B 站做了一次直播,讲如何利用 Keyboard Maestro 快速采集输入临时笔记。很多小伙伴观看之后都表示很感兴趣,并且提了不少问题。如果你当天不巧没有赶上直播,可以看看讲解部分的回放。

知识星球上,有小伙伴看完全部直播内容后问我:

王老师,除了输入笔记外,你还提过利用 Keyboard Maestro 上传图片到微博图床,并且获取 markdown 链接。请问有没有具体的教程?

下面是我的回复:

这个可以有

效果

我们先来看看,应用了 Keyboard Maestro 之后,上传图片的操作可以变得多简单,甚至是有趣。

这个宏操作,可以让你用以下三种方式,上传图片到指定图床。这里我们以微博图床为例。

第一种,最为简单,就是剪贴板上传

你截图后,图就存放在剪贴板(clipboard)里。执行 Option Cmd u,这张图就被上传到了微博图床,剪贴板的内容,变成了图床上该图片的 Markdown 链接。

例如我现在写作中,就把编辑器里这段文字截图。然后执行组合键,可以获得如下的返回链接:

代码语言:javascript复制
![](./assets/2022-02-07-20-09-49-933824.jpg)

你可以尝试打开上面的链接,看看图片长啥样。

第二种,是从 Finder 里面选择若干张图片。

选好后,还是执行 Option Cmd u。执行完毕之后,你的剪贴板内容就变成了:

代码语言:javascript复制
![](./assets/2022-02-07-20-09-50-740852.jpg)
![](./assets/2022-02-07-20-09-49-933824.jpg)
![](./assets/2022-02-07-20-09-51-268278.jpg)
![](./assets/2022-02-07-20-09-51-410534.jpg)
![](./assets/2022-02-07-20-09-51-799554.jpg)
![](./assets/2022-02-07-20-09-51-882630.jpg)
![](./assets/2022-02-07-20-09-51-982149.jpg)

这样,你就可以批量把图片弄进笔记里,随身携带了。

第三种,是插入相机照片

有的时候,我们会一口气拍摄许多张照片,存储在 iPhone 的照片资料里。这些图片,一张张导出、上传、转换 Markdown 格式链接非常繁琐。而有了咱们这个 Keyboard Maestro 宏之后,就方便多了。

这里我打开 Photos 应用,选择多张照片。照片来自于教研周时,王曰芬教授为全院老师们做的一场精彩报告。

选好后,依然是执行 Option Cmd u

图片链接就都出现在剪贴板里面了。

代码语言:javascript复制
![](./assets/2022-02-07-20-09-52-341293.jpg)
![](./assets/2022-02-07-20-09-52-862545.jpg)

你可以打开上面链接,看看王老师报告部分幻灯照片的清晰版。

有了上面这三项图片上传功能,我自己工作流中一般的插图情境,就可以这一个组合键全覆盖了。

随时随地,你可以把网上的、剪贴板里的、相机中的,甚至是存储在电脑里面的若干张图片,快速变成可以直接引用的 Markdown 图片链接。

这样做的好处,是你再也无需顾虑自己用哪种编辑器,也不必担心写作完毕之后,还得重新折腾插图导出和导入。因为所有的图片,都能在你挪动纯文本的同时,跟上你的脚步,一起走

是不是很方便呢?

顺便说一句,这个工作流也支持动图(gif),因而不必担心你好不容易录制下来的操作步骤演示,被无端鼓捣成一张静态图片。

原理

把图片上传到图床,并非难事儿。在 macOS 上,你有好几款工具可以选择。免费的就包括 iPic 和 uPic 等。但是真正用起来,你会发现这些工具有些不尽如人意。

例如有的工具需要你先把图片弄到剪贴板里,才能上传;有的虽然可以选择本地文件上传,但是会弹出一个对话框,让你每次都手动选择;更要命的是,面对多个图片文件,大部分工具都不支持批量操作 —— 你不得不对每一个文件,都重复一遍上传流程。

我在 Keyboard Maestro 里面,做了个宏命令。然后绑定到 Option Cmd u 快捷键上。

Keyboard Maestro 可以模拟的,是一系列人工手动操作。你自己做也不是不行。只不过做久了,不少人想用头撞树。

下面,我来给你介绍一下这套快捷插图上传流程用法。让你在几分钟之后,就愉快地用上它。

你需要准备两样东西,分别是 iPic 和 Keyboard Maestro 。

我们先来看看 iPic 的设置。

iPic

iPic 可以从 App Store 直接下载。

iPic 的免费版本,功能上是有限制的,那就是只支持一个图床。

但是好消息是,这仅有的一个图床,恰恰就是我们需要的微博图床。

更好的消息,开箱即用,无需设置图床。

下面我们来说说 iPic 里,你需要设置的地方。

点击状态栏上面 iPic 的图标,选择「更多」,然后点击「偏好设置」(Preferences...)。

你需要做的改动,是确保以下两个设定:

首先,开机启动 iPic 。这样后面用起来更方便。

其次,把上传图片的快捷键设置成 Option Shift Command U这个很关键,不然后面我为你定制的 Keyboard Maestro 宏(Macro)起不到作用。

这一页面还有个「上传前压缩」选项,我觉得没必要勾选。你就是不选择,上传后的图片也会压缩。对于普通文章(包括技术演示类)撰写,清晰度也算足够了。你看看本文的插图,都已是压缩后的结果。

如果你是个摄影师,需要保持原始图片格式…… 这个图床不适合你,还是换付费图床吧。

这几步做完,iPic 就算是设置好了。下面我们来看看 Keyboard Maestro 这边的操作。

Keyboard Maestro

下载安装 Keyboard Maestro 后,请你 下载我给你做好的宏命令。存放到本地备用。

获取下载链接的方法,是在公众号后台回复关键词 kmipic

准备好后,进入 Keyboard Maestro ,菜单中选择「导入」-「安全导入宏命令」。

在弹出的文件选择框里,选择你下载好的宏命令,按确定按钮后即可导入。

注意导入之后,该宏命令默认的状态是「关闭」,即上图左上角图标为灰色。

你需要手动开启一下。方法为,在宏命令名称处(如下图所示)单击右键,选择「开启」(Enable Macro)。

之后,我们需要做一些修改。

首先(可选),是根据你自己的喜好,修改一下宏命令的名称和激活的快捷键(默认是 Option Cmd u )。

其次,最重要的部分来了。往下翻,找到这个位置。里面有个变量,叫做 exported_dir,对应的默认内容是空白的

这里需要填写的,是你准备临时存放导出图片的目录名称。

建议你跟我一样,把临时目录的路径,设置在下载(Downloads)目录的子文件夹里。注意一定要使用绝对路径

你不知道啥叫绝对路径?没关系。给你举个例子。好比说你的 macOS 用户名是 tom ,子目录名称叫做 photos_exported , 那么此处对应填写的内容应该是:

代码语言:javascript复制
/Users/tom/Downloads/photos_exported/

设置结束。

下面你就可以仿照前面的范例,从不同的渠道选择图片,然后尝试用 Option Cmd u 快捷键上传图片,并且获取 Markdown 链接了。

小结

原先 我的插图流程,需要一种特殊 Markdown 打包格式的辅助,叫做 Textbundle 。

Textbundle 其实就是个文件夹,它包含了 Markdown 文本文件本身,外加一系列的图片(放在指定的子目录),然后 Markdown 文本引用这些图片的相对链接。

这样一来,你挪动 Markdown 文本的时候,图片都跟着走,数据是完整的。

这种方式有个弊端——交换数据太麻烦

不是每一款笔记工具和编辑器,都支持 Textbundle 格式。你在笔记的采集、汇总、加工等阶段,可选择的余地就变少了。

对我来说最大的坏消息是,Roam Research 就无法支持这种格式。

另外,到了发布内容的时候,你不能使用本地相对路径的图片啊。所以,这些图片早晚都得上传。既然如此,为何不早点儿把它直接放在图床上?这样一劳永逸,不用在图片链接上,各种来回瞎折腾了。

你可能会有个疑惑:

图床挂了可咋整?

这是个好问题。我们必须随时注意数据的备份。不光是图床,笔记的文字本身也是需要做好备份工作的。

好在如果你把笔记的内容都归拢到了 Roam Research ,那么你就可以利用之前教程里,我给你介绍的 自动按时增量备份工具了。立青(JimmyLv)改进之后,这个工具不仅可以备份文本,也可以自动备份其中包含的图片链接。这样一来,你就可以做到有「备」无患了。公众号后台回复「jimmylvbak」,可以获得该项目的地址。

第二个疑惑是:

上述方法是不是只适合微博图床?

当然不是。不管你用的是 uPic 还是本文中的 iPic ,都可以支持多种图床。例如 uPic ,官方介绍支持的图床包括 smms、 又拍云 USS、七牛云 KODO、 阿里云 OSS、 腾讯云 COS、微博、Github、 Gitee、 Amazon S3……,甚至是 自定义上传接口。

另外的一个疑惑,可能是:

如果我用的不是 macOS ,是不是就不能享受这种便利了?

不会。Windows 上面也有类似自动化工具和图片上传应用。但是因为我平时用 macOS ,所以不了解这些工具的特点,无法给你分享了。如果你尝试过,并且也能进行图片的批量上传和 Markdown 链接返回,欢迎在留言区分享你的经验心得。

除了上述方法外,你有没有更好的笔记图片处理方式呢?欢迎你在留言区,把自己的做法分享给大伙儿,我们一起交流进步。

0 人点赞