使用 Sphinx 把文档编译成 HTML =============================== Sphinx 是 Python 官方推荐的文档生成工具,基于 RST 格式,将文档转化成多种格式(HTML、PDF、EPUB 等)。 本指南将详细介绍使用 Sphinx 把 RST 文档编译为 HTML 的完整流程。 1. 下载项目 ----------- **情况 1:如果你之前用过 git,则可以通过 git clone 下载本项目。** 具体操作为: - 登录自己的 GitHub 账户,找到 https://github.com/doc-workshop/doc-workshop。 - 点击右侧的 fork 按钮,这个操作会帮你在自己 GitHub 中创建一个副本。 .. figure:: ../_static/fork.png :align: center :scale: 35% :alt: 使用 fork 复制副本到自己的 GitHub 使用 fork 复制副本到自己的 GitHub - 最后,打开终端,运行下面的命令,把你自己的 GitHub 项目克隆到本地。注意,请把下面的链接替换成你自己项目的链接。 .. code-block:: bash git clone https://github.com/username/your-docs-project.git **情况 2:如果你之前没有接触过 git,则可以使用下面的方法下载本项目。** - 打开链接:https://github.com/doc-workshop/doc-workshop - 点击右侧的 code -> Download ZIP .. figure:: ../_static/download.png :align: center :scale: 35% :alt: 使用 download 下载副本到自己的电脑 使用 download 下载副本到自己的电脑 - 在本地把下载的压缩包解压,在编辑器(例如 VS Code)中打开编辑即可。 2. 配置 conf.py --------------- ``conf.py`` 是 Sphinx 的核心配置文件,位于 ``docs`` 目录下。以下是一些关键配置项: 项目基本信息 ~~~~~~~~~~~~ .. code-block:: python # 项目基本信息。在本次任务中,你需要替换成自己的信息 project = "技术文档实战" copyright = "2025, 文档小栈" author = "文档小栈" # HTML 主题配置。该项目使用 sphinx_rtd_theme,在本次任务中,你需要替换成 alabaster html_theme = "sphinx_rtd_theme" 扩展配置 ~~~~~~~~ 如果项目需要使用一些特殊功能,例如加 todo 笔记或者想在代码块处加一个复制的按钮,则需要使用 sphinx.ext.todo 和 sphinx_copybutton 扩展功能。 .. code-block:: python # 扩展列表 extensions = [ "sphinx.ext.autodoc", "sphinx.ext.viewcode", "sphinx.ext.todo", "sphinx.ext.napoleon", "sphinx_copybutton", ] # Todo 配置 todo_include_todos = True 3. 安装依赖包 ---------------- 编译所使用的工具包已全部在 ``docs/requirements.txt`` 中列出。运行编译命令之前,需要先安装这些依赖包。以 macOS 系统为例,具体步骤为: 1. 在编辑器中打开项目 2. 新开一个 New Terminal,如下图: .. figure:: ../_static/install-requirements.png :align: center :scale: 25% :alt: 安装依赖包 安装依赖包 3. 进入到 docs 目录,运行安装命令: .. code-block:: bash # cd 的意思就是进入某个目录 cd docs pip install -r requirements.txt 4. 编译生成 HTML ---------------- 在 docs 目录下,使用以下命令编译文档: .. code-block:: bash # 本项目已配置好 make 编译系统,可直接使用 make make html 生成的 HTML 文件位于 ``docs/_build/html`` 目录中。 .. figure:: ../_static/html-output.png :align: center :scale: 25% :alt: 检查生成的 HTML 检查生成的 HTML 5. 本地预览与调试 ----------------- 在浏览器中打开生成的 HTML 文件: .. code-block:: bash # 在 macOS 上使用 open 命令,后面加 html 文档的路径。把文档拖到命令行光标处,会自动生成路径,如上图所示。 open _build/html/index.html 调试常见问题: - 检查 RST 语法错误 - 确认所有引用文件存在 - 验证内部链接是否正确 更多资源 -------- - `Sphinx 官方文档 `_ - `reStructuredText 入门 `_