paul-blundell / craft3-glide
Add Glide support to Craft 3
Installs: 142
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 3
Forks: 1
Open Issues: 0
Type:craft-plugin
Requires
- craftcms/cms: ^3.0.0
- league/glide: ^1.0.0
This package is auto-updated.
Last update: 2024-05-05 20:07:33 UTC
README
Craft 5 and Glide 2.0 version available at: https://github.com/Wish-and-Dell/Craft-Glide
On-demand image manipulation for Craft 3 using Glide 1.0 from The PHP League.
Example Usage
<img src="/glide/myimage.jpg?w=100&h=200" alt="My Image" />
If your asset uploaded to craft is mysite.com/assets/img/animage.jpg
then this can now be rendered with Glide at mysite.com/glide/animage.jpg?w=100
For more information about what parameters are supported please see the Glide website.
Installation
composer require paul-blundell/craft3-glide
Set your Local Asset Volume base URL to the following;
https://your-domain.com/path-to-craft/glide/
CDN / Advanced Usage
I strongly recommend using Imgix if your budget will allow it. It works in a similar way to this plugin but with a few nice extra features and all responses are served via CDN.
This plugin was never intended to replace Imgix, Cloudinary, etc. but rather is aimed at smaller projects with tighter budgets that need more flexibility than Crafts native transforms.
It should be possible to create a CDN distribution using your domain as the origin, just make sure Query String Forwarding is enabled.
Security
By signing each request with a private key, no alterations can be made to the URL parameters.
Create the file config/glide.php
with the following:
<?php
return [
'signed' => true,
'key' => 'random-long-string',
];
Then you can use this service to generate the URL:
\blundell\glide\Plugin::getInstance()->render->url('image.jpg', ['w' => '100']);
Or with Twig:
<img src="{{ craft.glide.url('wedding.jpg', {w: 500}) }}" alt="My Image" />
Roadmap
- Add support for non-local asset volumes
- Update to Glide 2.0