daikazu / laravel-glider
立即开始使用Laravel blade模板中的Glide。
v2.0.2
2023-02-14 19:42 UTC
Requires
- illuminate/support: ~8|~9|~10
- intervention/image: ^2.7
- league/flysystem: ^3.0
- league/glide-laravel: ^1.0
- psr/http-message: ^1.0
Requires (Dev)
- phpunit/phpunit: ~9.4
README
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。有关更多信息,请参阅许可证文件。