支持Laravel.io的持续发展 →

新Blade图标发布

27 Jun, 2020 3 min read

大约两周前,我宣布了 Blade Icons 的新版本。这个新版本是 Adam Wathan 的 Blade SVG 和我之前开发的 Blade Icons 库 的合并。这些结合在一起,为与 SVG 图标一起工作提供了一个强大的工具。

如果你还不知道 Blade Icons 是什么,让我们简要回顾一下。Blade Icons 允许你轻松地引用和操作 SVG 图标。

<svg fill="none" viewBox="0 0 24 24" stroke="currentColor">
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z"/>
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 13a3 3 0 11-6 0 3 3 0 016 0z"/>
</svg>

您可以使用 Blade 组件来引用图标

<x-heroicon-o-camera class="h-6 w-6 text-blue-500" />

这使语法更加简单。除了代码行数更少之外,它还更容易看到您正在使用哪个图标。应用属性也变得轻而易举。

图标集

这个库的最显著新特性是引入了图标集。这允许您在单个应用程序中使用多个图标集而不是一个。

如果我们查看 Blade Icons 的配置文件,我们会看到我们可以定义多个集。它标配一个 默认 集指向您的 resources/svg 目录

<?php

return [
    'sets' => [
        'default' => [
            'path' => 'resources/svg',
            'prefix' => 'icon',
        ],
        'feather' => [
            'path' => 'resources/feather-icons',
            'prefix' => 'feather',
        ],
    ],
];

这样,您就可以从多个集中引用图标

<x-icon-bell />

<x-feather-cloud />

这个特性的另一个亮点是,现在它允许第三方包与 Blade 图标集成,并可以发布自己的图标集。为了展示这一点,我已经将从上一迭代中带有 Heroicons 和 Zondicons 图标集提取到单独的包中。

人们已经开始构建自己的第三方包

指令 & 辅助函数

通过与 Blade SVG 的合并,Blade 图标现在也具备了一个`@svg` 指令`svg()` 辅助函数,用于引用图标。

@svg('icon-camera')

{{ svg('feather-cloud') }}

这两种方法也允许您在没有前缀的情况下从默认图标集中引用图标。

@svg('camera')

{{ svg('camera') }}

svg() 辅助函数还允许您使用流畅的语法来设置属性。

{{ svg('camera')->id('settings-icon')->dataFoo('bar')->dataBaz() }}

结论

有更多配置选项,如果您想了解有关 Blade 图标的所有新内容,请务必查看说明。我希望您会喜欢 Blade 图标的新迭代,并且它对您的应用程序会有所帮助!

最后更新 1 年前。

joedixon, luigircruz, mimisk, rezwan-hossain, euneuber 喜欢这篇文章

5
喜欢这篇文章? 让作者知道并为他们鼓掌!
driesvints (Dries Vints) 我在 Laravel 工作,并维护 Laravel.io。Eventy 的创建者。

你可能还喜欢以下文章

March 11th 2024

如何使用 Larastan 将您的 Laravel 应用程序从 0 到 9 进行升级

在 Laravel 应用程序执行之前发现错误是有可能的,感谢 Larastan,它...

阅读文章
July 19th 2024

在不使用 traits 的情况下标准化 API 响应

我发现大多数为API响应创建的库都是使用特指标注实现的,...

阅读文章
2024年7月17日

在您的Laravel项目中通过Discord通知收集反馈

如何在Laravel项目中创建一个反馈模块,并在发布消息时收到Discord通知...

阅读文章

我们想感谢这些 了不起的公司 支持我们

您的logo在这里吗?

Laravel.io

Laravel问题解决、知识共享和社区建设的门户。

© 2024 Laravel.io - 版权所有。