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