1
0
mirror of https://github.com/twirl/The-API-Book.git synced 2025-11-29 22:07:39 +02:00
Files
The-API-Book/src/lib/css-process.js
Sergey Konstantinov 3dc0a64e59 covers added
2021-01-04 02:33:33 +03:00

22 lines
753 B
JavaScript

const path = require('path');
const fs = require('fs');
const imageDataUri = require('image-data-uri');
const reworkCss = require('css');
module.exports = (css) => {
const ast = reworkCss.parse(css);
(ast.stylesheet.rules || []).forEach((rule) => {
(rule.declarations || []).forEach((declaration) => {
if (declaration.property == 'background-image') {
const file = declaration.value.match(/url\((.+)\)/)[1];
const data = fs.readFileSync(path.resolve(__dirname, '../..', file));
const uri = imageDataUri.encode(data, 'image/png');
declaration.value = `url(${uri})`;
}
});
})
return reworkCss.stringify(ast);
}