Size: 4977
Comment:
|
Size: 5357
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
{{{#!rst .. _contents: Sphinx 文档内容 ============================= * `简介 <SphinxIntroduction>`_ concepts rest markup/index builders config templating extensions glossary changes examples Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search` * :ref:`glossary` }}} |
.. _contents: Sphinx 文档内容 ============================= * `简介 <SphinxIntroduction>`_ concepts rest markup/index builders config templating extensions glossary changes examples Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search` * :ref:`glossary`
简介 ============ :原文地址: `<http://sphinx.pocoo.org/intro.html>`_ :翻译人员: `CliffPeng`_ :翻译日期: 2009年01月30日 本文档介绍的是文档编制软件 Sphinx 。该工具可以将一系列 reStructuredText 源 文本转换成各种不同的输出格式,并自动制作交叉引用(cross-references)、索引 等。也就是说,如果某目录中有一系列的 reST 格式文档(可能子目录中也有), Sphinx 可以制作一份组织得非常完美的 HTML 文件(在其它目录中),便于浏览 和查找。但是从同一组源文件,它也可以制作一份 LaTex 文件,以便你将其转换为 PDF 格式的文档。 重点是针对手写文档,而不是自动生成的 API 文档。尽管对自动生成的文档也提供 了有限的支持(目的是为了与手写文档自由混合),但如果你需要纯 API 文档,可 以试下 `Epydoc <http://epydoc.sf.net/>`_ ,它也能够支持 reST 。 从其它系统转换 ----------------------------- 本节对那些想将其他文档系统转换为 reStructuredText_ 或 Sphinx 的人提供了一些 有用的提示。 * Gerard Flanagan 写了一段脚本将纯 HTML 转换为 reST ;可在 `Launchpad <http://bazaar.launchpad.net/~grflanagan/python-rattlebag/trunk/an notate/head:/src/html2rest.py>`_ 找到相关脚本。 * 要将旧的 Python 文档转换为 Sphinx,可以从 `Python SVN 仓库 <http://svn.python .org/projects/doctools/converter>`_ 找到相关转换工具。它包 括将 Python 文档风格 标记转换为 Sphinx reST 的通用代码。 先决条件 ------------- Sphinx 需要 **Python 2.4** 以上才能运行。如果你喜欢源代码高亮显示支持,你还必须 安装 Pygments_ 类库——你可以通过安装工具 easy_install 。Sphinx 需要0.4版本的 docutils 或它的一些(可运行的) SVN 快速版本。 .. _reStructuredText: http://docutils.sf.net/rst.html .. _Pygments: http://pygments.org 建立文档源 ------------------------------------ 文档集合的根目录被称为 *源目录* 。通常,该目录中包含了 Sphinx 配置文件 *conf.py* ,但该 文件也可以存放在其他目录中,或称为 *配置目录* (该功能自0.3版起支持)。 Sphinx 带有一段称作 *sphinx-quickstart* 的脚本,它可以设置 *源目录* 并通过问你一些问题创建 缺省的 *conf.py* 。只需运行:: $ sphinx-quickstart 并回答这些问题。 进行编译 --------------- 编译工作由 *sphinx-build* 脚本启动。它的调用方式如下:: $ sphinx-build -b latex sourcedir builddir 其中 *sourcedir* 为 `源目录 <ShpinxSourceDirectory>`_ ,而 *builddir* 为要存放 已编译文档的目录(必须是已经存在的目录)。选项 *-b* 选择编译器,本例中 Sphinx 将编译 LaTex 文件。 脚本 *sphinx-build* 还有几个选项: **-a** 如果设定该选项,将总是输出所有的文件。缺省情况下将只对已修改的源文件 进行输入。(这一点并不对所有编译器适用。) **-E** 不使用已保存的 `环境 <ShpinxEnvironment>`_ (该数据结构缓存所有的交叉引用), 而是完全重新编译。缺省情况下将只对新的源文件或者上次编译之后已经修改过的源 文件进行读取和解析。 **-d** *path* 由于 Sphinx 在输出文件之前必须读取和分析所有的源文件,已经解析的源文件被缓存 为 "doctree pickles"。通常,这些文件被放置在编译目录下的 *doctrees* 目录中,设定 该选项后,你可以另外选择一个目录(doctrees 可以在所有的编译之间共享)。 **-c** *path* 不在源目录中查找 *conf.py* ` ,而使用给定的配置目录。注意,配置内容的许多不同的 其他文件和路径和配置目录相对的,因此它们也必须放置在该位置。(自0.3版开始增加) **-C** 不查找配置文件,只使用 ``-D`` 选项设定的配置。(自0.5版开始增加) **-D** *setting=value* 覆盖 *conf.py* 文件中所设定的配置值。(值必须是字符串值。) **-A** *name=value* 使 *name* 等于 HTML 模板中的 *value* 。 **-N** 不进行彩色输出(在 Windows 平台上,任何时候都不会使用彩色输出)。 **-q** 在标准输出设备上不作任何输出,只对普通错误输出警告和错误。 **-Q** 在标准输出设备上不作任何输出,同时也禁止警告。只对普通错误输出错误。 **-P** (仅对调试有用)如果在编译时出现未处理例外,运行 Python 调试器—— *pdb* 。 在命令行中,你可在源目录和编译目录之后给定一个或多个文件名。Sphinx 将只试图 编译这些输出文件(及其附属文件)。