Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

@binarymuse/cmark

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@binarymuse/cmark

Node bindings to the cmark Markdown parser

latest
npmnpm
Version
0.0.6
Version published
Maintainers
1
Created
Source

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/cmark

Usage

html = renderHtmlSync(markdown[, options])

  • markdown - a string containing Markdown to render to HTML
  • options - a hash of options (see Options, below)

renderHtml(markdown[, options], callback)

  • markdown - a string containing Markdown to render to HTML
  • options - 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 HTML

Options

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 spaces
  • hardbreaks - if true, renders softbreak elements as hard line breaks
  • normalize - if true, adjacent text nodes are consolidated
  • validateUtf8 - 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 dashes
  • extensions - 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.

Keywords

markdown

FAQs

Package last updated on 01 Feb 2019

Did you know?

Socket

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.

Install

Related posts