node package manager
Loosely couple your services. Use Orgs to version and reuse your code. Create a free org »

css-url-rewriter

css-url-rewriter Build Status

NPM

Simple function that looks for url(...) definitions in a string of CSS and runs them through your own rewriter function.

Getting Started

Install the module with: npm install css-url-rewriter

var rewriteCSSURLs = require('css-url-rewriter');
 
// example - add a query string to all URLs 
var newCSS = rewriteCSSURLs(someCSS, function (url) {
  return url + '?12345';
});

It will process all URLs it encounters by default, even data: URIs, so you need to check for those manually if you want to handle them differently. The only exception is URLs in 'excluded properties' (see settings).

Settings

You can optionally pass in a settings object as a second argument:

var newCSS = rewriteCSSURLs(someCSS, settings, function (url) {
  return url + '?12345';
});

Currently there is only one configurable setting, excludedProperties, which is an array of properties that you want to skip. This setting defaults to ['behavior', '*behavior'] (because you usually don't want to mess with URLs in this proprietary MSIE property, because it has weird relativity rules).

License

Copyright (c) 2014 Callum Locke. Licensed under the MIT license.