前言
距離上次更新(v1.6.2)已經過去了5個月,很抱歉2.0版本來得這麼晚。本來想著在18年12月(PicGo一週年的時候)釋出2.0版本,但是無奈正值研究生開題期間,需要花費不少時間(不然畢不了業了T T),所以這個大版本姍姍來遲。不過從這個版本開始,正式支援外掛系統,發揮你們的無限想象,PicGo也能成為一個極致的效率工具。
除了釋出PicGo 2.0本體,一同釋出的還有PicGo-Core(PicGo 2.0的底層,支援CLI和API呼叫),以及VSCode的PicGo外掛vs-picgo等。
外掛系統
PicGo的底層核心其實是PicGo-Core
。這個核心主要就是一個流程系統。(它支援在Node.js環境下全域性安裝,可以通過命令列上傳圖片檔案、也可以接入Node.js專案中呼叫api實現上傳。)
PicGo-Core
的上傳流程如下:
Input
一般是檔案路徑,經過Transformer
讀取資訊,傳入Uploader
進行上傳,最後通過 Output
輸出結果。而外掛可以接入三個生命週期(beforeTransform
、beforeUpload
、afterUpload
)以及兩種部件(Transformer
和Uploader
)。
換句話說,如果你書寫了合適的Uploader
,那麼可以上傳到不同的圖床。如果你書寫了合適的Transformer
,你可以通過URL先行下載檔案再通過Uploader
上傳等等。
另外,如果你不想下載PicGo的electron版本,也可以通過npm安裝picgo來實現命令列一鍵上傳圖片的快速體驗。
PicGo除了PicGo-Core
提供的核心功能之外,額外給GUI外掛給予一些自主控制權。
比如外掛可以擁有自己的選單項:
因此GUI外掛除了能夠接管PicGo-Core
給予的上傳流程,還可以通過PicGo提供的guiApi等介面,在外掛頁面實現一些以前單純通過上傳區
實現不了的功能:
比如可以通過開啟一個InputBox
獲取使用者的輸入:
可以通過開啟一個路徑來執行其他功能(而非只是上傳檔案):
甚至還可以直接在外掛皮膚通過呼叫api實現上傳。
另外外掛可以監聽相簿裡圖片刪除的事件:
這個功能就可以寫一個外掛來實現相簿圖片和遠端儲存裡的同步刪除了。
通過如上介紹,我現在甚至就已經能想到外掛系統能做出哪些有意思的外掛了。
比如:
- 結合GitHub剛剛開放的免費私人倉庫,可以通過外掛實現PicGo的相簿以及配置檔案同步。
- 結合TinyPng等工具實現上傳前給圖片瘦身。(不過可能挺影響上傳速度的。)
- 結合一些Canvas工具,可以在上傳圖片前給圖片加水印。
- 通過指定資料夾,將資料夾內部的markdown裡的圖片地址進行圖床遷移。
- 等等。。
希望這個外掛系統能夠給PicGo帶來更強大的威力,也希望它能夠成為你的極致的效率工具。
需要注意的是,想要使用PicGo 2.0的外掛系統,需要先行安裝Node.js環境,因為PicGo的外掛安裝依賴npm
。
2.0其他更新內容
除了上面說的外掛系統,PicGo 2.0還更新瞭如下內容:
- 底層重構了之後,某些圖床上傳不通過
base64
值的將會提升不少速度。比如SM.MS
圖床等。而原本就通過base64
上傳的圖床速度不變。 - 增加一些配置項,比如開啟配置檔案(包括了上傳的圖片列表)、mini視窗置頂、代理設定等。
- 在相簿頁可以選擇複製的連結格式,不用再跑去上傳頁改了。
- 增加不同頁面切換的淡入淡出動畫。
- macOS版本配色小幅更新。(Windows版本配色更新Fluent Design效果預計在2.1版本上線)
- 更新electron版本從1.8->4.0,啟動速度更快了,效能也更好了。
Bug Fixed
- 修復:macOS多屏下開啟詳細視窗時位置錯誤的問題。
- 修復:多圖片上傳重新命名一致的問題。
- 修復:拖拽圖片到軟體會自動在軟體內部開啟這張圖片的bug。
- 修復:重新命名視窗只出現在螢幕中央而不是跟隨主視窗的bug。
VSCode的PicGo外掛vs-picgo
在PicGo-Core釋出不久,就有人根據PicGo-Core的API編寫了VSCode版的PicGo外掛。使用起來也非常方便:
- 截圖上傳
- 檔案瀏覽器選擇檔案上傳
- 輸入檔案路徑上傳
配置項與PicGo的圖床的配置項基本保持一致。在VSCode外掛欄搜尋PicGo即可下載安裝與體驗!
結語
PicGo支援macOS、Windows、Linux三平臺,開源免費,介面美觀,也得到了很多朋友的認可。如果你對它有什麼意見或者建議,也歡迎在issues裡指出。如果你喜歡它,不妨給它點個star。如果對你真的很有幫助,不妨請我喝杯咖啡(PicGo的GitHub首頁有贊助的二維碼)?
Windows使用者請下載
.exe
檔案,macOS使用者請下載.dmg
檔案,Linux使用者請下載.AppImage
檔案。
Happy uploading!