API

此文件提供關於 API 的更詳細資訊,對於想要修改 Hexo 原始碼或編寫新外掛的人特別有幫助。如果您對 Hexo 的基本用法更感興趣,請參閱文件

請注意,此文件僅適用於 Hexo 3 及以上版本。

初始化

首先,我們必須建立一個 Hexo 實例。一個新的實例需要兩個參數:網站的根目錄,base_dir,以及包含初始化選項的物件。接下來,我們透過在其上呼叫 init 方法來初始化這個實例,這將導致 Hexo 加載其配置和外掛。

var Hexo = require("hexo");
var hexo = new Hexo(process.cwd(), {});

hexo.init().then(function () {
// ...
});
選項 描述 預設值
debug 啟用除錯模式。在終端機中顯示除錯訊息,並在根目錄中儲存 debug.log false
safe 啟用安全模式。不載入任何外掛。 false
silent 啟用靜音模式。不在終端機中顯示任何訊息。 false
config 指定設定檔的路徑。 _config.yml
draft / drafts 啟用以將草稿新增至文章列表。
範例:當您使用 hexo.locals.get('posts')
_config.yml 的 render_drafts

載入檔案

Hexo 提供了兩種載入檔案的方法:loadwatchload 用於載入 source 資料夾中的所有檔案以及主題資料。watch 做的事情與 load 相同,但也會開始持續監看檔案變更。

這兩種方法都會載入檔案清單並將其傳遞給對應的處理器。在所有檔案都處理完畢後,它們將呼叫產生器來建立路由。

hexo.load().then(function () {
// ...
});

hexo.watch().then(function () {
// You can call hexo.unwatch() later to stop watching.
});

執行指令

可以使用 Hexo 實例上的 call 方法顯式呼叫任何主控台命令。此類呼叫需要兩個參數:主控台命令的名稱和選項參數。不同的主控台命令可以使用不同的選項。

hexo.call("generate", {}).then(function () {
// ...
});
hexo.call("list", { _: ["post"] }).then(function () {
// ...
});

結束

您應該在成功或不成功完成主控台命令時呼叫 exit 方法。這允許 Hexo 優雅地結束並完成諸如儲存資料庫之類的重要事項。

hexo
.call("generate")
.then(function () {
return hexo.exit();
})
.catch(function (err) {
return hexo.exit(err);
});