5.0.1 • Published 10 months ago

srcset v5.0.1

Weekly downloads
780,739
License
MIT
Repository
github
Last release
10 months ago

srcset

Parse and stringify the HTML <img> srcset attribute.

Can be useful if you're creating a build-tool.

Install

npm install srcset

Usage

How an image with srcset might look like:

<img
	alt="The Breakfast Combo"
	src="banner.jpg"
	srcset="banner-HD.jpg 2x, banner-phone.jpg 100w"
>

Then have some fun with it:

import {parseSrcset, stringifySrcset} from 'srcset';

const parsed = parseSrcset('banner-HD.jpg 2x, banner-phone.jpg 100w');
console.log(parsed);
/*
[
	{
		url: 'banner-HD.jpg',
		density: 2
	},
	{
		url: 'banner-phone.jpg',
		width: 100
	}
]
*/

parsed.push({
	url: 'banner-super-HD.jpg',
	density: 3
});

const stringified = stringifySrcset(parsed);
console.log(stringified);
/*
banner-HD.jpg 2x, banner-phone.jpg 100w, banner-super-HD.jpg 3x
*/

API

parseSrcset(string, options?)

Parse the HTML <img> srcset attribute.

Accepts a “srcset” string and returns an array of objects with the possible properties: url (always), width, height, and density.

string

Type: string

A “srcset” string.

options

Type: object

strict

Type: boolean\ Default: false

When enabled, an invalid “srcset” string will cause an error to be thrown. When disabled, a best effort will be made to parse the string, potentially resulting in invalid or nonsensical output.

stringifySrcset(SrcSetDefinitions, options?)

Stringify SrcSetDefinitions. Accepts an array of SrcSetDefinition objects and returns a “srcset” string.

srcsetDescriptors

Type: array

An array of SrcSetDefinition objects. Each object should have a url field and may have width, height or density fields. When the strict option is true, only width or density is accepted.

options

Type: object

strict

Type: boolean\ Default: false

Enable or disable validation of the SrcSetDefinition's. When true, invalid input will cause an error to be thrown. When false, a best effort will be made to stringify invalid input, likely resulting in invalid srcset value.

@applitools/snapshot-server-app@infinitebrahmanuniverse/nolb-sr@everything-registry/sub-chunk-2813@tevanoff/test-archiverwebsite-validatorsanitize-html-2sanitize-html-hackedsanitize-html-streamsanitize-html-xreseedsticky-scroll-catchchain_diggermetalsmith-fingerprint-patchlf-ui-kitlinkinatormggauharhtml-absolutelyimg-placeholder-srcimg-scraperpackage-example.jsonposthtml-base-urlpercollatepercollate-forkmypluginlolnetlify-plugin-lazy-load-imagessindresorhus.jssitescrape@atlaspack/transformer-html@alchemy-se/catalog@alexandravaldez/mdlinks@catalog/core@chromaui/test-archiver@cloudcannon/suite@abidibo/js-word-event@cloudcannon/dist@devorso/dcountdownvue-responsive-imgwebsite-scrap-enginewebsite-scraperwebsite-scraper-2website-scraper-fs@fwd/scraper@frontal/pages-plugin@frodzislaw/front3@mango-js/parcel-transformer-html@epubkit/generator@explodingcamera/website-scraper@meghoshpritam/linkinator@nordddb/catalog@prettier-x/formatter-2021-01@refactorpro/pixi-virtual-joystick@teamschemaadmin/sanitize-html@parcel/transformer-html@smarterlabs/polymorph@smarterlabs/site-downloader@sysce/stomp@sh-winter/vite-plugin-qiankun@docusaurus/plugin-content-blog@dkwasniewski/paczkaa16z-venture-listanalyze-image@webiny/aws-helpers@webiny/api-prerendering-service@types/srcset@use-pluto/satellite@tryghost/mg-assetscraper@tryghost/mg-substackcheck-pagescloudcannon-suitecloudcastsdowncna-scraperdwicao-website-scraperastro-htmlnanocatalog-docscatalog-guidecatalogcatalog_ds_docsexercitationemoptiofetch-instagram-photosfeed-mefrom-srcsetfront3generator-bootstrap-boilerplate-template
5.0.1

10 months ago

5.0.0

3 years ago

3.0.1

4 years ago

4.0.0

4 years ago

3.0.0

4 years ago

2.0.1

5 years ago

2.0.0

6 years ago

1.0.0

10 years ago

0.1.1

11 years ago

0.1.0

11 years ago