| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | 
							- const markdownIt = require('markdown-it')
 
- exports.name = 'markdown-it'
 
- exports.outputFormat = 'html'
 
- exports.inputFormats = ['markdown-it', 'markdown', 'md']
 
- exports.render = function (str, options) {
 
-   options = Object.assign({}, options || {})
 
-   // Copy render rules from options, and remove them from options, since
 
-   // they're invalid.
 
-   const renderRules = Object.assign({}, options.renderRules || {})
 
-   delete options.renderRules
 
-   const md = markdownIt(options)
 
-   // Enable render rules.
 
-   Object.assign(md.renderer.rules, renderRules);
 
-   // Parse the plugins.
 
-   (options.plugins || []).forEach(plugin => {
 
-     if (!Array.isArray(plugin)) {
 
-       plugin = [plugin]
 
-     }
 
-     if (typeof plugin[0] === 'string') {
 
-       plugin[0] = require(plugin[0])
 
-     }
 
-     md.use(...plugin)
 
-   });
 
-   // Parse enable/disable rules.
 
-   (options.enable || []).forEach(rule => {
 
-     md.enable(...Array.isArray(rule) ? rule : [rule])
 
-   });
 
-   (options.disable || []).forEach(rule => {
 
-     md.disable(...Array.isArray(rule) ? rule : [rule])
 
-   })
 
-   // Render the markdown.
 
-   if (options.inline) {
 
-     return md.renderInline(str)
 
-   }
 
-   return md.render(str)
 
- }
 
 
  |