
Product
Unify Your Security Stack with Socket Basics
A single platform for static analysis, secrets detection, container scanning, and CVE checks—built on trusted open source tools, ready to run out of the box.
@binarymuse/cmark
Advanced tools
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.
npm install @binarymuse/cmark
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 rendered
html
- the resulting HTMLOptions
You can control the behavior of node-cmark by passing options to the rendering functions. The available options are:
sourepos
- if true
, adds a data-sourcepos
attribute to all block elements that TODO??safe
- if true
, suppresses raw HTML and unsafe links (javascript:
, vbscript:
, file:
, and data:
except for image/png
, image/gif
, image/jpeg
, or image/webp
mime types). Raw HTML is replaced by a placeholder HTML comment. Unsafe links are replaced with empty strings.nobreaks
- if true
, renders softbreak elements as spaceshardbreaks
- if true
, renders softbreak elements as hard line breaksnormalize
- if true
, adjacent text nodes are consolidatedvalidateUtf8
- if true
, replaces illegal UTF-8 sequences with U+FFFD
smart
- if true
, 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 linksYou 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.
FAQs
Node bindings to the cmark Markdown parser
We found that @binarymuse/cmark demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
A single platform for static analysis, secrets detection, container scanning, and CVE checks—built on trusted open source tools, ready to run out of the box.
Product
Socket is launching experimental protection for the Hugging Face ecosystem, scanning for malware and malicious payload injections inside model files to prevent silent AI supply chain attacks.
Research
/Security News
The Socket Threat Research Team uncovered a coordinated campaign that floods the Chrome Web Store with 131 rebranded clones of a WhatsApp Web automation extension to spam Brazilian users.