我从现在起就使用 Antora 2.3,随着文档站点的增长,我必须在我的 playbook.yaml 文件中引入更多源存储库。
目前,我有 50-60 个 Git 存储库,每个大小约为 15 MB,如剧本中提到的。 之后,我的网站生成在并行克隆我的 playbook.yaml
content.sources[]
中提到的存储库时开始崩溃(即从 Linux shell 中的 Antora 命令退出而没有任何错误)。
我尝试分配更多内存并收到与上述相同的问题
node --max-old-space-size=16384 `which antora` --cache-dir=./.cache/antora --generator custom-generate-site playbook.yaml --stacktrace
作为解决方案,我们覆盖了 playbook 构建(generate-site.js 模块)。我们将主要剧本分成了几小册易于理解的剧本。我们称它们为金丝雀剧本。
async function buildCanaryPlaybooks(playbook, sourcesPerPb = 3) {
let canaryPlaybooks = {};
if(playbook.content.sources.length > sourcesPerPb){
let sources = playbook.content.sources;
for(let i=0,j=sources.length; i < j; i+=sourcesPerPb){
let chunk = sources.slice(i, i+ sourcesPerPb)
let canaryPlaybook = getNewPlaybook(playbook,chunk)
canaryPlaybooks[i] = canaryPlaybook
}
}
return canaryPlaybooks;
}