系统: Mac 工具: Alfred, git, homebrew, pngpaste. 语言: perl 其他: Gitee 工具下载 https://gitee.com/serpmelon/inazuma 思路 使用Gitee仓库作为图床, 使用Alfred工作流简化上传图片流程, 并将上传图片地址转换
系统: Mac 工具: Alfred, git, homebrew, pngpaste. 语言: perl 其他: Gitee 工具下载https://gitee.com/serpmelon/inazuma 思路使用Gitee仓库作为图床, 使用Alfred工作流简化上传图片流程, 并将上传图片地址转换为markdown格式输出到剪切板中. 使用复制一张图片, 然后使用快捷键CMD + shift + u或者唤出Alfred命令行输入pp. 上传成功后会发送通知提示上传成功. 依赖使用pngpaste工具实现剪切板相关功能
使用ImageMagick实现图片压缩
实现创建Gitee图床环境注册账号, 创建仓库, 注意修改为公共仓库, 把仓库拉到本地, 以后会将目标图片复制到仓库中. 其他没什么说的. 配置Alfred workflow下载并将工具拖进Alfred中, 由于依赖了第三方软件, 在执行脚本时需要指定工具目录, 所以需要在workflow中配置对应路径如下: GIT_DIR git仓库本地路径, 图片会直接复制到这里. GIT_DOMAIN git图床路径, 比如我配置的是 https://gitee.com/serpmelon/pictures/raw/master. IMAGE_MAGICK_DIR ImageMagick工具安装的路径. PASTE_DIR pngpaste工具安装的路径. 对于homebrew下载的工具可以通过如下命令查看
复制剪切板中的图片到指定路径遇到的第一个难题, 如何将剪切板中的图片复制到指定目录下呢(git目录)? pbcopy和pbpaste命令只能操作文本, 所以第一个想法, 复制图片的路径, 这样就可以通过操作文本进行赋值操作. 对图片使用cmd+option+c会复制其路径, 然后通过执行cp命令将文件复制到指定目录中.
但是, 这样很不方便, 而且通常情况下都是截一个图片沾到自己的文章中, 如果只能通过路径复制, 那么每次截图还需要下载到本地. 所以需要实现将剪切板中的图片文件复制到目录的功能. 使用pngpaste工具实现上述功能, 使用homebrew下载
使用简单
参考 github.com/jcsalterego… 本地运行正常, 但是在Alfred中运行异常, 排查发现是找不到pngpaste命令. Alfred运行脚本不会使用用户的运行环境, 所以找不到第三方命令, 解决办法就是我们帮它找到命令, 使用全路径就可以拉, 路径配置到Alfred变量中.
git命令提交图片图片已经复制到git本地仓库了, 然后只需要push上去就好了. 由于在不同目录执行, 执行会报提示"fatal: not a git repository", 使用类似如下命令即可
图片压缩Gitee限制图片大小, 对于大于1MB的图片会打不开. 所以对于大的图片需要进行压缩处理, 这里依赖ImageMagick, 使用brew下载.
拼接图片地址浏览下Gitee上图片的地址, 类似这样 gitee.com/serpmelon/p… 将blob换成raw就可以访问了, 修改后:
然后按照markdown格式拼接地址后:
问题 目前依赖了pngpaste和ImageMagick工具, 后面自己简单实现下, 这样用户就不需要自己再单独下载依赖了. |
2022-04-23
2022-10-16
2022-08-26
2020-04-20
2021-01-20