tasks = exports.map(function (settings) {
   return gulp.src(settings.glob)
     .pipe(sharp(
       extend(defaults, {
         resize: [settings.size],
         quality: settings.quality
       })
     ))
     .pipe(rename(function (path) {
       path.basename = (path.basename.replace('s', '') + settings.suffix)
     }))
     .pipe(gulp.dest(destinationFolder))
 })
示例#2
0
gulp.task('favicons', function(config) {
  config = JSON.parse(config);
  return es.merge([
    gulp.src('logo.svg', {read: false})
      .pipe(newer(config.staticContent + '/icons'))
      .pipe(gulpSharp({
        resize: [57],
        max: true,
        output: 'png',
        compressionLevel: 9
      }))
      .pipe(rename('apple-touch-icon-57x57.png'))
      .pipe(gulp.dest(config.staticContent + '/icons')),
    gulp.src('logo.svg', {read: false})
      .pipe(newer(config.staticContent + '/icons'))
      .pipe(gulpSharp({
        resize: [114],
        max: true,
        output: 'png',
        compressionLevel: 9
      }))
      .pipe(rename('apple-touch-icon-114x114.png'))
      .pipe(gulp.dest(config.staticContent + '/icons')),
    gulp.src('logo.svg', {read: false})
      .pipe(newer(config.staticContent + '/icons'))
      .pipe(gulpSharp({
        resize: [72],
        max: true,
        output: 'png',
        compressionLevel: 9
      }))
      .pipe(rename('apple-touch-icon-72x72.png'))
      .pipe(gulp.dest(config.staticContent + '/icons')),
    gulp.src('logo.svg', {read: false})
      .pipe(newer(config.staticContent + '/icons'))
      .pipe(gulpSharp({
        resize: [144],
        max: true,
        output: 'png',
        compressionLevel: 9
      }))
      .pipe(rename('apple-touch-icon-144x144.png'))
      .pipe(gulp.dest(config.staticContent + '/icons')),
    gulp.src('logo.svg', {read: false})
      .pipe(newer(config.staticContent + '/icons'))
      .pipe(gulpSharp({
        resize: [60],
        max: true,
        output: 'png',
        compressionLevel: 9
      }))
      .pipe(rename('apple-touch-icon-60x60.png'))
      .pipe(gulp.dest(config.staticContent + '/icons')),
    gulp.src('logo.svg', {read: false})
      .pipe(newer(config.staticContent + '/icons'))
      .pipe(gulpSharp({
        resize: [120],
        max: true,
        output: 'png',
        compressionLevel: 9
      }))
      .pipe(rename('apple-touch-icon-120x120.png'))
      .pipe(gulp.dest(config.staticContent + '/icons')),
    gulp.src('logo.svg', {read: false})
      .pipe(newer(config.staticContent + '/icons'))
      .pipe(gulpSharp({
        resize: [76],
        max: true,
        output: 'png',
        compressionLevel: 9
      }))
      .pipe(rename('apple-touch-icon-76x76.png'))
      .pipe(gulp.dest(config.staticContent + '/icons')),
    gulp.src('logo.svg', {read: false})
      .pipe(newer(config.staticContent + '/icons'))
      .pipe(gulpSharp({
        resize: [152],
        max: true,
        output: 'png',
        compressionLevel: 9
      }))
      .pipe(rename('apple-touch-icon-152x152.png'))
      .pipe(gulp.dest(config.staticContent + '/icons')),
    gulp.src('logo.svg', {read: false})
      .pipe(newer(config.staticContent + '/icons'))
      .pipe(gulpSharp({
        resize: [196],
        max: true,
        output: 'png',
        compressionLevel: 9
      }))
      .pipe(rename('favicon-196x196.png'))
      .pipe(gulp.dest(config.staticContent + '/icons')),
    gulp.src('logo.svg', {read: false})
      .pipe(newer(config.staticContent + '/icons'))
      .pipe(gulpSharp({
        resize: [160],
        max: true,
        output: 'png',
        compressionLevel: 9
      }))
      .pipe(rename('favicon-160x160.png'))
      .pipe(gulp.dest(config.staticContent + '/icons')),
    gulp.src('logo.svg', {read: false})
      .pipe(newer(config.staticContent + '/icons'))
      .pipe(gulpSharp({
        resize: [96],
        max: true,
        output: 'png',
        compressionLevel: 9
      }))
      .pipe(rename('favicon-96x96.png'))
      .pipe(gulp.dest(config.staticContent + '/icons')),
    gulp.src('logo.svg', {read: false})
      .pipe(newer(config.staticContent + '/icons'))
      .pipe(gulpSharp({
        resize: [16],
        max: true,
        output: 'png',
        compressionLevel: 9
      }))
      .pipe(rename('favicon-16x16.png'))
      .pipe(gulp.dest(config.staticContent + '/icons')),
    gulp.src('logo.svg', {read: false})
      .pipe(newer(config.staticContent + '/icons'))
      .pipe(gulpSharp({
        resize: [32],
        max: true,
        output: 'png',
        compressionLevel: 9
      }))
      .pipe(rename('favicon-32x32.png'))
      .pipe(gulp.dest(config.staticContent + '/icons'))
  ]);
});