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文件夹中的所有文件以及主题数据。watchload 的同样事情,但也会持续监视文件变化。

这两种方法都会加载文件列表,并将它们传递给相应的处理器。在所有文件都处理完成后,它们将调用生成器来创建路由。

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);
});