Skip to content

Latest commit

 

History

History
78 lines (65 loc) · 4.85 KB

USING_ADVANCED.md

File metadata and controls

78 lines (65 loc) · 4.85 KB

The marked function

marked(markdownString [,options] [,callback])
Argument Type Notes
markdownString string String of markdown source to be compiled.
options object Hash of options. Can also use marked.setOptions.
callback function Called when markdownString has been parsed. Can be used as second argument if no options present.

Alternative using reference

// Create reference instance
var myMarked = require('marked');

// Set options
// `highlight` example uses `highlight.js`
myMarked.setOptions({
  renderer: new myMarked.Renderer(),
  highlight: function(code) {
    return require('highlight.js').highlightAuto(code).value;
  },
  pedantic: false,
  gfm: true,
  tables: true,
  breaks: false,
  sanitize: false,
  smartLists: true,
  smartypants: false,
  xhtml: false
});

// Compile
console.log(myMarked('I am using __markdown__.'));

Options

Member Type Notes
baseUrl ?? Default is null
breaks boolean Use GFM hard and soft line breaks. Requires gfm be true. Default: false
gfm boolean Use approved GitHub Flavored Markdown (GFM) specification.
headerIds boolean Whether to add an id attribute to headers. Default: true
headerPrefix string A short string to add as a prefix to the id attributes added to headers by default. Default: empty string
highlight function A function to highlight code blocks. See also: Asynchronous highlighting.
langPrefix ?? Default is lang-
mangle boolean Default is true
pedantic boolean Conform to obscure parts of markdown.pl as much as possible. Don't fix original markdown bugs or behavior. Turns off and overrides gfm. Default: false
renderer object An object containing functions to render tokens to HTML. See extensibility for more details. Default: new Renderer()
sanitize boolean Ignore HTML passed into markdownString (sanitize the input). Default: false
sanitizer ?? Default is null
silent boolean Default is false
smartlists boolean Use smarter list behavior than those found in markdown.pl. Default: true
smartypants boolean Use "smart" typographic punctuation for things like quotes and dashes.
tables boolean Use GFM Tables extension. Requires gfm be true.
xhtml boolean Self-close the tags for void elements (<br/>, <img/>, etc.) with a "/" as required by XHTML. Default: false

Asynchronous highlighting

Unlike highlight.js the pygmentize.js library uses asynchronous highlighting. This example demonstrates that marked is agnostic when it comes to the highlighter you use.

myMarked.setOptions({
  highlight: function(code, lang, callback) {
    require('pygmentize-bundled') ({ lang: lang, format: 'html' }, code, function (err, result) {
      callback(err, result.toString());
    });
  }
});

console.log(myMarked(markdownString));

In both examples, code is a string representing the section of code to pass to the highlighter. In this example, lang is a string informing the highlighter what programming lnaguage to use for the code and callback is the function the asynchronous highlighter will call once complete.