Marked是一个Markdown解析器和编译器的js库


特点

  • ⚡ 专为速度而生
  • ⬇️ 低级编译器,用于解析 Markdown,无需长时间缓存或阻塞
  • ⚖️ 轻量级,同时实现所有 Markdown 支持的风格和规范的功能
  • 🌐 可在浏览器、服务器或命令行界面 (CLI) 中运行

演示

查看演示页面 了解 Marked 的实际效果⛹️

文档

我们的文档页面 也使用 marked 💯 渲染。

另请参阅:

兼容性

Node.js: 仅支持当前版本和 LTS 版本。已停产的 Node.js 版本可能随时与 Marked 不兼容。

浏览器: 非 IE11 :)

安装

命令行:

sh 复制代码
npm install -g marked

浏览器内:

sh 复制代码
npm install marked

使用方法

警告:🚨 Marked 不会对输出的 HTML 进行 清理。请使用清理库对输出的 HTML 进行清理,例如 DOMPurify(推荐)、sanitize-htmlinsane! 🚨

复制代码
DOMPurify.sanitize(marked.parse(`<img src="x" onerror="alert('未发生')">`));

命令行界面

bash 复制代码
# 使用标准输入的示例
$ marked -o hello.html
hello world
^D
$ cat hello.html
<p>hello world</p>
bash 复制代码
# 打印所有选项
$ marked --help

浏览器

html 复制代码
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>浏览器中的 Marked</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\n\n由 **marked** 渲染。');
</script>
</body>
</html>

或导入 esm 模块

html 复制代码
<script type="module">"https://cdn.jsdelivr.net/npm/marked/lib/marked.esm.js" 导入 { marked };
document.getElementById('content').innerHTML =
marked.parse('# Marked 在浏览器中\n\n由 **marked** 渲染。');
</script>

许可证

版权所有 (c) 2011-2022,Christopher Jeffrey。(MIT 许可证)

关于项目

Markdown 解析器和编译器,专为速度而生。轻量级,同时实现所有支持的风格和规范的 Markdown 功能。可在浏览器、服务器或命令行界面 (CLI) 中运行。
MIT
Javascript
35,833
3494
388
2011-07-24
2025-10-07

增长趋势 - stars