# gulp-responsive-config example [`gulp-responsive-config`](https://www.npmjs.com/package/gulp-responsive-config) helps to generate `gulp-responsive` configuration from existiong HTML and CSS files. ## HTML layout ```html ``` ## CSS markup ```css .image { /* fallback */ background-image: url('background-image-x200.png'); /* image-set */ background-image: image-set( 'background-image-x200.png' 1x, 'background-image-x200@2x.png' 2x, 'background-image-x200@3x.png' 3x ); } ``` ## gulp-responsive & gulp-responsive-config ```js var gulp = require('gulp') var $ = require('gulp-load-plugins')() gulp.task('images', ['css', 'html'], function () { // Make configuration from existing HTML and CSS files var config = $.responsiveConfig(['public/**/*.css', 'public/**/*.html']) return ( gulp .src('images/*.{png,jpg}') // Use configuration .pipe( $.responsive(config, { errorOnEnlargement: false, quality: 80, withMetadata: false, compressionLevel: 7, max: true }) ) .pipe(gulp.dest('public/images')) ) }) ``` ## Supported filename format for dimensions detect - `-`: `image-100.png` - `-x`: `image-100x.png` - `-x`: `image-100x200.png` - `-x`: `image-x200.png` - `-x@x`: `image-100x200@2x.png` - `@x`: `image@2x.png` ## More info - [gulp-responsive-config](https://www.npmjs.com/package/gulp-responsive-config) - [parse-image-dimensions](https://www.npmjs.com/package/parse-image-dimensions) - [image-set specification](https://drafts.csswg.org/css-images-3/#image-set-notation) - [Responsive Images Community Group](https://responsiveimages.org/) - [Browsers support for `image-set` method form caniuse.com](http://caniuse.com/css-image-set) - [Browsers support for `` element form caniuse.com](http://caniuse.com/picture) - [Browsers support for `srcset` attribute form caniuse.com](http://caniuse.com/srcset) - [gulp-responsive](https://www.npmjs.com/package/gulp-responsive)