daikazu/laravel-glider

立即开始使用Laravel blade模板中的Glide。

v2.0.2 2023-02-14 19:42 UTC

This package is auto-updated.

Last update: 2024-09-14 23:07:42 UTC


README

Laravel Glider banner

Total Downloads Latest Version License

Laravel Glider

Glider是一个简单的包,可以帮助您快速在Laravel blade模板中使用Glide。它提供了一些方便的blade组件,用于生成各种与img相关的HTML标签。这个包深受Statamic和Spatie Media library的启发。

查看contributing.md以查看待办事项列表。

安装

通过Composer

composer require daikazu/laravel-glider

配置

发布配置文件并修改设置以适应您的具体配置。

php artisan vendor:publish --provider="Daikazu\LaravelGlider\LaravelGliderServiceProvider" --tag="glider-config"

根据您的设置调整配置文件。

默认情况下,假设您的文件来自项目中的/resources/assets/文件夹。

注意:请确保您还有适当的水印文件夹。

'source'             => resource_path(),
'source_path_prefix' => 'assets',


'watermarks'             => resource_path(),
'watermarks_path_prefix' => 'assets/watermarks',

使用方法

Glider使用原生的Glide语法进行URL构建。

有关详细信息,请查看Glide API

Glider URL构建器

// Array syntax
{{ Glider::url('image.jpg', ['w' => 300, 'h' => 300, 'fit' => 'crop']) }}

// String syntax
{{ Glider::url('image.jpg', 'w=300&h=300&fit=crop') }}

or

{{ Glider::url('image.jpg?w=300&h=300&fit=crop') }}

Glider Blade组件

以下组件使用width属性以防止生成比原始图像更大的srcset图像。

<x-glider-img src="image.jpg?w=300&h=300&fit=crop" width="300" height="300" >

<x-glider-picture src="image.jpg?w=300&h=300&fit=crop" width="300" height="300" >

响应式背景图像CSS类

{{ Glider::backgroundClass('bg-class', 'image.jpg') }}

清除Glider图像缓存

php artisan glider:clear

故障排除

使用Nginx和自定义静态缓存配置时浏览器返回404错误

请确保不要将Glide路由包含在您的静态缓存配置中。

BROKEN EXAMPLE

# 
location ~*  \.(jpg|jpeg|png|ico|css|js|pdf|woff2)$ {
     expires 1y;
     add_header Cache-Control "public, no-transform";
 }


WORKING EXAMPLE SETTINGS

# Only cache static assets limited to to /public/assets/ folder
location ~*  ^/assets/.*\.(jpg|jpeg|png)$ {
    expires 1y;
    add_header Cache-Control "public, no-transform";
}

location ~*  \.(ico|css|js|pdf|woff2)$ {
    expires 1y;
    add_header Cache-Control "public, no-transform";
}

贡献

请参阅contributing.md以获取详细信息及待办事项列表。

安全

如果您发现任何安全相关的问题,请通过daikazu@gmail.com发送电子邮件,而不是使用问题跟踪器。

鸣谢

许可证

MIT。有关更多信息,请参阅许可证文件