marked-extras

Extras for marked.js. Utils, language definitions, templates for custom headings and sensible defaults.

marked-extras

Extras, utils, language definitions and defaults for marked.js

If you find a bug or have a feature request, please create an issue.

Use npm to install the package

npm i marked-extras --save
var marked = require('marked');
var extras = require('marked-extras');
 
// Example node module 
module.exports = function (stroptions) {
  options = options || {};
 
  // Initialize marked extras 
  extras.init(options);
 
  // Set marked.js options 
  marked.setOptions(extras.markedDefaults);
 
  // do stuff... 
  // ... 
 
  // Convert markdown to HTML 
  return marked(str);
};

Also be sure to add the highlight.js scripts to your HTML:

<script src="js/highlight.js"></script>
<!-- or, a customized version -->
<script src="js/highlight.pack.js"></script>
 
<script>hljs.initHighlightingOnLoad();</script> 

The following example shows the actual defaults used in this lib, and how they can be customized:

var opts = {
  renderer: renderer,
  gfm: true,
  tables: true,
  breaks: false,
  pedantic: false,
  sanitize: false,
  smartLists: true,
  smartypants: false,
 
  // highlight.js options 
  prefix: 'lang-',
  tabReplace: ' ',
  highlightfunction (codelang) {
    console.log(languages[lang]);
    try {
      if (languages[lang]) {
        lang = languages[lang];
      } else {
        return code;
      }
      return hljs.highlight(lang, code).value;
    } catch(e) {
      return hljs.highlightAuto(code).value;
    }
  }
};
 
var markedOpts = _.extend(extras.markedDefaults, opts);
 
// Define marked.js options 
marked.setOptions(markedOpts);

In lieu of a formal styleguide, take care to maintain the existing coding style.

Jon Schlinkert

Brian Woodward

Copyright (c) 2014 Jon Schlinkert, Brian Woodward, contributors. Released under the MIT license