swisnl/filament-backgrounds

为Filament认证页面提供美观的背景

1.1.4 2024-03-03 15:16 UTC

This package is auto-updated.

Last update: 2024-09-08 10:00:52 UTC


README

Latest Version on Packagist Software License Buy us a tree GitHub Tests Action Status GitHub Code Style Action Status Total Downloads Made by SWIS

一个精选图片列表(免费使用),以使您的Filament认证页面具有独特的外观。您想使用自己的图片?没问题,您也可以使用自己的图片。或者大胆一些,基于天气、一天中的时间或您能想到的任何东西创建自己的图片提供程序!

Filament backgrounds screenshot

安装

您可以通过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是一家来自荷兰莱顿的网页代理机构。我们热爱与开源软件合作。