`marked` 是一个流行的前端 Markdown 解析库，具有以下特色功能：

> github star 34.5k
> 
> https://marked.js.org/
> 
> demo: 

### 1. **轻量级**
- `marked` 是一个非常轻量级的库，压缩后的文件大小通常只有几十 KB，适合在浏览器和 Node.js 环境中使用。

### 2. **高性能**
- `marked` 的解析速度非常快，能够在短时间内将 Markdown 文本转换为 HTML。它通过一次解析完成所有转换，避免了多次遍历的开销。

### 3. **可扩展性**
- `marked` 提供了丰富的 API，允许开发者自定义解析规则、渲染器、语法高亮等功能。你可以通过扩展或覆盖默认的渲染器来实现自定义的 Markdown 解析逻辑。

### 4. **支持 CommonMark 和 GitHub Flavored Markdown (GFM)**
- `marked` 支持 CommonMark 标准，并且还支持 GitHub Flavored Markdown (GFM)，包括表格、任务列表、自动链接等扩展语法。

### 5. **语法高亮**
- `marked` 内置支持语法高亮，可以通过配置使用 `highlight.js` 或其他语法高亮库来为代码块添加高亮效果。

### 6. **异步渲染**
- `marked` 支持异步渲染，允许在解析过程中执行异步操作（如获取远程资源），并返回 Promise 对象。

### 7. **安全性**
- `marked` 默认会对输出的 HTML 进行转义，防止 XSS（跨站脚本攻击）等安全问题。你可以通过配置禁用或自定义转义行为。

### 8. **支持自定义 Tokenizer 和 Renderer**
- `marked` 允许开发者自定义 Tokenizer 和 Renderer，从而可以灵活地处理 Markdown 中的各种元素。例如，你可以自定义如何渲染标题、链接、图片等。

### 9. **支持插件**
- `marked` 支持通过插件扩展功能，社区中有许多插件可以进一步增强 `marked` 的功能，如支持数学公式、流程图等。

### 10. **跨平台**
- `marked` 可以在浏览器和 Node.js 环境中使用，适用于各种前端和后端项目。

### 11. **丰富的配置选项**
- `marked` 提供了丰富的配置选项，允许开发者根据需要调整解析和渲染行为。例如，可以配置是否启用 GFM、是否自动生成锚点等。

### 12. **良好的社区支持**
- `marked` 拥有活跃的社区和丰富的文档，开发者可以轻松找到相关的教程、示例和插件。

### 示例代码
```javascript
const marked = require('marked');

// 基本用法
const html = marked('# Hello, World!');
console.log(html); // 输出: <h1>Hello, World!</h1>

// 自定义渲染器
const renderer = new marked.Renderer();
renderer.heading = function (text, level) {
  return `<h${level} class="custom-heading">${text}</h${level}>`;
};

marked.setOptions({ renderer });

const customHtml = marked('# Custom Heading');
console.log(customHtml); // 输出: <h1 class="custom-heading">Custom Heading</h1>
```

### 总结
`marked` 是一个功能强大且灵活的 Markdown 解析库，适合各种需要 Markdown 解析的场景。它的高性能、可扩展性和丰富的功能使其成为前端开发者的首选工具之一。
