自定义提供程序

自定义提供程序是一个alpha API,可能会发生变化。

使用自定义输出提供程序

如果provider键未指定已识别的内置提供程序,Antora将尝试将其作为Node.js模块进行引入。这允许您提供自定义提供程序。

如果值以点(.)开头,Antora将要求相对于playbook文件的路径。否则,Antora将要求作为Node.js模块安装在playbook项目中的值。

自定义提供程序是一个符合以下签名的JavaScript函数:

async function (destConfig, files, playbook)

这是一个可以用来开始的模板。

示例 1. custom-output-provider.js
'use strict'

module.exports = async function (destConfig, files, playbook) {
  const to = destConfig.path || '_site'
  console.log(`将文件发布到 ${to}`)
  for await (const file of files) {
    console.log(`将文件写入 ${file.path}`)
  }
  return {}
}

destConfig参数是一个包含与目标规范属性对应的键值对的对象。files参数是一个虚拟文件的ReadableStream(使用for await进行迭代)。每个文件都是一个包含属性contentspathstatVinyl对象。playbook参数是包含整个playbook的键值对的对象。