Comments (7)
I had one thought pattern to fix this currently, that being in the processImage
function to do a check if svg continue, otherwise do nothing.
const processImage = async imgElem => {
if (imgPath.substr(imgPath.length - 3) !== 'svg') {
// setAtrributes
// try await getImageData
// catch
}
};
from eleventy-plugin-lazyimages.
I’m encountering this issue, too, even with the fix in github. I think NPM isn’t giving me the latest version since there hasn’t been a version number bump.
from eleventy-plugin-lazyimages.
Good find! Looks like it's not just .svg files, but also .webp and any other format that isn't supported by JIMP.
I've created a PR inspired by your suggested fix - https://github.com/liamfiddler/eleventy-plugin-lazyimages/pull/10/files
Before I merge it I'd love to get your feedback; do you think the plugin should:
- Ignore unsupported image types - it will not set any attributes for unsupported images.
- Set all the attributes for the image except
width
,height
, &src
(the ones that depend on JIMP). This means images can still be handled by the lazysizes script, they just don't get the low-res placeholder image.
from eleventy-plugin-lazyimages.
I'd have the expectation for 2! Images should still get the lazysizes, just without the placeholder.
Secondly, do you know of https://github.com/lovell/sharp? From a really quick look it certainly handles webp
and they've tagged it with svg, so might handle those too?
from eleventy-plugin-lazyimages.
OK, I've updated the PR to work that way. It'll likely be merged into master tomorrow morning 👍
When I first created the plugin it was using Sharp, but I had problems with Sharp not installing correctly on certain machines. While debugging the installation issues I discovered JIMP. Although JIMP supports fewer file types, it handles the most common ones without requiring any external or native dependencies. JIMP became the quickest and easiest solution to getting the plugin released.
Now that it's released I'm open to exploring other options, and support for SVG + Webp are pretty compelling reasons to try Sharp again. I'll make a branch and test it out. Thanks!
from eleventy-plugin-lazyimages.
Fantastic, thanks for the quick PR work!
from eleventy-plugin-lazyimages.
This fix for this has been released in v1.1.0 🎉
from eleventy-plugin-lazyimages.
Related Issues (20)
- TemplateWriterWriteError - error after installing plugin HOT 4
- Using with plugin that renames final files? HOT 7
- Different lazyloader? HOT 6
- Img tags with width and height attributes. HOT 2
- For low quality placeholders, an option to write a new file instead of inlining base64 encoded string HOT 4
- lazy image for relative path HOT 5
- GIF handling doesn't seem to be working on the latest version HOT 1
- Error: Could not find MIME for Buffer <null> HOT 4
- Eleventy build issue with posts that have setted tags HOT 4
- png base 64 image are less compressed HOT 3
- Cache not loading HOT 2
- attribute only HOT 2
- noscript output HOT 2
- Trouble installing this plugin, seems to be issue with 'sharp' HOT 1
- Segfault on build HOT 3
- documentation on LQIP HOT 3
- This plugin for background image HOT 2
- Add Support To M1 Devices HOT 10
- Error when requiring plugin. HOT 2
- Disable lazy loading for certain images HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eleventy-plugin-lazyimages.