距離上次更新(v1.6.2)已通過去了5個月,很抱歉2.0版原本得這麼晚。原本想着在18年12月(PicGo一週年的時候)發佈2.0版本,可是無奈正值研究生開題期間,須要花費很多時間(否則畢不了業了T T),因此這個大版本姍姍來遲。不過從這個版本開始,正式支持插件系統,發揮大家的無限想象,PicGo也能成爲一個極致的效率工具。node
除了發佈PicGo 2.0本體,一同發佈的還有PicGo-Core(PicGo 2.0的底層,支持CLI和API調用),以及VSCode的PicGo插件vs-picgo等。git
PicGo的底層核心實際上是PicGo-Core
。這個核心主要就是一個流程系統。(它支持在Node.js環境下全局安裝,能夠經過命令行上傳圖片文件、也能夠接入Node.js項目中調用api實現上傳。)github
PicGo-Core
的上傳流程以下:npm
Input
通常是文件路徑,通過Transformer
讀取信息,傳入Uploader
進行上傳,最後經過 Output
輸出結果。而插件能夠接入三個生命週期(beforeTransform
、beforeUpload
、afterUpload
)以及兩種部件(Transformer
和Uploader
)。api
換句話說,若是你書寫了合適的Uploader
,那麼能夠上傳到不一樣的圖牀。若是你書寫了合適的Transformer
,你能夠經過URL先行下載文件再經過Uploader
上傳等等。瀏覽器
另外,若是你不想下載PicGo的electron版本,也能夠經過npm安裝picgo來實現命令行一鍵上傳圖片的快速體驗。markdown
PicGo除了PicGo-Core
提供的核心功能以外,額外給GUI插件給予一些自主控制權。app
好比插件能夠擁有本身的菜單項:electron
所以GUI插件除了可以接管PicGo-Core
給予的上傳流程,還能夠經過PicGo提供的guiApi等接口,在插件頁面實現一些之前單純經過上傳區
實現不了的功能:工具
好比能夠經過打開一個InputBox
獲取用戶的輸入:
能夠經過打開一個路徑來執行其餘功能(而非只是上傳文件):
甚至還能夠直接在插件面板經過調用api實現上傳。
另外插件能夠監聽相冊裏圖片刪除的事件:
這個功能就能夠寫一個插件來實現相冊圖片和遠端存儲裏的同步刪除了。
經過如上介紹,我如今甚至就已經能想到插件系統能作出哪些有意思的插件了。
好比:
但願這個插件系統可以給PicGo帶來更強大的威力,也但願它可以成爲你的極致的效率工具。
須要注意的是,想要使用PicGo 2.0的插件系統,須要先行安裝Node.js環境,由於PicGo的插件安裝依賴npm
。
除了上面說的插件系統,PicGo 2.0還更新了以下內容:
base64
值的將會提高很多速度。好比SM.MS
圖牀等。而本來就經過base64
上傳的圖牀速度不變。在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!