自定义提供程序
自定义提供程序是一个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
进行迭代)。每个文件都是一个包含属性contents
、path
和stat
的Vinyl
对象。playbook参数是包含整个playbook的键值对的对象。