1.5.0 • Published 1 year ago
picgo-plugin-compress-next v1.5.0
🍴 分支
这是 picgo-plugin-compress-webp-lossless 的一个分支,同时它又是 picgo-plugin-compress 的分支
🚀 部署使用
PicGo-Core 安装
- 安装
picgo add compress-next - 选择使用
picgo use transformer - 参数配置
picgo config plugin compress-next
PicGo-Gui 安装
- 打开详细窗口 > 插件设置 > 搜索
compress-next即可安装,点击模块右下角配置参数 - 或者,进入
picgo目录npm i picgo-plugin-compress-next - 离线安装参考这里
参数配置
- Compress Type (过段时间会制作详细对比分析表):
- tinypng: 无损压缩,需要上传到 tinypng
- imagemin: 图片压缩不改变后缀名,支持
jpeg和png,使用 mozjpeg 和 upng - imagemin-webp: 本地压缩为 webp 注意:有些图床(比如 sm.ms)不支持 webp 图片格式,会上传失败
- webp-converter: 同上
- Gif Compress Type:
- webp-converter: 本地有损将 gif 压缩为 webp
- imagemin-gif2webp:
- Auto Refresh TinyPng Key Across Months:
- yes: 检测到跨月(与上次使用时年月不同)则自动刷新 TinyPng API Key 的状态
- no: 不检测,但是仍然记录年月
- TinyPng API Key:
- 在 developers 中申请
- 逗号
,隔开,可使用多个 Key 叠加使用次数
压缩参数配置
⚗️ 背景
picgo-plugin-compress 已经许久没有更新了,关键是在 PicGo 底层上传库从 request 迁移至 axios ,参考 PicGo/PicGo-Core#65 ,导致 TinyPng 不可用。似乎最后一个可用版本是PicGo v2.3.0。
幸运的是我发现了 picgo-plugin-compress-webp-lossless ,但是其只上传了 v1.0.1 ,其实现仍然是 picgo-plugin-compress 的旧实现,但是其代码更新到了 v1.1.0 ,可惜的是使用 ES 重构后无法兼容 PicGo ,并且仍旧存在些许问题。
于是便有了 picgo-plugin-compress-next 的诞生 🎉
💥 对比
🎉 功能
- 支持多个
Key叠加使用 - 支持
PicGo >= v2.3.1的TinyPng压缩 - 禁用
TinyPngWeb并抛出异常 - 对错误的
Key处理并跳过 - 处理
Key的刷新问题:- 刷新有效
Key - 刷新所有
Key - 跨越份自动刷新有效
Key
- 刷新有效
- 加入
webp-converter - 加入
gift 2 webp的能力- 使用
webp-converter的gwebp imagemin-gif2webp
- 使用
- 可以根据自身需求配置压缩的具体参数
imagemin-upngimagemin-mozjpegimagemin-webpimagemin-gif2webpwebp-converter-cwebpwebp-converter-gwebp
压缩比较
TODO ... ...