@unpic/webc
v0.0.44
Published
WebC component for responsive, high-performance images.
Downloads
88
Readme
@unpic/webc
WebC component for responsive, high-performance images. Perfect for Eleventy.
Generates a responsive <img>
tag that follows best practices, with the correct
srcset, sizes and styles. Detects image URLs from most image CDNs and CMSs and
can resize images with no build step.
Features
- Just an
<img>
tag! No extra elements, no runtime JavaScript. Easy to style. - Automatically generates correct srcset and sizes attributes for responsive images
- Handles responsive resizing of images, preserving aspect ratio
- Uses native lazy loading and aync decoding for offscreen images
- Handles different image layouts: fixed, constrained and full width
- Uses eager loading and high priority fetching for important images
- Delivers modern image formats, including WebP and AVIF if supported by your browser
- No build step or server-side rendering required: uses your existing image CDN or CMS, with no additional configuration
- Uses unpic to support most image CDNs, including Cloudinary, Imgix, and Shopify
- Can generate a low-res background image for a blurred placeholder effect
Installation and usage
npm install @unpic/webc
The requires @11ty/webc
version 0.9.0 or later, because it uses the new
webc.attributes
feature.
If you are using this with Eleventy, there are a number of ways of defining WebC
components. In the example we're using webc:import
, but
check out the docs
for other options that handle imports automatically. You can then use the
component in your templates:
<unpic-img
webc:import="npm:@unpic/webc"
src="https://cdn.shopify.com/static/sample-images/bath_grande_crop_center.jpeg"
layout="constrained"
width="{800}"
height="{600}"
alt="A lovely bath"
></unpic-img>
For the supported props, see the docs.