Alfred + Gitee搭建免费图床的使用实例详解

作者:serpmelon 时间:2023-10-04 08:24:30 

环境

系统: 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就可以访问了,

修改后:

https://p3-jb51.byteimg.com/tos-cn-i-k3u1fbpfcp/ba10ca414b2b4a5d87904573434f3493~tplv-k3u1fbpfcp-zoom-1.image

Alfred + Gitee搭建免费图床的使用实例详解

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

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

问题

目前依赖了pngpaste和ImageMagick工具, 后面自己简单实现下, 这样用户就不需要自己再单独下载依赖了.

来源:https://juejin.cn/post/7193615157464367163

标签:Alfred,Gitee,搭建图床,免费
0
投稿

猜你喜欢

  • 使用IP地址来统计在线人数方法

    2007-08-13 12:51:00
  • 一篇文章搞懂:词法作用域、动态作用域、回调函数及闭包

    2022-10-01 00:21:05
  • 用header 发送cookie的php代码

    2023-07-11 11:15:06
  • 利用pyshp包给shapefile文件添加字段的实例

    2023-08-12 15:48:38
  • go项目中环境变量的配置

    2024-02-12 12:17:55
  • Python 中将值附加到集合的操作方法

    2022-01-06 15:09:54
  • python实现根据图标提取分类应用程序实例

    2022-07-23 16:22:39
  • C# 连接SQL数据库的方法及常用连接字符串

    2024-01-16 21:49:47
  • Vue 页面监听用户预览时间功能的实现代码

    2024-04-27 15:56:25
  • python环境中的概念conda中与环境相关指令操作

    2021-01-09 19:40:55
  • 用Python生成会跳舞的美女

    2023-04-04 11:52:09
  • pytorch DistributedDataParallel 多卡训练结果变差的解决方案

    2021-09-24 14:31:43
  • Mysql中有关Datetime和Timestamp的使用总结

    2024-01-25 06:41:07
  • 定格动画浅析(一)

    2009-07-30 12:50:00
  • 两组字符串数据比较合并相同数据

    2008-07-31 17:27:00
  • Python 使用Opencv实现目标检测与识别的示例代码

    2023-01-23 17:46:11
  • PHP日志LOG类定义与用法示例

    2023-09-10 20:02:56
  • php通过exif_read_data函数获取图片的exif信息

    2023-10-27 09:01:44
  • sql 语句中的 NULL值

    2024-01-14 06:41:16
  • Pyecharts 动态地图 geo()和map()的安装与用法详解

    2023-08-16 17:07:34
  • asp之家 网络编程 m.aspxhome.com