1.5.0 • Published 1 year ago

picgo-plugin-compress-next v1.5.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

中文 <-| English

🍴 分支

这是 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: 图片压缩不改变后缀名,支持 jpegpng,使用 mozjpegupng
    • imagemin-webp: 本地压缩为 webp 注意:有些图床(比如 sm.ms)不支持 webp 图片格式,会上传失败
    • webp-converter: 同上
  • Gif Compress Type:
  • Auto Refresh TinyPng Key Across Months:
    • yes: 检测到跨月(与上次使用时年月不同)则自动刷新 TinyPng API Key 的状态
    • no: 不检测,但是仍然记录年月
  • TinyPng API Key:
    • developers 中申请
    • 逗号,隔开,可使用多个 Key 叠加使用次数
压缩参数配置

参考 option.example.json

⚗️ 背景

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.1TinyPng 压缩
  • 禁用 TinyPngWeb 并抛出异常
  • 对错误的 Key 处理并跳过
  • 处理 Key 的刷新问题:
    • 刷新有效 Key
    • 刷新所有 Key
    • 跨越份自动刷新有效 Key
  • 加入 webp-converter
  • 加入 gift 2 webp 的能力
    • 使用 webp-convertergwebp
    • imagemin-gif2webp
  • 可以根据自身需求配置压缩的具体参数
    • imagemin-upng
    • imagemin-mozjpeg
    • imagemin-webp
    • imagemin-gif2webp
    • webp-converter-cwebp
    • webp-converter-gwebp

压缩比较

TODO ... ...

报告问题

你可以直接点击这里创建一个问题