marked vs markdown-it vs remark vs showdown
Markdown パーサーライブラリ
markedmarkdown-itremarkshowdown類似パッケージ:

Markdown パーサーライブラリ

Markdown パーサーライブラリは、Markdown 形式のテキストを HTML に変換するためのツールです。これらのライブラリは、Markdown の文法を解析し、適切な HTML タグに変換する機能を提供します。これにより、開発者はコンテンツを簡単に作成し、表示することができます。

npmのダウンロードトレンド

3 年

GitHub Starsランキング

統計詳細

パッケージ
ダウンロード数
Stars
サイズ
Issues
公開日時
ライセンス
marked34,864,72136,732445 kB1610日前MIT
markdown-it021,229768 kB592ヶ月前MIT
remark08,80615.7 kB83年前MIT
showdown014,844801 kB236-MIT

機能比較: marked vs markdown-it vs remark vs showdown

パフォーマンス

  • marked:

    Marked は、非常に軽量で、パフォーマンスに優れています。特に、リアルタイムでの変換が必要なアプリケーションに最適です。

  • markdown-it:

    Markdown-it は、高速なパフォーマンスを提供し、大量のテキストを迅速に処理できます。プラグイン機能を持ち、必要に応じて機能を追加することができます。

  • remark:

    Remark は、AST を使用するため、パフォーマンスは他のライブラリに比べて若干劣る場合がありますが、柔軟性の高い変換が可能です。

  • showdown:

    Showdown は、シンプルな変換を提供しますが、他のライブラリに比べてパフォーマンスは若干劣る場合があります。

選び方: marked vs markdown-it vs remark vs showdown

  • marked:

    Marked は、シンプルで高速なパフォーマンスを提供します。特に、軽量なアプリケーションや、迅速な変換が求められる場合に適しています。

  • markdown-it:

    Markdown-it は、高速でプラグインをサポートしているため、拡張性を重視するプロジェクトに適しています。カスタマイズが必要な場合や、特定の機能を追加したい場合に選ぶと良いでしょう。

  • remark:

    Remark は、Markdown を AST(抽象構文木)として扱うため、より高度な解析や変換が可能です。特に、カスタムプラグインを作成したい場合や、複雑な変換が必要な場合に選択すると良いでしょう。

  • showdown:

    Showdown は、シンプルで使いやすいライブラリで、基本的な Markdown の変換を行いたい場合に適しています。特に、初心者や簡単なプロジェクトに向いています。

marked のREADME

Marked

npm install size downloads github actions snyk

  • ⚡ built for speed
  • ⬇️ low-level compiler for parsing markdown without caching or blocking for long periods of time
  • ⚖️ light-weight while implementing all markdown features from the supported flavors & specifications
  • 🌐 works in a browser, on a server, or from a command line interface (CLI)

Demo

Check out the demo page to see Marked in action ⛹️

Docs

Our documentation pages are also rendered using marked 💯

Also read about:

Compatibility

Node.js: Only current and LTS Node.js versions are supported. End of life Node.js versions may become incompatible with Marked at any point in time.

Browser: Baseline Widely Available

Installation

CLI:

npm install -g marked

In-browser:

npm install marked

Usage

Warning: 🚨 Marked does not sanitize the output HTML. Please use a sanitize library, like DOMPurify (recommended), sanitize-html or insane on the output HTML! 🚨

DOMPurify.sanitize(marked.parse(`<img src="https://raw.githubusercontent.com/markedjs/marked/HEAD/x" onerror="alert('not happening')">`));

CLI

# Example with stdin input
$ marked -o hello.html
hello world
^D
$ cat hello.html
<p>hello world</p>
# Print all options
$ marked --help

Browser

<!doctype html>
<html>
<head>
  <meta charset="utf-8"/>
  <title>Marked in the browser</title>
</head>
<body>
  <div id="content"></div>
  <script src="https://cdn.jsdelivr.net/npm/marked/lib/marked.umd.js"></script>
  <script>
    document.getElementById('content').innerHTML =
      marked.parse('# Marked in the browser\n\nRendered by **marked**.');
  </script>
</body>
</html>

or import esm module

<script type="module">
  import { marked } from "https://cdn.jsdelivr.net/npm/marked/lib/marked.esm.js";
  document.getElementById('content').innerHTML =
    marked.parse('# Marked in the browser\n\nRendered by **marked**.');
</script>

License

Copyright (c) 2018+, MarkedJS. (MIT License) Copyright (c) 2011-2018, Christopher Jeffrey. (MIT License)