环境

体系: Mac 东西: Alfred, git, homebrew, pngpaste. 语言: perl 其他: Gitee

东西下载

gitee.com/serpmelon/i…

思路

运用Gitee库房作为图床, 运用Alfred工作流简化上传图片流程, 并将上传图片地址转换为markdown格式输出到剪切板中.

运用

仿制一张图片, 然后运用快捷键CMD + shift + u或许唤出Alfred指令行输入pp. 上传成功后会发送告诉提示上传成功.

依靠

运用pngpaste东西完成剪切板相关功用

brew install pngpaste

运用ImageMagick完成图片紧缩

brew install imagemagick

完成

创建Gitee图床环境

注册账号, 创建库房, 留意修改为公共库房, 把库房拉到本地, 以后会将方针图片仿制到库房中. 其他没什么说的.

装备Alfred workflow

下载并将东西拖进Alfred中, 因为依靠了第三方软件, 在履行脚本时需求指定东西目录, 所以需求在workflow中装备对应途径如下:

使用Alfred + Gitee搭建免费图床

GIT_DIR git库房本地途径, 图片会直接仿制到这儿.
GIT_DOMAIN git图床途径, 比如我装备的是 https://gitee.com/serpmelon/pictures/raw/master.
IMAGE_MAGICK_DIR ImageMagick东西安装的途径.
PASTE_DIR pngpaste东西安装的途径.

对于homebrew下载的东西能够经过如下指令检查

brew list pngpaste
回来: /usr/local/Cellar/pngpaste/0.2.3/bin/pngpaste
则装备途径: /usr/local/Cellar/pngpaste/0.2.3/bin
brew list imagemagick
回来: 
/usr/local/Cellar/imagemagick/7.1.0-16/bin/Magick++-config
/usr/local/Cellar/imagemagick/7.1.0-16/bin/MagickCore-config
/usr/local/Cellar/imagemagick/7.1.0-16/bin/MagickWand-config
/usr/local/Cellar/imagemagick/7.1.0-16/bin/animate
/usr/local/Cellar/imagemagick/7.1.0-16/bin/compare
/usr/local/Cellar/imagemagick/7.1.0-16/bin/composite
...
装备途径: /usr/local/Cellar/imagemagick/7.1.0-16/bin

仿制剪切板中的图片到指定途径

遇到的第一个难题, 如何将剪切板中的图片仿制到指定目录下呢(git目录)? pbcopy和pbpaste指令只能操作文本, 所以第一个主意, 仿制图片的途径, 这样就能够经过操作文本进行赋值操作.

对图片运用cmd+option+c会仿制其途径, 然后经过履行cp指令将文件仿制到指定目录中.

system("cp $source $target");

可是, 这样很不方便, 并且通常情况下都是截一个图片沾到自己的文章中, 如果只能经过途径仿制, 那么每次截图还需求下载到本地. 所以需求完成将剪切板中的图片文件仿制到目录的功用.

运用pngpaste东西完成上述功用, 运用homebrew下载

brew install pngpaste

运用简单

pngpaste hooray.png # 方针文件

参阅 github.com/jcsalterego…

本地运转正常, 可是在Alfred中运转异常, 排查发现是找不到pngpaste指令. Alfred运转脚本不会运用用户的运转环境, 所以找不到第三方指令, 解决办法就是咱们帮它找到指令, 运用全途径就能够拉, 途径装备到Alfred变量中.

system("$PASTE_DIC/pngpaste $target");

git指令提交图片

图片现已仿制到git本地库房了, 然后只需求push上去就好了. 因为在不同目录履行, 履行会报提示”fatal: not a git repository”, 运用相似如下指令即可

git --git-dir=/x/y/.git --work-tree=/x/y add .

图片紧缩

Gitee限制图片大小, 对于大于1MB的图片会打不开.

使用Alfred + Gitee搭建免费图床
所以对于大的图片需求进行紧缩处理, 这儿依靠ImageMagick, 运用brew下载.

brew install imagemagick

拼接图片地址

阅读下Gitee上图片的地址, 相似这样 gitee.com/serpmelon/p… 将blob换成raw就能够访问了, 修改后: p3-juejin.byteimg.com/tos-cn-i-k3…

然后按照markdown格式拼接地址后:

![](https://gitee.com/serpmelon/pictures/raw/master/20230102/1672643597serpmelon15714.png)

使用Alfred + Gitee搭建免费图床

问题

  1. 目前依靠了pngpaste和ImageMagick东西, 后边自己简单完成下, 这样用户就不需求自己再单独下载依靠了.