Transform url() in css.
var url = require('postcss-custom-url')
var util = url.util
var postcss = require('postcss')
var path = require('path')
var fixtures = path.resolve.bind(path, __dirname, 'fixtures')
postcss(url([
[ util.inline, { maxSize: 5 } ],
// equivalent with util.copy
[ 'copy', { assetOutFolder: fixtures('build', 'images') } ],
]))
.process(
'.a{ background-image: url(images/octocat_setup.png); }',
{ from: fixtures('a.css'), to: fixtures('build', 'css', 'a.css') }
)
.then(function (result) {
console.log(result.css)
// '.a{ background-image: url(../images/octocat_setup.png); }'
})Type: Array
Default: [ util.rebase ]
An array of transforms.
If an element is not a function,
it should be the name of a method exported by util:
'copy', 'inline', 'rebase'.
Type: Function, Array
Signature: transformFn(result, ...args)
Function to transform url,
through modifying result.url
If Array, the first element should be the transform function,
and elements after the first will be treated as its arguments args.
Type: Result
Type: String
The CSS source path
The CSS destination path
The asset source path
Type: Asset
Return a promise to get the size of the asset
Return a promise to get the contents of the asset
Return a promise to get the sha1 of the contents of the asset
Return a promise to get the base64 of the contents of the asset
Return a promise to get the data url of the asset
A group of transform methods.
Transform result.url according to result.to
Transform result.url to data-url.
Options:
Type: Number
Default: 10
Specify the maximum file size to inline (in kbytes)
Copy asset files to proper destinations and transform result.url.
Options:
Type: Boolean
Default: false
If true, assets are renamed by their sha1 hashes
Specify how to rename the asset.
It only works when useHash is false.
Type: String
Special patterns:
[name]: replaced with the basename of the asset, without the extension.[hash]: replaced with the hash
For example, you can specify [name].[hash] to keep the original asset name while using its hash.
Type: String, Function
Specify the destination where assets should be copied
If Function, it receives the asset file path and result.opts,
and should return the output folder.
Urls are transformed based on the destination.