You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sphinx构建如何将主文档输出至build/html根目录?

解决方案

要实现你想要的整洁项目结构,同时让构建后的index.html直接位于build/html根目录,只需要调整构建脚本的参数并确认配置文件的核心设置即可,具体步骤如下:

1. 修改构建脚本(以Makefile为例)

打开docs目录下的Makefile,找到默认的变量定义:

SPHINXOPTS    =
SPHINXBUILD   = sphinx-build
SOURCEDIR     = .
BUILDDIR      = build

将其修改为:

SPHINXOPTS    = -c .  # 指定conf.py所在的顶层docs/目录
SPHINXBUILD   = sphinx-build
SOURCEDIR     = src   # 把源文件目录指向docs/src/
BUILDDIR      = build

如果是Windows平台使用make.bat,对应修改为:

set SPHINXOPTS=-c .
set SPHINXBUILD=sphinx-build
set SOURCEDIR=src
set BUILDDIR=build

2. 确认conf.py的核心配置

确保docs/conf.py中的关键配置正确:

# 主文档文件名(对应src/index.rst,无需添加路径)
master_doc = 'index'

# 若有静态文件/额外资源,路径是相对于src目录的,比如:
# html_static_path = ['_static']
# html_extra_path = ['_extra']

3. 测试构建

在docs目录下运行构建命令:

make html

此时生成的index.html会直接出现在docs/build/html/根目录下,项目结构也保持了你想要的整洁状态:

docs
├─ conf.py
├─ Makefile
└─ src
   ├─ index.rst
   └─ things
      ├─ doc1.rst
      └─ doc2.rst

原理说明

  • -c .参数告诉Sphinx从当前docs/目录读取配置文件,不用到src目录里找;
  • 将SOURCEDIR设为src后,Sphinx会把src作为根源目录处理,不会在输出目录中保留src的层级结构,因此所有文档都会直接生成到build/html根目录。

内容的提问来源于stack exchange,提问作者Felix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 19:12:42