项目结构
项目结构
本页面提供 Fern Docs 项目文件和文件夹结构的概览。
目录结构
您的文档配置文件存放在 fern 文件夹中:
fern 和 changelog 文件夹是保留名称 — 如果重命名,Fern 将无法识别它们。所有其他文件夹名称都是可自定义的。
Pages 文件夹
pages 文件夹包含构成您文档的 Markdown (MDX) 文件。每个 MDX 文件代表文档中的一个页面。文件夹名称是可自定义的。
您可以根据文档的章节将 pages 文件夹组织成子文件夹,或者如上所示保持页面扁平化。
Assets 文件夹
assets 文件夹包含文档中使用的任何图片或视频。您可以使用相对路径在 MDX 文件中引用这些资源。文件夹名称是可自定义的。
docs.yml
docs.yml 文件是您 Fern 文档站点的核心。此配置文件控制您文档的导航结构、视觉设计、站点功能和托管设置。只有在您的 docs.yml 导航中引用的文件(或通过 folder 配置发现的文件)才会包含在构建中 — 任何未引用的文件都会被忽略。
有关完整的配置选项,请参见 docs.yml 参考。
API 定义和 generators.yml
要生成 API 参考 文档,您需要提供您的 API 定义。操作方式取决于您的格式:
- OpenAPI/AsyncAPI:始终需要一个包含
api.specs部分的generators.yml文件。您可以选择性地添加groups部分用于 SDK 生成。 - Fern Definition:当您有
definition/目录时会自动检测。只有在生成 SDK 时才需要添加generators.yml。
OpenAPI
将您的 OpenAPI 规范文件放在 fern/ 目录中(或子文件夹中)。Fern 支持 YAML 或 JSON 格式。
在 generators.yml 中引用它:
您可以选择性地添加覆盖文件进行额外自定义。要在实践中看到这一点,请查看 Fluidstack 的 Fern 配置。
AsyncAPI
将您的 AsyncAPI 规范文件与 OpenAPI 规范一起放在 fern/ 目录中。在 generators.yml 中引用它:
您可以选择性地添加覆盖文件进行额外自定义。
Fern Definition
多个 API
将多个 API 组织到单独的文件夹中。您可以混合使用 OpenAPI 和 Fern Definition 格式:
apis 文件夹必须使用这个确切的名称。在 docs.yml 中使用与子文件夹名称匹配的 api-name 引用每个 API。要在实践中看到这一点,请查看 Vapi 的 Fern 配置。
fern.config.json
fern.config.json 文件存储您的组织名称和 Fern CLI 版本。锁定版本可提供确定性的构建。
在使用本地安装的 CLI 时,将 version 设置为 "*"。详情请参见本地安装 Fern CLI。