Skip to content

kaiqigong/gulp-cdnify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gulp cdnify

The gulp version of grunt-cdnify

install

npm install gulp-cdnify --save-dev

Usage

gulp.task('cdnify', function () {

  var cdnify = require('gulp-cdnify');

  return gulp.src([
    'dist/**/*.{css,html}'
  ])
    .pipe(cdnify({
      base: 'http://pathto/your/cdn/'
    }))
    .pipe(gulp.dest('dist/'))
});

For those who want to rewrite the url with their own specific rules.

pipe($.cdnify({
  rewriter: function(url, process) {
    if (/eot]ttf|woff|woff2/.test(url)) {
      return 'http://myfontcdn.com/' + url;
    } else if (/(png|jpg|gif)$/.test(url)) {
      return 'http://myimagecdn.com/' + url;
    } else {
      return process(url);
    }
  }
}));

If you want to read custom source (Eg. favicon)

pipe($.cdnify({
  html: {
    'link[rel="shortcut icon"]': 'href',
    'link[rel="apple-touch-icon-precomposed"]': 'href'
  }
}));

Default sources:

sources = {
  'img[data-src]': 'data-src',
  'img[src]': 'src',
  'link[rel="apple-touch-icon"]': 'href',
  'link[rel="icon"]': 'href',
  'link[rel="shortcut icon"]': 'href',
  'link[rel="stylesheet"]': 'href',
  'script[src]': 'src',
  'source[src]': 'src',
  'video[poster]': 'poster'
}

About

A gulp plugin that converts local URLs to CDN ones.

Resources

Stars

Watchers

Forks

Packages

No packages published