Sphinx 0.2¶
Release 0.2(2008年4月27日)¶
不兼容的更改¶
Jinja,作为默认HTML模板使用的模板引擎,现在不再与Sphinx一起分发.如果它没有自动为您安装(现在在
setup.py
中列为依赖项),请从PyPI手动安装.如果您是从SVN检出使用Sphinx,则也需要这样做;在这种情况下,请删除可能是旧版本遗留下来的sphinx/jinja
目录.处理
index.html
模板的笨拙方式已被移除.配置值html_index
已不再使用,应改为使用html_additional_pages
.如果你需要,旧的index.html
模板仍然存在,称为defindex.html
,你可以通过更改你的模板,使用Jinja继承的方式来移植你的html_index模板:{% extends "defindex.html" %} {% block tables %} ... old html_index template content ... {% endblock %}
并将
'index': 你的模板名称
放入html_additional_pages
中.在布局模板中,冗余的
block
被删除;您应该使用 Jinja 的标准{{ super() }}
机制,如新撰写的模板文档中所解释的那样.
新功能添加¶
扩展 API(应用对象):
支持一种新方法,
add_crossref_type
.它的工作方式类似于add_description_unit
,但该指令只会创建一个目标,而不会产生任何输出.支持一种新方法,
add_transform
. 该方法接受一个标准的 DocutilsTransform
子类,然后由 Sphinx 的阅读器在解析 reST 文档树时应用.添加对其他模板引擎(除了Jinja)的支持,通过添加一个称为 “模板桥接” 的抽象.该类处理模板的渲染,并可以使用新的配置值 “template_bridge” 进行更改.
配置文件本身可以是一个扩展(如果它提供了一个
setup()
函数).
Markup:
新的指令
currentmodule
.它可以用来指示后续文档内容的模块名称,而不会创建索引条目.允许在toctree中为文档提供不同的标题.
允许在
cmdoption
指令中提供多个选项.修复未给出明确类名时类成员的显示问题.
模板 (HTML 输出):
index.html
renamed todefindex.html
, see above.有一个新的配置值
html_title
,它控制整个 Sphinx 文档集的 “标题”. 现在它会在所有地方替代 “项目名称 vX.Y 文档”.所有模板中有关 “文档 “的引用已被删除,因此现在使用默认模板使用 Sphinx 进行非文档文件变得更加容易.
模板现在具有XHTML文档类型,以便与Docutils的HTML输出保持一致.
您现在可以使用
html_use_opensearch
配置值创建 OpenSearch 描述文件.您现在可以通过使用
html_logo
配置值快速在侧边栏中包含一个logo.侧边栏中有新的块,您可以轻松地将内容插入到侧边栏中.
LaTeX输出:
The
sphinx.sty
package was cleaned of unused stuff.您可以在标题页中包含一个徽标,使用
latex_logo
配置值.您可以为逐字环境定义链接颜色、边框和背景颜色.
感谢 Jacob Kaplan-Moss、Talin、Jeroen Ruigrok van der Werven 和 Sebastian Wiesner 的建议.
修复的错误¶
sphinx.ext.autodoc: 不要检查显式给定成员的
__module__
. 删除类构造函数参数列表中的 “self”.sphinx.htmlwriter: 不要使用 os.path 来连接图像 HREFs.
sphinx.htmlwriter: 不要对HTML属性值使用SmartyPants.
sphinx.latexwriter: 实现选项列表.此外,还对
sphinx.sty
进行了其他一些更改,以增强兼容性并移除旧的未使用内容.感谢 Gael Varoquaux 的贡献!sphinx.roles:修复引用具有显式目标的术语表条目.
sphinx.environment: 在解析子树时不要忽略目录条目.
sphinx.quickstart: 创建一个合理的默认 latex_documents 设置.
sphinx.builder,sphinx.environment:优雅地处理一些用户错误情况.
sphinx.util: 在查找文档时跟随符号链接.