codeat3 / blade-icon-generation-helpers
codeat3在blade-icon生成脚本中使用的辅助方法
1.4.1
2023-02-27 17:03 UTC
Requires
- codeat3/inlinestyle: ^2.0
- codeat3/laravel-page-speed: 2.2
- illuminate/support: ^8.0|^9.0|^10.0
- symfony/filesystem: ^5.0|^6.0
- symfony/process: ^5.0|^6.0
Requires (Dev)
- codeat3/phpcs-styles: ^1.0
README
一个辅助包,用于将图标转换为与blade-icons包兼容的格式。
安装
composer require codeat3/blade-icon-generation-helpers
使用
请参考生成图标部分,来自Blade Icons。本包利用after回调来按照我们的需求处理图标。
after回调接收3个参数:string $icon - 这是图标的路径名,array $config - 在generation.php中指定的配置,SplFileInfo $file - 原始图标文件实例。
在回调函数内部,我们实例化我们的Processor类并使用它的辅助方法来提高效率。
$iconProcessor = new IconProcessor($icon, $config, $sourceFile);
默认情况下,此IconProcessor实例会进行一些优化。最小使用方法如下。
$iconProcessor = new IconProcessor($icon, $config, $sourceFile); $iconProcessor ->optimize() ->save();
optimize方法默认执行以下操作
- 从svg中移除以下属性
- 'width', 'height', 'class', 'style', 'id',
- 如果配置中
is-outline设置为true- 如果存在
fill属性 - 将更新为none - 如果存在
stroke属性 - 将更新为currentColor
- 如果存在
- 如果配置中
is-solid设置为true- 如果存在
fill属性 - 将更新为currentColor
- 如果存在
- 如果配置中设置了
custom-attributes- 将设置属性到svg
- 可选地提供2个可调用的方法
pre和post- 两个回调都接收
$svgEL作为DOMDocument- 这是当前图标的DOMDocument实例 pre可以在执行默认处理之前执行一些操作时使用post可以在执行默认处理之后执行一些操作时使用
- 两个回调都接收
save方法