var Handlebars = require('handlebars'); var _ = require('underscore'); var less = require('less'); module.exports = function (config) { var sourceHead = '\n' + '{{#if debug}}' + '\n' + '\n' + '{{else}}' + '\n' + '{{/if}}'; var sourceBody = '\n' + '\n' + '\n' + '\n' + '\n'; var templateHead = Handlebars.compile(sourceHead); var templateBody = Handlebars.compile(sourceBody); var getPreviewHTML = function (options, content, callback) { var html = replaceMarkers(options, content, templateHead(options), templateBody(options)); callback(null, html); }; var replaceMarkers = function (options, html, styleMarkerReplacement, jsMarkerReplacement) { function replace(marker, replacement) { var regExp = new RegExp(''); if (html.match(regExp)) { html = html.replace(regExp, replacement); } else { html = html.replace('', '\n'); } } replace(options.collection + '_' + options.name + '_' + '_marker', styleMarkerReplacement); replace(options.collection + '_' + options.name + '_' + '_marker', jsMarkerReplacement); return html; }; return { getPreviewHTML: getPreviewHTML, _replaceMarkers: replaceMarkers }; };