Socket
Socket
Sign inDemoInstall

common-markdown

Package Overview
Dependencies
0
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    common-markdown

A WebAssembly wrapper for pulldown-cmark, a (CommonMark) Markdown parser


Version published
Weekly downloads
91
increased by65.45%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

common-markdown

A WebAssembly wrapper for the fast pulldown-cmark parser for the standard version of Markdown, CommonMark.

It is built with wasm-pack, to provide a wasm version that can be ran in JavaScript browser environments to parse Markdown into HTML in a fast and easy way.

Usage

NOTE: When parsing HTML for use in a browser, it is neccecary to also filter the content from any malicious code injection. A good package to use for this is DOMPurify.

import DOMPurify from 'https://unpkg.com/dompurify@3.0.1/dist/purify.es.js';

// Dynamic import is needed in order for the module to complete its memory initialization before usage
const { parse } = await import('https://unpkg.com/common-markdown@0.1.0/common-markdown.js');

const markdown = `
# CommonMark

A strongly defined, highly compatible specification of Markdown

## What is Markdown?

It’s a plain text format for writing structured documents, based on formatting conventions from email and usenet.

[Learn Markdown in 60 Seconds](https://commonmark.org/help/)

## Who created Markdown?

It was [developed in 2004 by John Gruber in collaboration with Aaron Swartz](https://en.wikipedia.org/wiki/Markdown#History). Gruber wrote the first markdown-to-html converter in Perl, and it soon became widely used in websites. By 2014 there were dozens of implementations in many languages.

## Why is CommonMark needed?

John Gruber’s [canonical description of Markdown’s syntax](https://daringfireball.net/projects/markdown/syntax) does not specify the syntax unambiguously.

In the absence of a spec, early implementers consulted the original \`Markdown.pl\` code to resolve these ambiguities. But \`Markdown.pl\` was quite buggy, and gave manifestly bad results in many cases, so it was not a satisfactory replacement for a spec. Markdown.pl was last updated December 17th, 2004.

...
`;

const html = DOMPurify.sanitize(parse(markdown));

document.body.innerHTML = html;

Keywords

FAQs

Last updated on 17 Mar 2023

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc