0.0.6 • Published 7 years ago
@binarymuse/cmark v0.0.6
node-cmark
node-cmark is a Node.js wrapper around GitHub's fork of cmark, the reference implementation of CommonMark in C by John MacFarlane. You can find GitHub's fork at https://github.com/github/cmark.
Installation
npm install @binarymuse/cmarkUsage
html = renderHtmlSync(markdown[, options])
markdown- a string containing Markdown to render to HTMLoptions- a hash of options (see Options, below)
renderHtml(markdown[, options], callback)
markdown- a string containing Markdown to render to HTMLoptions- a hash of options (see Options, below)callback- a function to call with the resulting HTML once the Markdown has been renderedhtml- the resulting HTML
Options
You can control the behavior of node-cmark by passing options to the rendering functions. The available options are:
sourepos- iftrue, adds adata-sourceposattribute to all block elements that TODO??safe- iftrue, suppresses raw HTML and unsafe links (javascript:,vbscript:,file:, anddata:except forimage/png,image/gif,image/jpeg, orimage/webpmime types). Raw HTML is replaced by a placeholder HTML comment. Unsafe links are replaced with empty strings.nobreaks- iftrue, renders softbreak elements as spaceshardbreaks- iftrue, renders softbreak elements as hard line breaksnormalize- iftrue, adjacent text nodes are consolidatedvalidateUtf8- iftrue, replaces illegal UTF-8 sequences withU+FFFDsmart- iftrue, replaces straight quotes with curly ones, turns---into em dashes, and--into en dashesextensions- an array of extensions to enable. Valid extensions are:"table"- render tables"strikethrough"- strikethrough"tagfilter"- whitelist something"autolink"- automatically turn URLs into links
Rendering to HTML
You can turn a string containing Markdown into HTML either synchronously:
const cmark = require('node-cmark')
const markdown = '# Hello World'
const options = {}
const html = cmark.renderHtmlSync(markdown, options)
console.log(html)or asynchronously
const cmark = require('node-cmark')
const markdown = '# Hello World'
const options = {}
cmark.renderHtml(markdown, options, (html) => {
console.log(html)
})Note that options may be omitted in either invocation.