gulp-remarkable
Version:
Gulp plugin for Remarkable - Markdown parser done right. Fast and easy to extend. Supports CommonMark.
44 lines (34 loc) • 1 kB
JavaScript
/**
* gulp-remarkable <https://github.com/johnotander/gulp-remarkable>
*
* Copyright (c) 2014 John Otander, contributors.
* Released under the MIT license.
*/
;
/**
* Module dependencies.
*/
var hljs = require('highlight.js');
var Remarkable = require('remarkable');
module.exports = function gulpRemarkable(options) {
options = options || {};
options.disable = options.disable || [];
options.remarkableOptions = options.remarkableOptions || {};
options.remarkableOptions.highlight = options.remarkableOptions.highlight || highlight;
var md = new Remarkable(options.preset || 'full', options.remarkableOptions);
if (options.disable && options.disable.length) {
md.core.ruler.disable(options.disable);
}
return md;
};
function highlight(str, lang) {
if (lang && hljs.getLanguage(lang)) {
try {
return hljs.highlight(lang, str).value;
} catch (err) {}
}
try {
return hljs.highlightAuto(str).value;
} catch (err) {}
return '';
}