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 } ],
[ util.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
Type: Function
, Array
Signature: transformFn(result, ...args)
Function to transform url,
through modifying result.url
If Array
, args
will be the elements from the second.
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.