OSS探訪GitHubでログイン

MarkdownをNode.js・ブラウザ・CLIでHTMLへ変換し、extensionで解析処理を拡張する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
37,223
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/10/05
ページ内ナビ

概要

MarkedはMarkdownをHTMLへ変換するparser・compilerです。軽量かつ低水準の処理系としてNode.js、browser、CLIから利用でき、optionやcustom extensionでtokenize・render処理を拡張できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

marked.parseでMarkdown文字列をHTMLへ変換する

Node.jsではmarked.parse()へMarkdown文字列を渡してHTMLを得られます。browser向けUMD/ESM buildも配布され、同じparserをclient-side renderingへ利用できます。

出典:[1][2]

CLIから標準入力やfileをHTMLへ変換する

global installしたmarked commandでMarkdownを読み込み、-oでHTML fileへ書き出せます。marked --helpから利用可能なoptionも確認できます。

出典:[1]

optionとcustom extensionで解析・render処理を拡張する

公式documentationはoption設定に加えてextension機構を提供しており、標準のMarkdown処理へ独自のtokenizerやrenderer等を組み込めます。

出典:[1]

向いている用途

Markdown preview・documentation・content変換pipelineを共通化したい場合に向く

server-side変換、browser preview、CLI batch処理などで、同じMarkdown parserを小さな依存として使いたい用途に適します。

出典:[1]

導入前の確認

生成HTMLはsanitizeされない

READMEはMarkedが出力HTMLをsanitizeしないことを明記し、DOMPurify、sanitize-html等で出力をsanitizeするよう案内しています。利用者入力をそのままDOMへ挿入しないでください。

出典:[1]

18.0.14はNode.js 20以上を要求し、browserはBaseline Widely Availableを対象とする

package metadataはNode.js >=20を要求します。READMEはNode.jsのcurrent/LTSと、browserのBaseline Widely Availableをcompatibility対象として示しています。

出典:[1][2]

参考にした公式資料

  1. [1]Marked v18.0.14 README(2026-10-05)
  2. [2]Marked v18.0.14 package metadata(2026-10-05)
  3. [3]Marked v18.0.14 release(2026-10-05)
  4. [4]Marked MIT license(2026-10-05)
編集部からの補足

MarkdownをHTMLへ変換する処理をNode.js・browser・CLIで共通化しやすい一方、出力HTMLのsanitizeはMarkedの責務外です。利用者入力を表示する用途では、READMEが推奨するDOMPurify等との組み合わせを前提にしてください。

3ステップで試す

  1. 1

    Node.js要件を確認してMarked 18.0.14を導入する

    package metadataのNode.js 20以上という要件を確認し、安定版を一時ディレクトリへ固定します。

    node -e 'if (Number(process.versions.node.split(".")[0]) < 20) throw new Error("Marked 18 requires Node.js >= 20")' && demo=$(mktemp -d "${TMPDIR:-/tmp}/marked.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact marked@18.0.14
  2. 2

    MarkdownをHTMLへ変換するscriptを作る

    READMEのNode.js例に沿ってmarked.parse()を呼び、見出しとstrong要素へ変換します。

    printf "%s\n" "import { marked } from 'marked';" "const html = marked.parse('# Hello **Marked**');" "console.log(html);" "if (!html.includes('<strong>Marked</strong>')) throw new Error('unexpected output');" > demo.mjs
  3. 3

    変換結果を実行して確認する

    HTMLが出力され、<strong>Marked</strong>を含むことをscript内のcheckで確認します。

    node demo.mjs
公式READMEで確認

成長

成長の推移 · 直近30日

37,223 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
29
Open PR
14

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

カテゴリ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • markdown
  • compiler
  • parser
  • commonmark
  • gfm
  • hacktoberfest
Stars
37,223
Forks
3,747
Watchers
384
Open Issues
12
Contributors
233
所有者種別
Organization
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/10/05

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?