This plugin adds loading="lazy"
to all img
and iframe
tags on
your Jekyll site. No configuration needed.
If a loading
attribute is already present nothing is changed.
loading="lazy"
causes images and iframes to load lazily without any JavaScript.
Browser support is growing.
If a browser does not support the loading
attribute, it will load the resource
just like it would normally.
β If you like it, star it or sponsor it. π
Add the following to your site's Gemfile
:
gem 'jekyll-loading-lazy'
add the following to your site's _config.yml
:
plugins:
- jekyll-loading-lazy
Note: if jekyll --version
is less than 3.5
use:
gems:
- jekyll-loading-lazy
In your terminal, execute:
bundle
(re)start your Jekyll server with:
jekyll serve
Install the plugin as described above. That's basically all there is.
π‘ Tip: Note that the github-pages
gem runs in safe
mode and only allows a defined set of plugins. To use this gem in GitHub Pages, you need to build your site locally or use a CI (e.g. Github Workflow) and deploy to your gh-pages
branch. Click here for more information.
In case you wantΒ to prevent loading some images/iframes lazily, add loading="eager"
to their tags. This might be useful to prevent flickering of images during navigation (e.g. the site's logo).
See the following examples to prevent lazy loading.
![an example](/image.jpg){:loading='eager'}
This example assumes you're using Kramdown (Jekyll is using it by default).
<img src="/image.jpg" alt="an example" loading="eager" />
git checkout -b feat/my-new-feature
)git commit -m 'Add cool feature'
)rake
Thanks to @keithmifsud's
jekyll-target-blank
whereon this Jekyll plugin largely bases.