菜单

文档系统

相关源文件

本文档介绍了 OpenHands 项目的文档系统,详细说明了文档的结构、构建和部署方式。该系统使用 Docusaurus 作为文档框架,支持国际化、Mermaid 图表和结构化的侧边栏组织。

概述

OpenHands 文档系统是使用 Docusaurus v3.7.0 构建的,这是一个使用 React 生成静态网站的现代文档框架。文档结构设计为支持多语言、可搜索且易于导航。

来源: docs/package.json17-28 docs/docusaurus.config.ts1-101

架构

文档系统架构

来源: docs/package.json5-15 docs/docusaurus.config.ts5-99

文档文件系统结构

来源: docs/docusaurus.config.ts25-33 docs/sidebars.ts1-271

内容组织

文档内容通过一个结构化的侧边栏进行组织,该侧边栏在 sidebars.ts 中定义。侧边栏配置映射到 modules/ 目录中的实际文件结构。

来源: docs/sidebars.ts5-267

文档文件结构到 URL 的映射

modules/ 目录中的文件结构直接映射到文档网站的 URL 结构。

来源: docs/modules/usage/llms/azure-llms.md1-42 docs/docusaurus.config.ts11-12

国际化支持

文档系统通过 Docusaurus 的国际化功能支持多种语言。目前支持的语言包括:

  • 英语(默认)
  • 法语
  • 中文(简体)
  • 日语
  • 葡萄牙语(巴西)

国际化实现

来源: docs/docusaurus.config.ts25-33 docs/i18n/fr/code.json1-374 docs/i18n/zh-Hans/code.json1-366

构建与部署文档

文档是使用 Docusaurus CLI 命令构建的,这些命令在 package.json 文件中定义。

构建系统实现

来源: docs/package.json5-15

Mermaid 图表支持

文档系统支持 Mermaid 图表,用于创建流程图、顺序图和其他可视化。

Mermaid 集成配置

来源: docs/docusaurus.config.ts35-38 docs/package.json20-21

添加新文档

要添加新文档,您需要在 modules/ 目录中的适当位置创建一个 Markdown 或 MDX 文件,并在必要时更新侧边栏配置。

文档内容管理工作流

来源: docs/sidebars.ts3-269 docs/modules/usage/getting-started.mdx1-100

示例文档页面结构

典型的文档页面包括 frontmatter、标题、文本内容以及可能的交互式组件。

---
# Optional frontmatter
---

# Page Title

Introduction text...

## Section Heading

Content...

### Subsection

More content...

```mermaid
flowchart TB
    A --> B

代码示例


Sources: <FileRef file-url="https://github.com/All-Hands-AI/OpenHands/blob/aa54a252/docs/modules/usage/llms/llms.md#L1-L92" min=1 max=92 file-path="docs/modules/usage/llms/llms.md">Hii</FileRef> <FileRef file-url="https://github.com/All-Hands-AI/OpenHands/blob/aa54a252/docs/modules/usage/getting-started.mdx#L1-L100" min=1 max=100 file-path="docs/modules/usage/getting-started.mdx">Hii</FileRef>

## Internationalization Workflow

When adding or updating content, translations need to be updated accordingly.

### Translation Workflow

```mermaid
flowchart TB
    english["Update English Content"]
    extract["Extract Translatable Strings"]
    translate["Translate Strings"]
    update["Update Translation Files"]
    
    english --> extract
    extract --> translate
    translate --> update
    
    update --> fr["Update French (i18n/fr/)"]
    update --> zh["Update Chinese (i18n/zh-Hans/)"]
    update --> ja["Update Japanese (i18n/ja/)"]
    update --> pt["Update Portuguese (i18n/pt-BR/)"]
    
    fr --> build["Build Documentation"]
    zh --> build
    ja --> build
    pt --> build
    
    build --> final["Multilingual Documentation"]

来源: docs/i18n/fr/code.json1-374 docs/i18n/zh-Hans/code.json1-366 docs/docusaurus.config.ts25-33 docs/package.json13-14

文档系统包含一些自定义的 React 组件,以增强文档体验。

React 组件架构

来源: docs/src/pages/index.tsx1-52 docs/src/css/homepageHeader.css1-47 docs/src/css/custom.css1-34 docs/src/css/footer.css1-72 docs/src/components/Demo/Demo.tsx1-22

总结

OpenHands 文档系统基于 Docusaurus v3.7.0 构建,提供了一个现代、响应式的文档网站,支持国际化、Mermaid 图表和结构化组织。该系统允许轻松扩展和维护文档内容,使其能够被多种语言的用户访问。