qiniu-imgup簡介
qiniu-imgup是一個(gè)七牛云圖片上傳工具鞋既,目標(biāo)是簡化MarkDown寫作中的貼圖的繁瑣步驟开财,可以快速將剪貼板中的圖片上傳至七牛云,并返回MarkDown格式的鏈接。
適用人群:使用七牛云做為圖床的MarkDown編寫者济欢。
由于平時(shí)工作主要是用macOS 10.12及Ubuntu 16.04兩臺(tái)筆記本,macOS下之前一直在用一個(gè)名為iPic的收費(fèi)軟件(30RMB/年小渊,UX做的非常好)法褥,Ubuntu下直接找不到類似工具,于是分別針對(duì)兩個(gè)平臺(tái)各寫了一個(gè)小工具酬屉。
兩個(gè)版本在思路及實(shí)現(xiàn)上的差異還是比較大的半等,Mac版偏重于用Python原生實(shí)現(xiàn),Linux版則借用了一些第三方系統(tǒng)工具呐萨,下面簡單做一下分享杀饵,有需要的同學(xué)可以直接拿去用。
Linux版本的整體思路及部分代碼來自 博客 77695的自留地 谬擦,侵刪
使用方法介紹
在編寫MarkDown文檔時(shí)切距,如果使用七牛云做圖床,插入一張圖片需要以下幾個(gè)繁瑣的步驟:
- 截圖
- 保存為文件
- 打開瀏覽器惨远,在七牛云后臺(tái)上傳圖片
- 復(fù)制圖片的HTTP URL
- 在編輯器中將URL拼接為MarkDown的鏈接格式
- 粘帖鏈接
mac版本將整個(gè)操作簡化為了3個(gè)快捷鍵操作:
-
cmd+shift+ctrl+4
- 截圖到剪貼板 -
cmd+shift+u
- 使用自定義熱鍵谜悟,上傳并獲取MarkDown鏈接 -
cmd+v
- 粘帖MarkDown鏈接
linux版本整個(gè)操作簡化為了2個(gè)快捷鍵操作:
-
alt+shift+s
調(diào)用simg
截圖 -
alt+shift+u
調(diào)用uimg
上傳并自動(dòng)粘帖MarkDown鏈接
實(shí)現(xiàn)思路
Mac版實(shí)現(xiàn)思路
- 使用系統(tǒng)自帶截圖工具饵沧,或QQ截圖工具,截圖至剪貼板
- 使用PIL庫中的ImageGrab赌躺,將剪貼板中的圖片保存
- 使用qiniu庫狼牺,生成token,并上傳圖片
- 將七牛云返回的URL拼接為MarkDown格式鏈接
- 使用clipboard庫礼患,將鏈接放到剪貼板中
- 使用os.system庫是钥,調(diào)用
osascript
發(fā)送系統(tǒng)通知,在屏幕右上角提示成功/失敗 - CMD+V粘帖鏈接至編輯器
其中2-6步缅叠,是由qiniu-imgup來實(shí)現(xiàn)的悄泥。
可以用Automator工具,將shell腳本封裝成一個(gè)APP肤粱,在系統(tǒng)設(shè)置中就可以指定一個(gè)快捷鍵了弹囚。
Linux版實(shí)現(xiàn)思路
- 使用shell腳本,調(diào)用第三方截圖工具shutter领曼,并將圖片保存至臨時(shí)目錄鸥鹉。
- 使用qiniu庫,生成token庶骄,并上傳圖片
- 將七牛云返回的URL拼接為MarkDown格式鏈接
- 直接使用print打印鏈接至console
- 調(diào)用libnotify-bin毁渗,發(fā)送系統(tǒng)通知,在屏幕右上角提示成功/失敗
- 使用shell腳本单刁,將Python輸出結(jié)果傳遞給第三方工具xclip灸异,復(fù)制到剪貼板
- 使用shell腳本,調(diào)用第三方工具xdotool羔飞,模擬鍵盤Ctrl+V操作肺樟,直接進(jìn)行粘帖
其中2-5步,是由qiniu-imgup來實(shí)現(xiàn)的逻淌。
過程中使用到了第三方工具shutter么伯、xclip及xdotool。
由于使用了xdotool恍风,無須手工Ctrl+V粘帖了蹦狂,節(jié)省了一個(gè)操作步驟。
安裝與配置
Mac版安裝與配置
- 安裝依賴
sudo pip3 install -r requirement.txt
- 配置
config.py
朋贬,填入七牛云的AK、SK等參數(shù) -
使用Automator將shell腳本uimg封裝為APP
-
在系統(tǒng)設(shè)置中(System Preference->Keyboard->Shortcuts->App Shortcuts)窜骄,為APP分配快捷鍵
Linux版安裝與配置
- 依賴及工具安裝
sudo pip3 install qiniu
sudo apt-get install shutter
sudo apt-get install xclip
sudo apt-get install parcellite
sudo apt-get install xdotool
sudo apt-get install libnotify-bin
- 將程序目錄拷貝至/opt/qimg下
- 設(shè)置環(huán)境變量
export PATH=/opt/qimg:$PATH
- 在Shutter設(shè)置中锦募,將圖片自動(dòng)保存位置設(shè)為
/tmp/snap_shutter
- 在System Setting - Keyboard中,設(shè)置快捷鍵分別指向
simg
截圖和uimg
上傳
源碼
- macOS版本GitHub源碼:
https://github.com/xiiiblue/qiniu-imgup-mac.git
目前只支持macOS邻遏,有時(shí)間會(huì)把這個(gè)改成for Mac & Win雙平臺(tái)的糠亩,先挖個(gè)坑
- Linux版本GitHub源碼:
https://github.com/xiiiblue/qiniu-imgup-linux.git