文档自动化
本文将介绍如何使用 Sphinx 和 ReadTheDocs 构建自动化的文档系统。
Sphinx 配置
安装依赖
pip install -r docs/requirements.txt
主要依赖包括:
sphinx: 文档生成工具sphinx-rtd-theme: ReadTheDocs 主题myst-parser: Markdown 支持sphinxcontrib-mermaid: 图表支持
配置文件说明
conf.py 是 Sphinx 的主要配置文件:
# 项目信息
project = 'Project Name'
copyright = '2024, Author'
author = 'Author'
# 扩展
extensions = [
'sphinx.ext.duration',
'sphinx.ext.doctest',
'sphinx.ext.autodoc',
'sphinx.ext.autosummary',
'sphinx.ext.intersphinx',
'myst_parser',
'sphinxcontrib.mermaid',
]
# 主题设置
html_theme = 'sphinx_rtd_theme'
ReadTheDocs 配置
.readthedocs.yaml
在项目根目录创建 .readthedocs.yaml:
version: 2
build:
os: ubuntu-22.04
tools:
python: "3.11"
sphinx:
configuration: docs/conf.py
python:
install:
- requirements: docs/requirements.txt
集成步骤
在 ReadTheDocs 注册账号
导入 GitHub 仓库
配置构建设置
触发首次构建
文档编写指南
目录结构
docs/
├── _static/ # 静态文件
├── _templates/ # 模板文件
├── topics/ # 主题文档
├── conf.py # Sphinx 配置
├── index.md # 首页
└── requirements.txt # 依赖文件
Markdown 语法扩展
MyST 解析器支持多种扩展语法:
# 警告框
:::warning
这是一个警告信息
:::
# 代码块
```python
def hello():
print("Hello, World!")
数学公式
\[
E = mc^2
\]
Mermaid 图表
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
## 自动化部署
### GitHub Actions
创建 `.github/workflows/docs.yml`:
```yaml
name: docs
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.11'
- name: Install dependencies
run: |
pip install -r docs/requirements.txt
- name: Build docs
run: |
cd docs
make html
最佳实践
文档即代码:将文档视为代码的一部分
持续更新:随代码变化及时更新文档
版本控制:使用 Git 管理文档版本
自动构建:配置自动化工作流
及时反馈:通过 CI/CD 确保文档质量
下一步
CI/CD 实践:了解如何配置完整的 CI/CD 流程