Download the PHP package bnomei/kirby3-srcset without Composer
On this page you can find all versions of the php package bnomei/kirby3-srcset. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package kirby3-srcset
With Kirby 3.6 introducing support for WebP & AVIF images and the lazy-attribute being well supported by modern browsers this plugin has in my opinion become obsolete. Thus I will not continue to work on it.
Kirby 3 Srcset
Kirby 3 Plugin for creating lazyloading image srcset
This plugin extends the core (image: )
-Kirbytag. All params that work for (image: )
can be used with (lazysrcset: )
yielding the same output. By default the plugin does add the following:
lazyloading
class to the img elementdata-src
image based on the params of the tagwidth, height, quality
. This replaces thesrc
attribute.data-srcset
attribute with srcsets generated by Kirbys core$file->srcset()
methoddata-sizes="auto"
attributedata-thumb-srcset
attribute printing the srcset array as json (only when debugging)data-ratio
attribute with ratio of the image to parent ofimg
element- It registers a custom markdown component since needs to wrap and unwrap the markdown.
TOC
- Commercial Usage
- Installation
- Usage Kirbytag
- Usage Editor Block
- Usage PHP
- Setup
- Settings
- FAQ
- Image Ratio
Commercial Usage
Support open source!
This plugin is free but if you use it in a commercial project please consider to sponsor me or make a donation.
If my work helped you to make some cash it seems fair to me that I might get a little reward as well, right?
Be kind. Share a little. Thanks.
‐ Bruno
M | O | N | E | Y |
---|---|---|---|---|
Github sponsor | Patreon | Buy Me a Coffee | Paypal dontation | Buy a Kirby license using this affiliate link |
Installation
- unzip master.zip as folder
site/plugins/kirby3-srcset
or git submodule add https://github.com/bnomei/kirby3-srcset.git site/plugins/kirby3-srcset
orcomposer require bnomei/kirby3-srcset
Usage Kirby Tag
image | lazysrcset |
---|---|
alt, caption, class, height, imgclass, link, linkclass, rel, target, text, title, width | sizes, lazy, prefix, autosizes, quality, figure |
Usage Editor Block
Specifically allow plugin block
When you specifically define which blocks are allowed in an editor field you need to add the plugin block like this:
Usage PHP
Setup
Config
You need to define srcsets. The plugin will use these as well as the core $file->srcset()
function.
/site/config/config.php
JS
Add aFarkas/lazysizes to your js dependencies and RTFM. You can also use lozad.js with little adjustments in the settings.
Minimal CSS for auto-sizes detection
You will need some css to make the lazysizes lib automatic size detection work.
IMPORTANT: The css must be applied to the DOM before the JS is executed. Make sure the order is right and they are not async applied. With a lib like muicss/loadjs you can load them asyn and apply them in proper order. Otherwise you will face blurry images on first load.
CSS for hinted image ratio
By default the images ratio is hinted by the plugin to minimize reflows and avoid page jumps. You just need to add the following css to you codebase.
TIP: you can use a different class name if you set
ratio
to a different string. If you set eitherratio
orfigure
tofalse
the ratio hints will disappear.
CSS
tailwind.css
Each figure element will be prefixed with a style element defining the ratio. For example the css style for an image with 16/9 ratio followed by its figure image
element would look like this:
without figcaption: figure > img
with figcaption: figure > ((div > img) + figcaption)
with nonce
You can set a custom nonce using the options or install the security headers plugin.
Settings
bnomei.srcset. | Default | Description |
---|---|---|
lazy | lazyload |
bool or string. additional class for imgclass param |
prefix | data- |
bool or string. prefix before srcset and src when doint lazy loading |
autosizes | auto |
bool or string. related to data-sizes attribute |
figure | true |
bool. wrap image in figure or not |
ratio | lazysrcset-ratio |
bool or string. adds data-ratio to parent of img |
nonce | null |
null, string or callback. default nonce for style element |
FAQ
- Does the plugin override the
(image: )
-Kirbytag? No and it never will. - Why is the Javascript library for lazy loading not included? Since that should be part of the websites build chain.
- IE11 support? You will need a Picture Polyfill.
- Why is there no
sizes
attribute? It is not defined since js lib lazysizes can create these on-the-fly based on actual screen size of image. seeautosizes
setting. - Lazyloading with Flickity? Do
'prefix' => 'data-flickity-lazyload-'
. - Where is the picture element support? This plugin v2.x.x versions could do picture element. I removed that and focused on a better kribytag and lazyloading to make the plugin simpler again.
Works well with
- Thumb Imageoptim Plugin Paid account required.
Disclaimer
This plugin is provided "as is" with no guarantee. Use it at your own risk and always test it yourself before using it in a production environment. If you find any issues, please create a new issue.
License
It is discouraged to use this plugin in any project that promotes racism, sexism, homophobia, animal abuse, violence or any other form of hate speech.