Coder Social home page Coder Social logo

Comments (7)

nothingrandom avatar nothingrandom commented on June 1, 2024 1

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.

karlnippoldt avatar karlnippoldt commented on June 1, 2024 1

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.

liamfiddler avatar liamfiddler commented on June 1, 2024

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:

  1. Ignore unsupported image types - it will not set any attributes for unsupported images.
  2. 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.

nothingrandom avatar nothingrandom commented on June 1, 2024

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.

liamfiddler avatar liamfiddler commented on June 1, 2024

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.

nothingrandom avatar nothingrandom commented on June 1, 2024

Fantastic, thanks for the quick PR work!

from eleventy-plugin-lazyimages.

liamfiddler avatar liamfiddler commented on June 1, 2024

This fix for this has been released in v1.1.0 🎉

from eleventy-plugin-lazyimages.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.