MewX
MewX
看中分发的话,主要看压缩后大小;感觉现在已经很少有人在乎解压后的大小了吧,硬盘有点便宜了。压缩前差不多1.5M,其实不大。 至於统一宽高,可以有多个角度思考。 - 统一到最大宽度?会更加浪费空间。 - 统一到一个指定的中档宽高?那么会损失高分辨率的icon。 - 统一使用原始文件?代码适配可能需要麻烦些,然后如果文件metadata有identity信息可能对贡献者产生麻烦。 总体来说,感觉统一宽高不是很有必要,但是可能最开始的话有必要统一转码,去掉metadata(不确定,但是以防万一?)。
> icon都有identity我个人觉得不太可能。 确实,我也觉得不太可能,不过考虑到cabal能在邀请码交易网站蹲点,可能什么都是有可能的吧 LOL > next分支中,我对downloader的icon是统一到128x128的,这个数量不多也相对容易。 听起来不错,但是有个问题就是图片按照什么算法来扩大。参考 - https://legacy.imagemagick.org/Usage/filter/ - https://en.wikipedia.org/wiki/Image_scaling 个人比较倾向于用 [`convert --filter point`](https://legacy.imagemagick.org/Usage/filter/#point)。但是确实需要一个统一的规范。 ---- > 在目前版本中,我们支持自定义站点(虽然这个口子(包括其他一些涉及自定义脚本的口子)我准备在next中封上)。那么对于这类用户自定义站点,icon势必不可能进pack中,这块后续怎么做合适些? 确实是个好问题,也就是说还要对自定义的设定做兼容,但是最终还是需要最终汇总到repo里面,这样才能添加icon。
👍 看起来还不错,另外3可能不需要局限于png文件,ico文件也可以接受应该,也是无损的。
我觉得独立文件更好,这样code review更方便,可以直接预览,而不用手动复制base64然后找个网站解析一下再看。 如果一个图标有30K,相当于有一个超长行在文件里,编辑文件比较痛苦。
如果统一的话确实png更好些,空间也不会膨胀多少因为和ico都是无损的。 判断icon存在直接就用指明目录的方式呗?我觉得放在 `PT-Plugin-Plus/resource/sites/*` 文件夹里已经比较直观了,我个人倾向于 ``` { icon: './site.ico'; // ./ 开头 从 `icons` 目录下加载,由webpack进行管理 // 如果是 png 必须声明,如果标准的 `./{site}.ico` 则不需要 // 这样也能实现icon的复用,例如某些nphp站点使用默认图标,直接 `./nexusphp.ico` 就行 } ``` 这样贡献者想添加站点的话不至于到处找目录,本来pt圈的程序员就不多,贡献开源的难度降低一些也好。
其实转成png也就是一行指令的事 `convert a.ico a.png`,但是好处是空间大概率减小 + 可以只保留最高分辨率的icon。 P.S. ico文件很多是内置多个分辨率的图片的,比如一个ico文件里面可能包含了:16x16, 32x32 ... 256x256的多个图片。看如下就是转码成了多个图片。 - PNG ``` $ ls -alh total 615K -rwxrwxrwx 1 mewx mewx 1.5K Apr 3 11:09 1ptba.com.png -rwxrwxrwx 1...
> @MewX convert操作对非专业来说是不是过于困难,要么两个在未声明的情况下同时查找 .png 和 .ico,优先使用ico? 都查到了png为啥还要使用ico😂😂😂 前面不是说要统一嘛,所以我就觉得统一支持png比较好;如果支持两个格式的话就没问题了呀,先查询是否有png(因为各方面而言png都是比较高效的),再查询是否有ico如何? 另外我有点晕,这个icon文件目录不是指定在设置里面了嘛,不需要查询吧😅
oh,原来要用 import.meta.webpackContext。 输出的文件都堆在了 dist/img 下确实有点不简洁,更新版本的时候就会添加新的文件了。那感觉 public/asset 还是好些,因为可以自己管理。 那要不直接去掉icon这个field,然后标注一下图标请复制到 public/asset目录? 🤣 迷茫了,要不依然在site目录加icon,然后编译脚本自动把它们复制到 asset目录,自动改名,这样对贡献者友好些。
感觉过于个性化需求了,每个人对于分类的需求都不一样的。 倒是可以考虑加tag,毕竟随便加,只要在推动前发送一个创建tag的指令就好(可以重复创建)。
> 感觉过于个性化需求了,每个人对于分类的需求都不一样的。 > > 倒是可以考虑加tag,毕竟随便加,只要在推动前发送一个创建tag的指令就好(可以重复创建)。 但其实也没必要,想过滤种子直接可以通过tracker过滤 😂