packages/docpack-markdown-extractor/lib/extractor.js (18 lines of code) (raw):

var Promise = require('bluebird'); var parseFrontMatter = require('front-matter'); var merge = require('object-assign'); var Remarkable = require('remarkable'); /** * @param {Source} source * @param {Object} [options] Remarkable options * @returns {Promise<Source>} */ module.exports = function extract(source, options) { var content = source.content; var isEmpty = content.trim() == ''; if (isEmpty) { return Promise.resolve(source); } var parsed = parseFrontMatter(content); if (parsed.frontmatter) { merge(source.attrs, parsed.attributes); } var md = new Remarkable(options); source.rendered = md.render(parsed.body); return Promise.resolve(source); };