Skip to main content

文档工作流 📚

本指南涵盖 Ultralytics 项目文档的撰写、构建与维护。

文档结构 🗂️

主要文档站点

仓库结构

docs/
├── en/              # English docs
│   ├── index.md     # Homepage
│   ├── guides/      # User guides
│   ├── tasks/       # Task-specific docs
│   ├── models/      # Model documentation
│   └── reference/   # API reference
├── zh/              # Chinese translations
└── overrides/       # Theme customizations

撰写文档 ✍️

风格指南

  • 清晰简洁:迅速切入要点
  • 主动语态:写「训练模型」而不是「模型被训练」
  • 代码示例:为每个概念提供可运行的代码
  • 视觉辅助:在有助理解处使用图像/图示
  • 格式一致:遵循现有页面结构

Markdown 格式

---
description: Brief page description for SEO
keywords: relevant, keywords, for, search
---

# Page Title

Brief introduction explaining what this page covers.

## Section Heading

Content with examples:

```python
from ultralytics import YOLO

# Load pretrained model
model = YOLO("yolo26n.pt")
results = model("image.jpg")
```

### Key points:

- Use bullet points for lists
- Keep paragraphs short
- Include links to related pages

### Code Examples

- **Minimal**: Show only relevant code
- **Runnable**: Examples should work copy-paste (test with actual [YOLO models](https://docs.ultralytics.com/models/))
- **Commented**: Explain non-obvious parts
- **Tested**: Verify examples work with current version

```python
from ultralytics import YOLO

# Load pretrained model
model = YOLO("yolo26n.pt")

# Train on custom data
results = model.train(data="coco8.yaml", epochs=3)
```

图像和媒体

存储在仓库或使用 CDN:

![Alt text](https://path/to/image.png)

保持合理的图片大小(尽可能 <500KB)。

构建文档 🔨

本地开发

安装依赖:

pip install -e ".[docs]"

本地构建并预览:

mkdocs serve

访问 http://127.0.0.1:8000 进行预览。

MkDocs 配置

主要配置位于 mkdocs.yml

site_name: Ultralytics Docs
theme:
    name: material
    palette:
        - scheme: slate
plugins:
    - search
    - ultralytics

API 文档 📖

API 参考文档由 docstring 自动生成。请参阅完整 API 参考了解所有模块:

def train(self, data, epochs=100, batch=16):
    """
    Train the model on a dataset.

    Args:
        data (str): Path to data YAML file
        epochs (int): Number of training epochs
        batch (int): Batch size

    Returns:
        (Results): Training results

    Examples:
        ```python
        model = YOLO("yolo26n.pt")
        results = model.train(data="coco8.yaml", epochs=100)
        ```
    """

关键要素:

  • 简短描述:一行摘要
  • Args:参数描述及类型
  • Returns:返回值描述
  • Examples:可运行的代码示例

新增页面 📄

1. 创建 Markdown 文件

# Create new guide
touch docs/en/guides/new-guide.md

2. 更新导航

编辑 mkdocs.yml

nav:
    - Home: index.md
    - Guides:
          - New Guide: guides/new-guide.md

3. 撰写内容

遵循风格指南并包含示例。

4. 测试构建

mkdocs serve

5. 提交 PR

请按照开发工作流进行 PR 流程。

翻译 🌐

新增翻译

  1. 将英文版本复制到语言目录:
cp docs/en/page.md docs/zh/page.md
  1. 翻译内容,代码示例保持英文

  2. 更新 mkdocs.yml 中的备用链接

翻译指引

  • 保留英文技术术语(YOLO、mAP、FPS)
  • 翻译描述和说明
  • 与英文版本保持相同的结构
  • 英文版本变更时同步更新翻译

文档 CI 🤖

CI 自动:

  • 在每个 PR 上构建文档
  • 检查失效链接
  • 校验 markdown 格式
  • 合并到 main 时部署到生产环境

修复构建错误

常见问题:

  • 失效链接:修复或移除无效链接
  • 缺失图片:添加图片或更新路径
  • 无效 YAML:修复 frontmatter 语法
  • 插件错误:检查插件配置

最佳实践 ✅

内容组织

  • 逻辑结构:将相关内容分组
  • 渐进展开:从简单到进阶
  • 交叉链接:链接到相关页面
  • 搜索优化:使用清晰的标题和描述

维护

  • 保持最新:随新功能更新
  • 移除过时:删除已弃用的内容
  • 检查链接:定期修复失效链接
  • 用户反馈:解答常见问题

可访问性

  • 替代文本:为屏幕阅读器描述图片
  • 清晰标题:使用适当的标题层级
  • 通俗语言:尽量避免行话
  • 代码对比度:确保代码块清晰可读

资源 📚