前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Github 精选 #4 | 让 Github 帮你自动压缩图片!

Github 精选 #4 | 让 Github 帮你自动压缩图片!

作者头像
路遥TM
发布2022-03-29 19:25:03
8210
发布2022-03-29 19:25:03
举报
文章被收录于专栏:路遥的专栏

大家好,我是路遥,每周五给你推荐一个泛移动端优质 Github 项目。

今天的主角是 Imgbot, 自动帮你压缩 Github 仓库中的图片资源。

Author

https://github.com/imgbot

Url

https://github.com/imgbot/Imgbot

Language

C#/HTML/Vue/Less

Star

874

Fork

212

Issue

26 Open/147 Closed

Commits

1003

Last Update

Mar 7, 2022

License

MIT

以上数据截止至 2022 年 3 月 11 日。

使用

Imagebot 是一个开源的 Github App,提供图片资源的无损压缩,它具备以下特性:

  1. 无损压缩
  2. 开源实现
  3. 基于 PR
  4. 利用 Github app 提供权限
  5. 可计划的执行任务
  6. 可配置忽略文件/文件夹
  7. 更强的压缩选项
  8. 支持 public/private 仓库
  9. 对于开源项目免费

简单的说,Imagebot 可以自动帮你压缩仓库中的图片资源,并给你提交 PR。

你可以 Github 的应用市场找到它,地址如下:

https://github.com/marketplace/imgbot

安装之后进行简单的配置,选择你需要应用的仓库,我用我的 demo 项目进行了测试:

A few hours later ,你就会收到一个来自 imgbot 的 PR ,如下图所示:

Beep boop,帮助我减小了 25% 的图片资源。它以表格的形式,把图片压缩的详细数据展示了出来。

配置

Imgbot 也提供了个性化配置项,在仓库根目录创建 .imgbotconfig 文件,格式为 json 。下面是一个示例:

代码语言:javascript
复制
{
    "schedule": "daily", // daily|weekly|monthly
    "ignoredFiles": [
        "*.jpg",                   // ignore by extension
        "image1.png",              // ignore by filename
        "public/special_images/*", // ignore by folderpath
    ],
    "aggressiveCompression": "true", // true|false
    "compressWiki": "true", // true|false
    "minKBReduced": 500, // delay new prs until size reduction meets this threshold (default to 10)
    "prTitle" : "Your own pr title",        
    "prBody" : " Text before optimization ratio {optimization_ratio} Text after optimization ratio 
                 Text before optimization details {optimization_details} Text after optimization details",
}

schedule

检测周期,默认情况下,只有当有图片需要压缩的时候才会提 PR。你也可以设置为 dailyweeklymonthly

ignoredFiles

配置忽略文件。格式如下:

代码语言:javascript
复制
"ignoredFiles": [
    "*.jpeg" // 根据后缀过滤
]

提供了多种过滤方式:

代码语言:javascript
复制
"public/special_images/*" // 忽略指定文件夹
"special-image1.png" // 忽略单个文件
"**/test_images/**" // 忽略嵌套文件夹
"path/to/prefix*" // 根据正则忽略

aggressiveCompression

代码语言:javascript
复制
{
    "aggressiveCompression": false
}

默认值为 false ,表示无损压缩。true 表示有损压缩。

compressWiki

设置是否需要压缩 wiki 中的图片。

prTitle

PR 的标题。

prBody

PR 的内容。有默认内容,可以付费自定义。

代码语言:javascript
复制
{
    "prBody" : " Text before optimization ratio {optimization_ratio} Text after optimization ratio 
                 Text before optimization details {optimization_details} Text after optimization details",
}

最后

相比较在打包过程中介入,进行图片压缩和替换,imgbot 的方案也不失为一种好方法。在日常开发工作之外,以 PR 的方式完美融合到 workflow 。

这一期的介绍就到这里了,我们下周五见。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 路遥TM 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用
  • 配置
    • schedule
      • ignoredFiles
        • aggressiveCompression
          • compressWiki
            • prTitle
              • prBody
              • 最后
              相关产品与服务
              文件存储
              文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档