# 渲染引擎(Renderer)
渲染引擎用于渲染內容。
## 概要
```
hexo.extend.renderer.register(name, output, functiondata, options{}, sync);
```
| 參數 | 描述 |
| --- | --- |
| `name` | 輸入的擴展名(小寫,不含開頭的 `.`) |
| `output` | 輸出的擴展名(小寫,不含開頭的 `.`) |
| `sync` | 同步模式 |
渲染函數中會傳入兩個參數:
| 參數 | 描述 |
| --- | --- |
| `data` | 包含兩個屬性:文件路徑 `path` 和文件內容 `text`。`path` 不一定存在。 |
| `option` | 選項 |
## 范例
### 非同步模式
```
varrequire'stylus'
// Callback
hexo.extend.renderer.register('styl''css'functiondata, options, callback{ stylus(data.text).set('filename'
});// Promise
hexo.extend.renderer.register('styl''css'functiondata, options{ returnnewPromisefunctionresolve, reject{ resolve('test'
});});
```
### 同步模式
```
varrequire'ejs'
hexo.extend.renderer.register('ejs''html'functiondata, options{ options.filename = data.path; return
}, true
```
- 文檔
- 開始使用
- 概述
- 建站
- 配置
- 指令
- 遷移
- 基本操作
- 寫作
- Front-matter
- 標簽插件(Tag Plugins)
- 資源文件夾
- 數據文件
- 服務器
- 生成文件
- 部署
- 自定義
- 永久鏈接(Permalinks)
- 主題
- 模版
- 變量
- 輔助函數(Helpers)
- 國際化(i18n)
- 插件
- 其他
- 問題解答
- 貢獻
- API
- 核心
- 概述
- 事件
- 局部變量
- 路由
- Box
- 渲染
- 文章
- 腳手架(Scaffold)
- 主題
- 擴展
- 控制臺(Console)
- 部署器(Deployer)
- 過濾器(Filter)
- 生成器(Generator)
- 輔助函數(Helper)
- 遷移器(Migrator)
- 處理器(Processor)
- 渲染引擎(Renderer)
- 標簽插件(Tag)