1 | const extractCss = require('extract-css');
|
2 | const inlineCss = require('./inline-css');
|
3 |
|
4 | module.exports = function inlineContent(src, options) {
|
5 | return new Promise((resolve, reject) => {
|
6 | let content;
|
7 |
|
8 | if (!options.url) {
|
9 | reject('options.url is required');
|
10 | }
|
11 |
|
12 | extractCss(src, options, (err, html, css) => {
|
13 | let extraCss;
|
14 |
|
15 | if (err) {
|
16 | return reject(err);
|
17 | }
|
18 |
|
19 | extraCss = `${css}\n${options.extraCss}`;
|
20 |
|
21 | try {
|
22 | content = inlineCss(html, extraCss, options);
|
23 | } catch (e) {
|
24 | return reject(e);
|
25 | }
|
26 |
|
27 | resolve(content);
|
28 | });
|
29 | });
|
30 |
|
31 | };
|