GeneratorContext API 参考
GeneratorContext API 是进入 Antora 扩展功能的主要访问点。Antora 创建了 GeneratorContext 的一个实例,称为生成器上下文,并将其绑定到扩展的 register 函数以及添加的任何监听器。这个对象在所有扩展和事件监听器之间共享。生成器上下文提供了一种添加这些事件监听器的方法。它还提供了一些上下文感知的辅助函数,使编写扩展更容易。
GeneratorContext 类扩展了 Node.js 的 EventEmitter 类型。EventEmitter 上的所有方法都被 GeneratorContext 继承并可在生成器上下文上使用。但是,您不应该调用 emit
对象来触发 Antora 自己的事件之一。
除了 EventEmitter 上的方法之外,以下表格描述了 GeneratorContext API 提供的方法。
方法名称 | 参数 | 描述 |
---|---|---|
getFunctions |
无 |
返回生成器函数对象。生成器函数被定义为生成器中的任何离散步骤,以及这些步骤使用的关键实用函数。直到发出 |
getLogger |
字符串 |
创建指定名称的日志记录器实例。如果指定了参数,并且值不为假,该方法将返回具有指定名称的子记录器。如果指定了参数,并且值为空,该方法将返回根记录器。如果指定了参数,并且值为 null,则该方法将返回根记录器,如果记录器尚未配置,则返回 undefined。如果未指定参数,则该方法将返回名称为 |
getVariables |
无 |
返回上下文变量对象。此对象是只读的。 |
lockVariable |
字符串 |
锁定指定的上下文变量并返回其值。 |
replaceFunctions |
对象 |
将指定的函数绑定到生成器上下文,并使用它们替换生成器上下文上的现有函数。如果在发出 |
removeVariable |
字符串 |
如果变量未被锁定,则移除指定的上下文变量并返回其值。如果变量被锁定,则会抛出错误。 |
require |
字符串 |
在 Antora 生成器的上下文中需要模块的名称。此方法可用于在不必声明 Antora 组件为依赖项的情况下需要 Antora 内部组件。 |
stop |
无 |
停止生成器的操作(通过发出 |
updateVariables |
对象 |
添加或替换具有指定变量的上下文变量。 |
由于 GeneratorContext 是一个 EventEmitter,您不仅可以使用它来注册监听器,还可以获取已注册监听器的列表,取消注册监听器,并以不同顺序重新注册监听器。