swisnl / filament-backgrounds
为Filament认证页面提供美观的背景
Requires
- php: ^8.1
- filament/filament: ^3.0.100
- illuminate/contracts: ^10.21|^11.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- laravel/pint: ^1.13
- nunomaduro/collision: ^7.10|^8.1
- nunomaduro/larastan: ^2.6
- orchestra/testbench: ^8.15|^9.0
- pestphp/pest: ^2.25
- pestphp/pest-plugin-arch: ^2.4
- pestphp/pest-plugin-laravel: ^2.2
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
README
一个精选图片列表(免费使用),以使您的Filament认证页面具有独特的外观。您想使用自己的图片?没问题,您也可以使用自己的图片。或者大胆一些,基于天气、一天中的时间或您能想到的任何东西创建自己的图片提供程序!
安装
您可以通过composer安装此包
composer require swisnl/filament-backgrounds
接下来,如果您想使用默认列表,请发布图片
php artisan filament-backgrounds:install
用法
将插件添加到您的面板提供程序
use Swis\Filament\Backgrounds\FilamentBackgroundsPlugin; public function panel(Panel $panel): Panel { return $panel ->plugins([ FilamentBackgroundsPlugin::make(), ]) }
隐藏归属
您可以通过将false
传递给插件的showAttribution
方法来禁用归属。请注意,这不被推荐,有时甚至被禁止,因为摄影师应得到他们的工作应有的认可,或者许可证要求您显示归属!
use Swis\Filament\Backgrounds\FilamentBackgroundsPlugin; public function panel(Panel $panel): Panel { return $panel ->plugins([ FilamentBackgroundsPlugin::make() ->showAttribution(false), ]) }
记住
您可以使用插件上的remember
方法指定以秒为单位的缓存时间。如果您使用的是使用API或其他外部资源的图片提供程序,这尤其有用,这样您就不必在每次请求时都调用API!
use Swis\Filament\Backgrounds\FilamentBackgroundsPlugin; public function panel(Panel $panel): Panel { return $panel ->plugins([ FilamentBackgroundsPlugin::make() ->remember(900), ]) }
使用自己的图片
您可以通过将MyImages
的实例传递给插件上的imageProvider
方法来使用自己的图片。此提供程序允许您指定存储图片的目录(在您的公开目录内)。图片将从该目录中随机选择。
use Swis\Filament\Backgrounds\FilamentBackgroundsPlugin; use Swis\Filament\Backgrounds\ImageProviders\MyImages; public function panel(Panel $panel): Panel { return $panel ->plugins([ FilamentBackgroundsPlugin::make() ->imageProvider( MyImages::make() ->directory('images/backgrounds') ), ]) }
可用的图片提供程序
Swis\Filament\Backgrounds\Images\CuratedBySwis
来自多个来源的默认精选(免费使用)图片集,基于月日。您可以在resources/images/curated-by-swis目录中找到这些图片。
Swis\Filament\Backgrounds\Images\MyImages
Swis\Filament\Backgrounds\Images\Triangles
使用Trianglify创建的一组低多边形图案。您可以在resources/images/triangles目录中找到这些图案。
编写自定义图片提供程序
要创建自己的图片提供程序,您需要实现ProvidesImages
接口。此接口有一个方法,即getImage
,它应返回一个Image
对象。该图像对象接受两个参数,第一个是CSS的background-image
属性,第二个是归属文本。该图像将直接作为CSS中的背景图像使用,因此它应包含url()
,这甚至允许您使用渐变或其他复杂功能!
<?php use Swis\Filament\Backgrounds\Contracts\ProvidesImages; use Swis\Filament\Backgrounds\Image; class MyImageProvider implements ProvidesImages { public static function make(): static { return app(static::class); } public function getImage(): Image { return new Image( 'url("[link to photo]")', 'Photo by ...' ); } }
注意。如果您使用API或其他外部资源,请确保缓存结果,这样您就不必在每次请求时都调用API!
测试
composer test
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
贡献
请参阅CONTRIBUTING以获取详细信息。
安全漏洞
请审查我们的安全策略,了解如何报告安全漏洞。
致谢
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。
本包中包含的所有图片均可免费用于商业和非商业目的,并来自多个来源
SWIS ❤️ 开源
SWIS是一家来自荷兰莱顿的网页代理机构。我们热爱与开源软件合作。