lazysizes - the restful responsive image service extension/plugin

# lazySizes - RIaS plugin

The Responsive Image as Service plugin enables lazySizes to generate the best suitable image source based on an URL pattern. It works with pre-build images (i.e. grunt-responsive-images) as also with any third party or self hosted REST like image API / image on demand service.

For a short but full API description go to the readme.md.

### Basic RIaS implementation

Include the ls.rias plugin right after your lazysizes script, add the `lazyload` class as usual and the `data-sizes="auto"` attribute.

Inside of your `data-src` value include the `{width}` placeholder

    <script src="../lazysizes.js"></script>
    <script src="../plugins/rias/ls.rias.js"></script>

    <img
    	src="http://placehold.it/100"
    	data-src="http://placehold.it/{width}"
    	data-sizes="auto"
    	class="lazyload"
    	alt="" />

### Aspect ratio

In addition, you can set the ascpect ratio of the image from CSS. You only need to set the custom CSS variable `--ls-aspectratio` on the `img` and add a `{height}` placeholder

    <style>
    		img.rectangle {
    			--ls-aspectratio: 2;
    		}
    <style/>

    <img
    	src="http://placehold.it/200x100"
    	data-src="http://placehold.it/{width}x{height}"
    	data-sizes="auto"
    	class="lazyload rectangle"
    	alt="" />

Note that you can also set the aspect ratio via a `data-aspectratio` value on the `img` tag.

### RIaS and Art direction using the `picture` element

A responsive image service can be also combined with the art direction approach using the HTML5 `picture` element:

    <picture>
    <!--[if IE 9]><audio><![endif]-->
    <source
    		data-src="http://placehold.it/{width}/1111ee/fff"
    		media="(max-width: 500px)" />
    	<source
    			data-src="http://placehold.it/{width}/e8117f/fff"
    			media="(max-width: 1090px)" />
    	<source
    			data-src="http://placehold.it/{width}/7D26CD/fff"
    			media="(min-width: 1224px)" />

    <!--[if IE 9]></audio><![endif]-->
    <img
    		src="http://placehold.it/100"
    		data-src="http://placehold.it/{width}"
    		data-sizes="auto"
    		class="lazyload"
    		alt="" />
    </picture>

### `optimumx`

All options can be controlled globally through the `lazySizesConfig.rias` object or by using `data-*` attributes.

The rias extension can also be combined with the `optimumx` extension. The optimumx feature helps you to constrain the maximum pixel density for an image.

    <img
    	data-src="image?width={width}&amp;quality={quality}"
    	data-quality="75"
    	data-optimumx="1.5"
    	class="lazyload"
    	alt="" />

### RIaS and Art direction using the `picture` element

A responsive image service can be also combined with the art direction approach using the HTML5 `picture` element.

In this case, we simply use the cropping service