mirror of
https://github.com/panosoft/inline-html
synced 2026-01-13 13:04:30 -08:00
Added support for verbose option that returns filenames of each inlined file alongside inlined html.
This commit is contained in:
26
lib/index.js
26
lib/index.js
@@ -2,28 +2,42 @@ var _ = require('lodash');
|
||||
var co = require('co');
|
||||
var cheerio = require('cheerio');
|
||||
var fs = require('mz/fs');
|
||||
var inlineCss = require('./inline-css');
|
||||
var inlineStyle = require('./inline-style');
|
||||
var inlineImg = require('./inline-img');
|
||||
var inlineLinkLess = require('./inline-link-less');
|
||||
|
||||
var inline = co.wrap(function * (filename, options) {
|
||||
options = _.defaults(options || {}, {
|
||||
less: {}
|
||||
less: {},
|
||||
verbose: false
|
||||
});
|
||||
var html = yield fs.readFile(filename, 'utf8');
|
||||
var files = [filename];
|
||||
|
||||
// Inline links
|
||||
html = yield inlineLinkLess(html, filename, options.less);
|
||||
var lessResult = yield inlineLinkLess(html, filename, options.less);
|
||||
html = lessResult.html;
|
||||
files.push(lessResult.files);
|
||||
|
||||
// TODO inline links: css
|
||||
|
||||
// TODO inline scripts
|
||||
// browserify js? => scriptify
|
||||
|
||||
// Inline paths -> datauris
|
||||
html = inlineCss(html, filename);
|
||||
html = inlineImg(html, filename);
|
||||
var styleResult = inlineStyle(html, filename); // Inline styles
|
||||
html = styleResult.html;
|
||||
files.push(styleResult.files);
|
||||
|
||||
return html;
|
||||
var imgResult = inlineImg(html, filename); // Inline images
|
||||
html = imgResult.html;
|
||||
files.push(imgResult.files);
|
||||
|
||||
var result = {
|
||||
html: html,
|
||||
files: _.unique(_.flatten(files, true))
|
||||
};
|
||||
return (options.verbose ? result : result.html);
|
||||
});
|
||||
|
||||
module.exports = inline;
|
||||
|
||||
Reference in New Issue
Block a user