安装
sudo pip install sphinx
初始化
进入你代码所在的目录,输入以下内容
sphinx-quickstart
会出来一系列要选填的东西,按照我的填入就可以了
Welcome to the Sphinx 1.2.3 quickstart utility.
Please enter values for the following settings (just press Enter to
accept a default value, if one is given in brackets).
Enter the root path for documentation.
> Root path for the documentation [.]: doc
You have two options for placing the build directory for Sphinx output.
Either, you use a directory "_build" within the root path, or you separate
"source" and "build" directories within the root path.
> Separate source and build directories (y/n) [n]: n
Inside the root directory, two more directories will be created; "_templates"
for custom HTML templates and "_static" for custom stylesheets and other static
files. You can enter another prefix (such as ".") to replace the underscore.
> Name prefix for templates and static dir [_]:
The project name will occur in several places in the built documentation.
> Project name: bz_python_lib
> Author name(s): bigzhu
Sphinx has the notion of a "version" and a "release" for the
software. Each version can have multiple releases. For example, for
Python the version is something like 2.5 or 3.0, while the release is
something like 2.5.1 or 3.0a1. If you don't need this dual structure,
just set both to the same value.
> Project version: 1.0
> Project release [1.0]:
The file name suffix for source files. Commonly, this is either ".txt"
or ".rst". Only files with this suffix are considered documents.
> Source file suffix [.rst]:
One document is special in that it is considered the top node of the
"contents tree", that is, it is the root of the hierarchical structure
of the documents. Normally, this is "index", but if your "index"
document is a custom template, you can also set this to another filename.
> Name of your master document (without suffix) [index]:
Sphinx can also add configuration for epub output:
> Do you want to use the epub builder (y/n) [n]:
Please indicate if you want to use one of the following Sphinx extensions:
> autodoc: automatically insert docstrings from modules (y/n) [n]: y
> doctest: automatically test code snippets in doctest blocks (y/n) [n]:
> intersphinx: link between Sphinx documentation of different projects (y/n) [n]:
> todo: write "todo" entries that can be shown or hidden on build (y/n) [n]:
> coverage: checks for documentation coverage (y/n) [n]:
> pngmath: include math, rendered as PNG images (y/n) [n]:
> mathjax: include math, rendered in the browser by MathJax (y/n) [n]:
> ifconfig: conditional inclusion of content based on config values (y/n) [n]:
> viewcode: include links to the source code of documented Python objects (y/n) [n]: y
A Makefile and a Windows command file can be generated for you so that you
only have to run e.g. `make html' instead of invoking sphinx-build
directly.
> Create Makefile? (y/n) [y]: y
> Create Windows command file? (y/n) [y]: n
路径我希望是在当面目录的 doc 目录里,所以我加入了 doc,把生成 doc 相关的东西放到 doc 目录里面会妥当一些.
项目名称和作者你就别照着我的填了.
autodoc 要改成y
其他的看你的需要来改就可以了.
输错了没关系.到doc/conf.py自己改就可以了.
从 docstring 生成 doc
配置修改
sphinx还是有些脑残的,自信的认为,源代码和它的那些乱七八糟的东西是放在一起的.
编辑 conf.py, 打开这行的注释,并且把.修改为..
sys.path.insert(0, os.path.abspath('..'))
生成 rst
到代码目录,执行以下命令
sphinx-apidoc -o ./doc ./
会生成对应 python 文件名的 rst 文件
Creating file ./doc/public.rst.
Creating file ./doc/test.rst.
Creating file ./doc/modules.rst.
生成 html
进入 doc 执行
cd doc
make html
打开 html, 愉快的浏览吧
cd _build/html/
open index.html
愉快的浏览 api 吧