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

Markdownパーサーライブラリ

Markdownパーサーライブラリは、Markdown形式のテキストをHTMLに変換するためのツールです。これらのライブラリは、Markdownの構文を解析し、適切なHTMLタグに変換する機能を提供します。これにより、開発者は簡単にリッチテキストコンテンツを生成し、ウェブアプリケーションやサイトに組み込むことができます。

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

3 年

GitHub Starsランキング

統計詳細

パッケージ
ダウンロード数
Stars
サイズ
Issues
公開日時
ライセンス
marked32,932,93536,645444 kB127日前MIT
markdown-it20,527,67021,131768 kB581ヶ月前MIT
remarkable1,340,0075,824-1326年前MIT
showdown014,837801 kB233-MIT

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

拡張性

  • marked:

    markedは、拡張性はあまり高くありませんが、基本的なMarkdown機能を迅速に提供します。カスタマイズが必要な場合は、他のライブラリを検討する必要があります。

  • markdown-it:

    markdown-itは、プラグインを使用して機能を拡張できるため、特定のニーズに合わせたカスタマイズが可能です。独自のプラグインを作成することもでき、他の開発者と共有することもできます。

  • remarkable:

    remarkableは、プラグインをサポートしており、独自の機能を追加することができます。特定の要件に応じて、柔軟に拡張できるのが特徴です。

  • showdown:

    showdownは、基本的な機能を提供しますが、拡張性は限定的です。シンプルな使用ケースには適していますが、複雑なカスタマイズには向いていません。

パフォーマンス

  • marked:

    markedは、非常に軽量で、Markdownの解析が迅速です。パフォーマンスを重視するプロジェクトに最適です。

  • markdown-it:

    markdown-itは、高速なパフォーマンスを提供し、大量のMarkdownを処理する際にも効率的です。特に、プラグインを使用する場合でも、パフォーマンスが損なわれることはありません。

  • remarkable:

    remarkableは、パフォーマンスが高く、特に大規模なデータセットを扱う際に優れた結果を提供します。

  • showdown:

    showdownは、基本的なパフォーマンスを提供しますが、他のライブラリに比べるとやや遅い場合があります。

学習曲線

  • marked:

    markedは、シンプルで使いやすいため、学習曲線が緩やかです。すぐに使い始めることができます。

  • markdown-it:

    markdown-itは、豊富な機能を持っているため、初めて使用する際には学習曲線がやや急ですが、ドキュメントが充実しているため、習得は容易です。

  • remarkable:

    remarkableは、機能が豊富ですが、直感的なAPIを提供しているため、比較的短期間で習得できます。

  • showdown:

    showdownは、非常にシンプルで、すぐに使えるため、学習曲線はほとんどありません。初心者に最適です。

デフォルト機能

  • marked:

    markedは、基本的なMarkdown機能を提供し、シンプルな使用ケースに最適です。

  • markdown-it:

    markdown-itは、基本的なMarkdown機能に加え、拡張機能をサポートしており、カスタマイズが可能です。

  • remarkable:

    remarkableは、デフォルトで多くの機能を提供し、カスタマイズ性も高いです。

  • showdown:

    showdownは、基本的なMarkdown機能を提供しますが、他のライブラリに比べて機能は限定的です。

コミュニティサポート

  • marked:

    markedも広く使用されており、コミュニティが活発です。

  • markdown-it:

    markdown-itは、活発なコミュニティがあり、多くのプラグインやリソースが利用可能です。

  • remarkable:

    remarkableは、比較的小規模なコミュニティですが、サポートは充実しています。

  • showdown:

    showdownは、人気があり、広く使われているため、コミュニティサポートが豊富です。

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

  • marked:

    シンプルで高速なパフォーマンスを求める場合は、markedを選択してください。軽量で、基本的なMarkdown機能を迅速に提供します。

  • markdown-it:

    柔軟性と拡張性を重視する場合は、markdown-itを選択してください。プラグインシステムがあり、カスタマイズが容易です。

  • remarkable:

    高いパフォーマンスとカスタマイズ性を求める場合は、remarkableを選択してください。プラグインのサポートがあり、特定のニーズに合わせて拡張できます。

  • showdown:

    シンプルで使いやすさを重視する場合は、showdownを選択してください。基本的な機能が揃っており、すぐに使い始めることができます。

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="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)