marked/docs/USING_ADVANCED.md
Josh Bruce 8804676f98 Disable heading IDs (#1190)
* Add option to disable heading ids
* Alphabetize and add options to docs
2018-04-03 15:10:26 -04:00

4.8 KiB

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. 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.