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
方法