很多用Markdown写博客的朋友都会遇到上传图片的问题,一个比较著名的解决方案就是iPic,可以轻松的上传图片并生成Markdown样式的图片链接。
但是iPic支持的图床有限,使用其他图床的用户往往只能通过网页版上传或者在命令行调用API,操作相对复杂。
这时,就轮到我们的主角——Mac下内置的自动化工具——Automator登场了。
Automator是一款强大的自动化工具,这里我们只用其中的一小部分功能,将Shell脚本转化为右键菜单项,有兴趣的读者可以自行开发更多的用途。
编写上传脚本
本文采用的上传方式是通过curl
命令调用图床API进行上传,因此我们先要分析API并写出相应的脚本。
以著名图床程序Chevereto为例,查阅API文档可以写出如下命令:
curl -F [email protected] http://example.com/api/1/upload/?key=12345&format=txt
该API的返回值就是图片上传后的地址。
利用Automator创建右键菜单项
首先在Launchpad中找到Automator.app,通常是被放在其他文件夹中:
打开后如果没有窗口不要着急,可以点击一下Dock上的Automator图标,就会弹出一个新建窗口,在新建窗口中类型选择服务Service。
之后根据下图按照以下步骤进行操作,下面步骤中尽量使用中文描述,对应的英文翻译可以查看我上传的图片:
- 将第一行的接受文件类型修改为
图片文件
,App选择访达(Finder) - 从左边搜索
运行Shell脚本
并拖到右边工作区,然后把右上角的输出修改为作为附件
- 将下文中给出的脚本粘贴到文本框中,其中的curl命令可以替换为其他图床的上传命令
- 从左边搜索
显示通知
并拖到右边工作区,内容按照图片填写 - 保存并命名为
上传图片并生成Markdown链接
API_KEY="12345" # 图床的API_KEY
RESULT="" # 用于存储结果的变量
for f in "$@"
do
TMP_LINK='![]('$(curl -F source=@$f "https://example.com/api/1/upload/?key=$API_KEY&format=txt")')'
RESULT="$RESULT
$TMP_LINK"
done
echo $RESULT | pbcopy # 将上传结果传入剪贴板
效果演示
到这里,整个过程就完成了,在一个或者多个图片上按下右键,就可以在服务
项中找到我们创建的上传图片并生成Markdown链接
,选中并静待完成,对应的Markdown格式链接就会进入我们的剪贴板中。
记得使用前检测剪贴板,不要被程序冲掉了重要的东西哦。
楼主残忍的关闭了评论