手把手打造一个Alfred自动化上传图床工具
Mac 升级Big Sur之后,发现Alfred的hotkey无法获取选中的文件或者文件夹的路径了,不过后来找到了AppleScript的替代的办法,最新workflow已更新
后来去Alfred官方论坛搜了一下 发现是权限问题,只要在 偏好设置>安全性与隐私>辅助功能里把Alfred勾选☑️上即可 可能是macOS big sur更注重隐私了
准备工作
- github仓库 +
github_token生成token之后备份好 Alfred软件 支持正版,盗版可耻😄Shell脚本,Mac自带的bash即可,用到curl工具
脚本如下:
#! /bin/bash
filePath=$1
fileName=`date +"%Y_%m_%d_%H:%M:%S"`_${filePath##*/}
suffix=${filePath##*.}
branchName="main"
CommitMsg="MacBook Pro通过Alfred Workflow上传了一个${suffix}文件: "$fileName
Target_Img_URL="https://cdn.jsdelivr.net/gh/$userName/$repoName@${branchName}/$path/"$fileName
Base64_Content=$(base64 -b 0 $filePath)
API_URL="https://api.github.com/repos/$userName/$repoName/contents/$path/"${fileName}
Acess_Token="token $github_token"
osascript -e "display notification \"${filePath##*\/}正在上传中ing...\" with title \"通知\" subtitle \"请耐心等待,正在拼命上传...\""
result=$(curl \
-X PUT \
-H "Content-Type:application/json"\
-H "Authorization:$Acess_Token" \
-H "Accept:application/vnd.github.raw"\
${API_URL} \
-d "{\"message\":\"${CommitMsg}\",\"content\":\"${Base64_Content}\"}")
IsUpload=`echo $result | grep "committer"`
if [[ -n "$IsUpload" ]]; then
echo $Target_Img_URL | pbcopy
osascript -e "display notification \"$Target_Img_URL\" with title \"通知\" subtitle \"上传成功,地址已拷贝至剪贴板\""
else
echo $result | pbcopy
osascript -e "display notification \"哎呀,出错啦~\" with title \"通知\" subtitle \"上传失败,请求结果已拷贝至剪贴板\""
fi
Alfred设置相关

如图新建一个空白的blank workflow然后加Hotkey和Run Script,设置对应的快捷键以及脚本调用
设置快捷键如图:

设置脚本调用如图:

然后是配置变量列表(结合脚本和下图理解),导出可清空字段值勾选上不至于私密数据token之类的泄漏或者共享(这个功能很银杏化)

最后是大功告成了!

虽然我觉得PicGo+TyPora效率也很高,但是这个是自己亲手写出来的工具还是要嘚瑟嘚瑟的~ 哈嘿~
最后
成品在这 github图床工具
参考博客
Alfred Workflow 一键上传图片到github
如何制作一个手机上的Github图床捷径(workflow)
PicGo
未经作者授权,禁止转载
本文来自博客园,作者:CoderWGB,转载请注明原文链接:https://www.cnblogs.com/wgb1234/p/14322584.html
THE END

浙公网安备 33010602011771号