Sphinx 0.2¶
Release 0.2 (Apr 27, 2008)¶
Incompatible changes¶
Jinja, the template engine used for the default HTML templates, is now no longer shipped with Sphinx. If it is not installed automatically for you (it is now listed as a dependency in
setup.py
), install it manually from PyPI. This will also be needed if you’re using Sphinx from a SVN checkout; in that case please also remove thesphinx/jinja
directory that may be left over from old revisions.The clumsy handling of the
index.html
template was removed. The config valuehtml_index
is gone, andhtml_additional_pages
should be used instead. If you need it, the oldindex.html
template is still there, calleddefindex.html
, and you can port your html_index template, using Jinja inheritance, by changing your template:{% extends "defindex.html" %} {% block tables %} ... old html_index template content ... {% endblock %}
and putting
'index': name of your template
inhtml_additional_pages
.In the layout template, redundant
block
s were removed; you should use Jinja’s standard{{ super() }}
mechanism instead, as explained in the (newly written) templating docs.
New features added¶
Extension API (Application object):
Support a new method,
add_crossref_type
. It works likeadd_description_unit
but the directive will only create a target and no output.Support a new method,
add_transform
. It takes a standard DocutilsTransform
subclass which is then applied by Sphinx’s reader on parsing reST document trees.Add support for other template engines than Jinja, by adding an abstraction called a “template bridge”. This class handles rendering of templates and can be changed using the new configuration value “template_bridge”.
The config file itself can be an extension (if it provides a
setup()
function).
Markup:
New directive,
currentmodule
. It can be used to indicate the module name of the following documented things without creating index entries.Allow giving a different title to documents in the toctree.
Allow giving multiple options in a
cmdoption
directive.Fix display of class members without explicit class name given.
Templates (HTML output):
index.html
renamed todefindex.html
, see above.There’s a new config value,
html_title
, that controls the overall “title” of the set of Sphinx docs. It is used instead everywhere instead of “Projectname vX.Y documentation” now.All references to “documentation” in the templates have been removed, so that it is now easier to use Sphinx for non-documentation documents with the default templates.
Templates now have an XHTML doctype, to be consistent with Docutils’ HTML output.
You can now create an OpenSearch description file with the
html_use_opensearch
config value.You can now quickly include a logo in the sidebar, using the
html_logo
config value.There are new blocks in the sidebar, so that you can easily insert content into the sidebar.
LaTeX output:
The
sphinx.sty
package was cleaned of unused stuff.You can include a logo in the title page with the
latex_logo
config value.You can define the link colors and a border and background color for verbatim environments.
Thanks to Jacob Kaplan-Moss, Talin, Jeroen Ruigrok van der Werven and Sebastian Wiesner for suggestions.
Bugs fixed¶
sphinx.ext.autodoc: Don’t check
__module__
for explicitly given members. Remove “self” in class constructor argument list.sphinx.htmlwriter: Don’t use os.path for joining image HREFs.
sphinx.htmlwriter: Don’t use SmartyPants for HTML attribute values.
sphinx.latexwriter: Implement option lists. Also, some other changes were made to
sphinx.sty
in order to enhance compatibility and remove old unused stuff. Thanks to Gael Varoquaux for that!sphinx.roles: Fix referencing glossary terms with explicit targets.
sphinx.environment: Don’t swallow TOC entries when resolving subtrees.
sphinx.quickstart: Create a sensible default latex_documents setting.
sphinx.builder, sphinx.environment: Gracefully handle some user error cases.
sphinx.util: Follow symbolic links when searching for documents.