Sphinx 快速使用¶
Sphinx 是一个文档生成工具,用于将一组 reStructuredText 源文件组织成一个文档(如:HTML、PDF),并自动生成交叉引用、索引等。
reStructuredText 是一种轻量级纯文本标记语言,也被简称为:RST 或 reST,以 .rst 为扩展名的文件。
安装¶
Sphinx 是用 Python 编写的,可以使用 pip 快速安装:
pip install -U sphinx
创建文档¶
为了简化创建文档的过程,Sphinx 提供了一个脚本工具,使用该工具创建文档时,会问几个文档配置的问题。运行脚本工具:
sphinx-quickstart project_name
# 是否分离源目录和构建目录
> Separate source and build directories (y/n) [n]: y
# 设置文档名称
> Project name: 技术文档写作指南
# 设置作者名
> Author name(s): glenn
# 支持多版本发布,直接回车跳过
> Project release []:
# 文档语言
> Project language [en]: zh_CN
编辑文档¶
sphinx-quickstart 脚本工具会在文档 source 目录下创建 conf.py 配置文件和 index.rst 主文件。
提示
index.rst 文件相当于文档的“目录树”(或“目录根”)。
为文档新建内容文件,例如:Welcome.rst。
编辑 index.rst 主文件,在 .. toctree:: 下添加文档目录,文档名使用 / 作为路径分隔符,并且不包含文件扩展名。
.. toctree::
:maxdepth: 2
welcome
usage/started
...
构建文档¶
sphinx-quickstart 脚本工具会在文档目录下创建了一个 Makefile 和一个 make.bat。通过运行 make 来构建文档。例如:
# 构建 HTML 文档
make html
# 构建 PDF 文档
make latexpdf
同时,可以使用 sphinx-build 命令更详细的自定义构建内容。请参见 官网
# 自定义构建时输出的目录,最后一个参数
sphinx-build -b html document/source ~/doc
优化文档¶
由于 sphinx 是在英文环境下开发的,其很多功能默认针对英文环境。在中文环境中需要进行必要的环境优化。
支持中文搜索¶
Sphinx 默认不支持中文搜索,需要安装中文分词扩展来支持中文搜索。
pip install jieba
修改 conf.py 配置文件,在最后添加:
html_search_language = 'zh'
提示
最好先安装 jieba 分词模块,然后在安装 sphinx。经测试有时会出现搜索不显示内页详情的情况。
修改主题¶
安装 sphinx_rtd_theme 主题。
pip install sphinx_rtd_theme
修改 conf.py 配置文件中的相应项。
html_theme = 'sphinx_rtd_theme'
更多主题请参见: sphinx 在线主题预览