UNPKG

775 BJavaScriptView Raw
1'use strict';
2
3var Promise = require('bluebird'),
4 extractCss = require('extract-css'),
5 inlineCss = require('./inline-css');
6
7module.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};