站点清单 docdoc.json

位于源目录根的 JSON 文件,描述站点。缺省整个文件时站点按无清单模式直出:语言目录层省略,站点标题为 Docs。

顶层字段

字段 类型 必填 缺省 说明
name string 否 发布时由 add --name 提供 站点名(^[a-z][a-z0-9-]*$),即路径前缀段;声明后 add 可省略 --name
domain string 否 发布时由 add --domain 提供 绑定域名;声明后 add 可省略 --domain
title object 否 文档 站点标题 i18n:{语言码: 标题},按页面语言显示,缺省回退首个语言
icon string 否 默认文档图标 站点图标:表情/短文本、远程图片 URL、或源目录内相对路径(内联为 base64)
copyright object 否 © 当前年份 + 站点标题 页脚版权文案 i18n:{语言码: 文案},按页面语言显示,缺省回退首个语言
languages object 是 — 站点语言表:{语言码: 显示名},第一个语言为默认语言
docs array 否 整目录一个文档 子文档列表(见下表)

站点名/域名也可写入站点清单集中管理(git 源为服务器端克隆构建,读取不到仓库内清单,仍需显式 --name):

{
  "name": "my-docs",
  "domain": "docs.example.com",
  "title": { "cn": "产品文档" }
}

docs 子文档条目

字段 必填 说明
name 是 URL 段,全站唯一,snake_case
path 是 源目录下的子文档目录,内容从 <path>/<语言>/ 开始

子文档的标题、语言支持与侧栏渲染器不在站点清单里,而由 <path>/doc.docdoc.json 声明。

子文档清单 doc.docdoc.json

位于子文档目录根(与语言目录同级),必须列出该文档支持的全部语言:

字段 类型 必填 说明
title object 是 Tab 栏显示名 i18n:{语言码: 显示名}
languages object 是 该文档支持的全部语言:{语言码: 显示名};仅在声明了某语言且磁盘上存在 <path>/<语言>/ 目录时,该语言下才出现此文档
renderer string 否 文档级缺省侧栏渲染器:tree(缺省,可展开折叠)、submenu(逐级进入)或 group(分组标签 + 恒展开);各目录可用 metadata.docdoc.json 的 renderer 覆盖(最深一级生效),同一文档内可混合出现

完整示例

站点清单:

{
  "title": { "cn": "产品文档" },
  "icon": "📘",
  "copyright": { "cn": "© 2026 Example Inc." },
  "languages": { "cn": "简体中文" },
  "docs": [
    { "name": "manual", "path": "user_manual" },
    { "name": "api", "path": "api_references" }
  ]
}

配套的 user_manual/doc.docdoc.json:

{
  "title": { "cn": "User Manual" },
  "languages": { "cn": "简体中文" },
  "renderer": "submenu"
}