距离上次更新(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!