使用 Alfred3 Workflow 上传截图到七牛云

虽然已经好久没写播客了,但是写 MD 的时候经常遇到一个问题很纠结,那就是图片!

虽然本博客可以自动把本地图片上传到七牛云并替换相对路径为对应的 URL,但是还是需要一下的步骤:

  1. 截图
  2. 把图片保存到博客图片目录
  3. 在 MD 中引入图片

可能还需要:

  1. 在七牛云上传图片
  2. 得到图片URL
  3. 在 MD 中替换地址

我这等懒人,连上面三部都想省略。所谓懒才是促使人类进步的第一要素。

我的需求其实很简单,就是截图后能自动上传到七牛云,得到链接还能生成自动 MD 的图片格式,并且写入到剪切板中,我需要做的只是 cmd + v 而已,简单来说就是:

  1. 截图
  2. cmd + v 得到 MD 格式的图片(七牛云)链接,完事。

Alfred 的 Workflow 来完成中间繁琐的步骤最好不过了,刚好 Alfred3 出了这么久都没有玩过,正好!

思路如下:

  1. 得到系统剪切板中的图片(可能是本地路径)
  2. 上传到七牛云
  3. 得到图片URL
  4. 生成 MD 格式的图片链接

写一个脚本完成以上的事情,作为 aflred3 的 workflow,开搞!

获取系统剪切板内容

首先找到 copy-paste 这个库,这个库封装了 pbpaste 命令,但是发现 pbpaste 只支持读取文本

使用 pngpaste 才是正确的打开方式。

pngpaste image.png 就可以把剪切板中的图片保存到本地。

注意因为脚本是在 Alfred 中运行的,所以可能需要带上 /usr/local/bin

上传到七牛云

这一部分就很简单了,使用七牛云的 Node.js SDK, 参考文档即可。

结果

整体思路很简单,写个小脚本很快就能实现了,我实现的插件放在 github 上了。

效果截图(下面这张图就是用插件无痛生成的图片):

« 返回