2015-07-23 08:28:22 -07:00
|
|
|
var datauri = require('datauri');
|
|
|
|
|
var isLocalPath = require('is-local-path');
|
|
|
|
|
var path = require('path');
|
2015-07-27 13:15:45 -07:00
|
|
|
var postcss = require('postcss');
|
|
|
|
|
var url = require('postcss-url');
|
2015-07-23 08:28:22 -07:00
|
|
|
|
2015-07-24 15:51:46 -07:00
|
|
|
var inline = function (css, filename) {
|
|
|
|
|
var files = [];
|
|
|
|
|
var basePath = path.dirname(filename);
|
2015-07-27 13:15:45 -07:00
|
|
|
var result = postcss()
|
|
|
|
|
.use(url({
|
|
|
|
|
url: function (url) {
|
|
|
|
|
if (isLocalPath(url)) {
|
|
|
|
|
url = path.resolve(basePath, url);
|
|
|
|
|
files.push(url);
|
|
|
|
|
url = datauri(url);
|
|
|
|
|
}
|
|
|
|
|
return url;
|
2015-07-23 08:28:22 -07:00
|
|
|
}
|
|
|
|
|
}))
|
2015-07-27 13:15:45 -07:00
|
|
|
.process(css);
|
2015-07-24 15:51:46 -07:00
|
|
|
return {
|
2015-07-27 13:15:45 -07:00
|
|
|
css: result.css,
|
2015-07-24 15:51:46 -07:00
|
|
|
files: files
|
|
|
|
|
};
|
2015-07-23 08:28:22 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.exports = inline;
|