序言

Sphinx 是一个基于 Python 的文档生成项目。最早只是用来生成 Python 的项目文档,使用 reStructuredText 格式。但随着项目的逐渐完善,很多非 Python 的项目也采用 Sphinx 作为文档写作工具。特点:

安装

sphinx面试题(windows环境下配置sphinx输出html文档)(1)

可以通过源码编译安装使用包管理器来安装sphinx环境,在这里,我们通过PyPI使用pip命令安装Sphinx:

$ pip install -U sphinx

C:\> pip install -U sphinx

安装完成后,在命令行输入sphinx-build --version可以看到Sphinx软件包的版本号

sphinx面试题(windows环境下配置sphinx输出html文档)(2)

创建项目①. 新建项目

`cmd`命令行进入存放项目的根目录,使用命令`sphinx-quickstart`新建项目,根据提示分别输入项目信息和配置,操作流程如下图所示:

sphinx面试题(windows环境下配置sphinx输出html文档)(3)

提示信息为:

  1. 是否分离源文件目录 source 和生成文件目录 build,默认否;
  2. 模板目录 templates 和静态文件目录 static 前缀,默认为_;
  3. 项目名称;
  4. 项目作者;
  5. 项目版本,默认为空;
  6. 项目语言,默认为 en;
  7. 文档扩展名,默认为 .rst;
  8. 首页文件名,默认为 index;
  9. 开启的扩展,均默认为否:
  10. 生成 Makefile,默认是;
  11. 生成 Windows 用命令行,默认是

项目新建后,查看生成的文件目录:

sphinx面试题(windows环境下配置sphinx输出html文档)(4)

各文件或目录的功能为:

②.执行命令make html

在项目根目录下执行命令make html,生成html资源文件:

sphinx面试题(windows环境下配置sphinx输出html文档)(5)

此时查看项目目录:

sphinx面试题(windows环境下配置sphinx输出html文档)(6)

可以看到在build/html文件夹下,生成了html资源文件,打开index.html,可以看到初始化的大致网页框架:

sphinx面试题(windows环境下配置sphinx输出html文档)(7)

③.修改配置文件config.py,添加自己的内容

sphinx面试题(windows环境下配置sphinx输出html文档)(8)

④.生成文档
  1. 首先修改由quickstart初始化生成的make.bat脚本文件,该文件内容为:

@echo OFF pushd %~dp0 REM Command file for Sphinx documentation if "%SPHINXBUILD%" == "" ( set SPHINXBUILD=sphinx-build ) set SOURCEDIR=source set BUILDDIR=build if "%1" == "" goto help %SPHINXBUILD% >NUL 2>NUL if errorlevel 9009 ( echo. echo.The 'sphinx-build' command wa not found. Make sure you have Sphinx echo.installed,then set the SPHINXBUILD environment viriable to point echo.to the full path of the 'sphinx-build' executable.Alternatively you echo.may add the Sphinx directory to PATH. echo. echo.if you don't have Sphinx installed,grab it from echo.http://sphinx-doc.org/ exit /b 1 ) %SPHINXBUILD% -M %1 %SOURCEDIR %BUILDDIR% %SPHINXOPTS% %O% goto end :help %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% :end popd

在这里将SOURCEDIR和BUILDDIR修改为:

set SOURCEDIR=source_zh_cn set BUILDDIR=build_zh_cn

  1. 使用make <type>命令生成特定的文档格式,在这里我们生成html文件执行make html此时,生成了build_zh_cn目录,里面包含了html文档,打开build_zh_cn/html/indext.html,可以在浏览器中review生成的html页面。
总结

在整个过程中我们使用sphinx在windows环境下将多个markdown、reStructuredText说明文档进行链接,构建成为可读性更强的html文档,其中关键的是配置文件的修改和自定义内容格式。使用sphinx可以使得生成的文档更具有可读性和美化,因此推荐参考官方应用案例和配置信息。

,