Marked:极致速度的Markdown解析器与编译器
Marked:一款极致速度的 Markdown 解析器与编译器
Marked 是一款为速度而生的 Markdown 解析与编译工具。它具备以下特性:
核心优势:
- 闪电般速度: Marked 采用低级别编译器实现 Markdown 解析,避免缓存及长时间阻塞,确保极高的效率。
- 轻量级: 在保持轻量化的同时,完整支持各种主流 Markdown 规范及扩展特性。
- 跨平台兼容: 支持浏览器环境、服务器端以及命令行界面 (CLI) 等多种运行环境。
快速上手:
- 在线演示: 访问演示页面体验 Marked 的强大功能 ([需要补充演示链接])
- 文档: 我们的文档页面同样由 Marked 渲染生成 ([需要补充文档链接]),其中详细介绍了:选项配置、扩展机制、兼容性等内容。
重要说明:
- Node.js 支持: 仅支持当前版本及长期支持 (LTS) 版本的 Node.js。 已不再维护的 Node.js 版本可能与 Marked 不兼容。
- 浏览器兼容性: 不支持 IE11。
- 安全提示: Marked 不会对输出的 HTML 进行任何安全过滤。 务必使用诸如 DOMPurify(推荐)、sanitize-html 或 insane 等安全库对输出的 HTML 进行消毒处理,以防止 XSS 攻击。 示例如下:
DOMPurify.sanitize(marked.parse(`<img src="x" onerror="alert('not happening')">`));
安装与使用:
- 命令行 (CLI) 安装:
npm install -g marked
- 浏览器端安装 (npm):
npm install marked
-
CLI 使用示例:
标准输入输出:
$ marked -o hello.html
hello world
^D
$ cat hello.html
<p>hello world</p>
查看所有选项:
$ marked --help
-
浏览器端使用示例:
传统
<script>
方式:
<!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/marked.min.js"></script>
<script>
document.getElementById('content').innerHTML =
marked.parse('# Marked in the browser\n\nRendered by **marked**.');
</script>
</body>
</html>
ES 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>
许可协议:
Copyright (c) 2011-2022, Christopher Jeffrey. (MIT License)
- 原文作者:iamdev
- 原文链接:https://blog.iamdev.cn/post/2025/Marked%E6%9E%81%E8%87%B4%E9%80%9F%E5%BA%A6%E7%9A%84Markdown%E8%A7%A3%E6%9E%90%E5%99%A8%E4%B8%8E%E7%BC%96%E8%AF%91%E5%99%A8/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止转载 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。