Skip to content

prefix urls of static assets in an flexible way

License

Notifications You must be signed in to change notification settings

attiks/gulp-url-prefixer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gulp-url-prefixer

js-standard-style Build Status npm version Dependency Status Coverage Status

prefix urls of static assets in a flexible way with Gulp-Url-Prefixer

Issues with the output should be reported on the GulpUrlPrefixer issue tracker.

Install

$ npm install --save-dev gulp-url-prefixer

Usage

const gulp = require('gulp');
const urlPrefixer = require('gulp-url-prefixer');

gulp.task('default', () =>
  gulp.src('src/**/*.html')
    .pipe(urlPrefixer.html({
      prefix: 'http://yourcdn.com/myapp/'
    }))
    .pipe(gulp.dest('dist'))
);

options

Type: object

Set options described below from its properties.

options.tags

Type: array Default:

['script', 'link', 'a', 'img', 'embed']

Set matched tags

options.attrs

Type: array Default:

['href', 'src']

Set matched attributes

options.prefix

Type: string\function Default: http://localhost/

used to prefix the local paths of assets. if it's a function, the return value will be used.

const path = require('path')

const pathToCdn = (pathname) =>
  const extname = path.extname(pathname)
  let cdn = null
  switch (extname) {
    case '.js':
    cdn = 'http://j1.mycdn.com/mywebsite/'
    break;
    case '.css':
    cdn = 'http://j2.mycdn.com/mywebsite/'
    break;
  }

gulp.task('default', =>
  gulp.src('src/**/*.html')
    .pipe(urlPrefixer.html({prefix: pathToCdn}))
    .pipe(gulp.dest('dist'))
);

options.placeholderFuncName

Type: string Default: __uri

set placeholder function name.

before

location.href = __uri('/mywebsite/service/index.html')

after (assume you config.prefix option is http://youwebsite.com/)

location.href = 'http://youwebsite.com/mywebsite/service/index.html'

API

html

prefix local urls of html like files

gulp.src('src/**/*.{html,tmpl}')
  .pipe(urlPrefixer.html({
    prefix: 'http://yourcdn.com/myapp/',
    tags: ['script', 'link', 'img']
  }))
  .pipe(gulp.dest('dist'))

css

prefix local urls of css like files

gulp.src('src/**/*.{css,less}')
  .pipe(urlPrefixer.css({
    prefix: 'http://yourcdn.com/myapp/'
  }))
  .pipe(gulp.dest('dist'))

js

prefix local urls of js like files

gulp.src('src/**/*.{js,html}')
  .pipe(urlPrefixer.js({
    prefix: 'http://yourcdn.com/myapp/',
    placeholderFuncName: '__prefix'
  }))
  .pipe(gulp.dest('dist'))

License

MIT © Louie Lang

About

prefix urls of static assets in an flexible way

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 78.8%
  • HTML 16.9%
  • CSS 4.3%