安裝
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 吧