sphinx/doc/changes/0.2.rst
2024-07-30 21:09:33 +01:00

115 lines
4.4 KiB
ReStructuredText

==========
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 the ``sphinx/jinja`` directory
that may be left over from old revisions.
* The clumsy handling of the ``index.html`` template was removed. The config
value ``html_index`` is gone, and ``html_additional_pages`` should be used
instead. If you need it, the old ``index.html`` template is still there,
called ``defindex.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`` in ``html_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 like
``add_description_unit`` but the directive will only create a target
and no output.
- Support a new method, ``add_transform``. It takes a standard Docutils
``Transform`` 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 to ``defindex.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.