Simple function that looks for url(...)
definitions in a string of CSS and runs them through your own rewriter function.
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).
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).
Copyright (c) 2014 Callum Locke. Licensed under the MIT license.