Marked
- ⚡ 专为速度而构建
- ⬇️ 用于解析markdown的低级编译器,无缓存或长时间阻塞
- ⚖️ 轻量级,同时实现所有支持的风格和规范中的markdown功能
- 🌐 可在浏览器、服务器或命令行界面(CLI)中使用
演示
查看演示页面以了解marked的实际效果 ⛹️
文档
我们的文档页面也是使用marked渲染的 💯
也可以了解:
兼容性
Node.js: 仅支持当前和LTS的Node.js版本。生命周期结束的Node.js版本可能随时与Marked不兼容。
浏览器: 不支持IE11 :)
安装
命令行界面:
npm install -g marked
浏览器:
npm install marked
使用
警告:🚨 Marked不会净化输出的HTML。请在输出的HTML上使用净化库,如DOMPurify(推荐)、sanitize-html或insane!🚨
DOMPurify.sanitize(marked.parse(`<img src="https://raw.githubusercontent.com/markedjs/marked/master/x" onerror="alert('not happening')">`));
命令行界面
# 使用标准输入的示例
$ marked -o hello.html
hello world
^D
$ cat hello.html
<p>hello world</p>
# 打印所有选项
$ marked --help
浏览器
<!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/marked.min.js"></script>
<script>
document.getElementById('content').innerHTML =
marked.parse('# 浏览器中的Marked\n\n由**marked**渲染。');
</script>
</body>
</html>
或导入esm模块
<script type="module">
import { marked } from "https://cdn.jsdelivr.net/npm/marked/lib/marked.esm.js";
document.getElementById('content').innerHTML =
marked.parse('# 浏览器中的Marked\n\n由**marked**渲染。');
</script>
许可证
版权所有 (c) 2011-2022,Christopher Jeffrey。(MIT许可证)