docs.json 和内容,Mintlify 在构建时将它们合并为一个站点。当相关产品的文档位于不同仓库中,但需要在同一个域名和导航树下展示时,可以使用多源部署。
源的合并方式
docs.json,并将其合并为一棵 navigation.products 树:
- 部署中列出的第一个源 是 主源。它的
docs.json为合并后的站点提供顶层配置,包括name、theme、colors、logo、favicon、redirects以及其他所有顶层字段。 - 其他源 仅贡献它们的
navigation。这些配置中的其他顶层字段(例如redirects或theme)将被忽略,并在构建时记录一条警告,列出被忽略的键。 - 每个源的
navigation都会成为合并后的navigation.products数组中的一项。该产品的显示名称为源的标签,若未设置标签,则使用其docs.json中的name。
docs.json。
源自身的
docs.json 不能使用 navigation.products。products 仅存在于合并后的顶层,因此每个源必须使用非 product 的导航形式(例如 groups、tabs、versions 或 anchors)。挂载路径
docs.json 中的每个引用前:
pages、root和href字段中的页面路径。例如,挂载在eng的源中的quickstart会解析为eng/quickstart。openapi和asyncapi字段中的 OpenAPI 与 AsyncAPI 引用,包括source和directory属性。- 全局导航条目(如
anchors和tabs)中的href值。
https://…)和页面内锚点(#section)保持不变。同一部署中各源的挂载路径不能重叠。
最终上线站点中的 URL 会包含挂载路径。在挂载于 eng 的源中作为 quickstart.mdx 编写的页面,访问地址为 /eng/quickstart。
示例
platform 和 eng)的部署,会生成如下合并配置:
主源 docs.json(挂载于 platform):
docs.json(挂载于 eng):
构建失败
- 任一源缺少
docs.json,或源的docs.json无效。 - 任一源的挂载路径为空。
- 两个源的挂载路径相互重叠。
- 某个源的
navigation在顶层使用了products。
- Monorepo 设置 — 将单个源指向大型仓库中的子目录。
- Products — 多源部署所生成的导航划分形式。