donatj / alike-color-finder
v0.8.0
2023-10-17 04:54 UTC
Requires
- php: >=5.4
- donatj/flags: ^1.5
Requires (Dev)
- donatj/drop: *
- php-parallel-lint/php-parallel-lint: ^1.3
- phpunit/phpunit: ^4.8 || ^9.6
README
在CSS和类似CSS的数据中查找类似(例如类似)的颜色,在一定的相似度阈值内。它比较 #hex
、rgb()
、rgba()
、hsl()
和 hsla()
颜色。
包括 CIEDE2000+Alpha(默认)、CIE94+Alpha,以及 "实际" 数学绝对颜色差异策略,可通过标志进行切换。
此网页界面存在 这里。
原因
非常相似 但 不是 完全相同颜色似乎在合理年龄的任何CSS文件中都非常常见,我已经对它们感到非常厌烦。这最初是一个小脚本,帮助我在样式表中找到它们,后来发展成为这个完整的工具。
这可以在CI解决方案中完全使用,以通过/失败一个项目。
要求
- PHP 5.4.0+带有CLI和SPL,强烈推荐PHP 7.4+
安装
使用composer,可以通过以下方式全局安装alike
$ composer global require 'donatj/alike-color-finder'
或者如果你在为要测试的项目使用composer,你可以简单地将它添加为供应商二进制文件
composer require --dev 'donatj/alike-color-finder'
用法
将扫描CSS-like文件作为参数传递。
$ alike main.css shared.scss
或者将CSS管道到stdin。
$ alike < main.css $ css-generating-process | alike
持续集成
默认情况下,在找到任何类似颜色时,它将以退出代码2
退出。这对于大多数CI工具来说足够标记为失败。此值也可以通过--exit-code
选项进行配置,或设置为0
以禁用。
示例输出
帮助
$ alike --help usage: ./composer/bin/alike [<files>] [<dirs>] --strategy [string] Color diff strategy. Options: actual cie94 ciede2000 [default - aka. perceptual] --tolerance [float] Computed Difference Tolerance - default 4 --exit-code [uint] Exit code to raise on alike. 0 for no exit code --pattern [string] Regex pattern to match files against when argument is a directory --help Displays this message
单个CSS文件
$ alike main.css (4) #e3e3e3 (4) #e4e4e4 Δ: 0.352 #e3e3e3 #e4e4e4 (4) #e3e3e3 (4) #e5e5e5 Δ: 0.705 #e3e3e3 #e5e5e5 (4) #e4e4e4 (4) #e5e5e5 Δ: 0.352 #e4e4e4 #e5e5e5 (2) #454545 * (3) #444444 Δ: 0.437 #454545 #444444 #444 Total alike colors: 4 - Average Δ: 2.167 - Total colors: 17 - Distinct colors: 5
鸣谢
- SupplyHog, Inc - CIEDE2000 计算