# 概述
本文件提供您更豐富的 API 信息,使您更容易修改 Hexo 源代碼或編寫插件。如果您只是想查詢 Hexo 的基本使用方法,請參閱 [文檔](../docs/)。
在開始之前,請注意本文件僅適用于 Hexo 3 及以上版本。
## 初始化
首先,我們必須建立一個 Hexo 實例(instance),第一個參數是網站的根目錄,也就是 `base_dir`,而第二個參數則是初始化的選項。接著執行 `init` 方法后,Hexo 會加載插件及配置文件。
```
varrequire'hexo'
varnew
hexo.init().then(function{ // ...
});
```
| 參數 | 描述 | 默認值 |
| --- | --- | --- |
| `debug` | 開啟調試模式。在終端中顯示調試信息,并在根目錄中存儲 `debug.log` 日志文件。 | `false` |
| `safe` | 開啟安全模式。不加載任何插件。 | `false` |
| `silent` | 開啟安靜模式。不在終端中顯示任何信息。 | `false` |
| `config` | 指定配置文件的路徑。 | `_config.yml` |
## 載入文件
Hexo 提供了兩種方法來載入文件:`load`, `watch`,前者用于載入 `source` 文件夾內的所有文件及主題資源;而后者除了執行 `load` 以外,還會繼續監視文件變動。
這兩個方法實際上所做的,就是載入文件列表,并把文件傳給相對應的處理器(Processor),當文件全部處理完畢后,就執行生成器(Generator)來建立路由。
```
hexo.load().then(function{ // ...
});hexo.watch().then(function{ // 之后可以調用 hexo.unwatch(),停止監視文件
});
```
## 執行指令
您可以通過 `call` 方法來調用控制臺(Console),第一個參數是控制臺的名稱,而第二個參數是選項——根據不同控制臺有所不同。
```
hexo.call('generate'function{ // ...
});
```
## 結束
當指令完畢后,請執行 `exit` 方法讓 Hexo 退出結束前的準備工作(如存儲資料庫)。
```
hexo.call('generate'function{ return
}).catch(functionerr{ return
});
```
- 文檔
- 開始使用
- 概述
- 建站
- 配置
- 指令
- 遷移
- 基本操作
- 寫作
- Front-matter
- 標簽插件(Tag Plugins)
- 資源文件夾
- 數據文件
- 服務器
- 生成文件
- 部署
- 自定義
- 永久鏈接(Permalinks)
- 主題
- 模版
- 變量
- 輔助函數(Helpers)
- 國際化(i18n)
- 插件
- 其他
- 問題解答
- 貢獻
- API
- 核心
- 概述
- 事件
- 局部變量
- 路由
- Box
- 渲染
- 文章
- 腳手架(Scaffold)
- 主題
- 擴展
- 控制臺(Console)
- 部署器(Deployer)
- 過濾器(Filter)
- 生成器(Generator)
- 輔助函數(Helper)
- 遷移器(Migrator)
- 處理器(Processor)
- 渲染引擎(Renderer)
- 標簽插件(Tag)