* Fix wrong generation of directives of static methods in autosummary.
* Import PIL as ``from PIL import Image``.
* Fix longtables with captions in LaTeX output.
* Make token references work as hyperlinks again in LaTeX output.
* Show warnings by default when reference labels cannot be found.
* Include line number when complaining about missing reference
targets in nitpicky mode.
* Fix inline display of graphviz diagrams in LaTeX output.
* Build using app.build() in setup command.
* Fix a bug in the inheritance diagram exception that caused base
classes to be skipped if one of them is a builtin.
* Fix general index links for C++ domain objects.
* Make admonition boundaries in LaTeX output visible.
* Fix KeyErrors occurring on rebuild after removing a file.
* Fix a traceback when removing files with globbed toctrees.
* If an autodoc object cannot be imported, always re-read the
document containing the directive on next build.
* If an autodoc object cannot be imported, show the full traceback
of the import error.
* Fix a bug where the removal of download files and images wasn't
noticed.
* Implement ``~`` cross-reference prefix for the C domain.
* Fix regression of LaTeX output.
* Fix lookup of class attribute documentation on descriptors
so that comment documentation now works.
* Fix traceback with ``only`` directives preceded by targets.
* Fix tracebacks occurring for duplicate C++ domain objects.
* Fix JavaScript domain links to objects with ``$`` in their name.
* Open intersphinx inventories in binary mode on Windows,
since version 2 contains zlib-compressed data.
* Allow giving non-local URIs for JavaScript files, e.g.
in the JSMath extension.
* Fix traceback when ``intersphinx_mapping`` is empty.
Changes 1.0.3:
* Fix internal vs. external link distinction for links coming
from a docutils table-of-contents.
* Fix the ``maxdepth`` option for the ``toctree()`` template
callable when used with ``collapse=True``.
* Fix crash parsing Python argument lists containing brackets
in string literals.
* Fix regression when building LaTeX docs with figures that
don't have captions.
* Fix inheritance diagrams for classes that are not picklable.
* Introduce separate background color for the sidebar collapse
button, making it easier to see.
* Fix small layout bugs in several builtin themes.
* Support for domains has been added. A domain is a collection of
directives and roles that all describe objects belonging together,
e.g. elements of a programming language. A few builtin domains are
provided:
- Python
- C
- C++
- JavaScript
- reStructuredText
* The old markup for defining and linking to C directives is now
deprecated. It will not work anymore in future versions without
activating the :mod:`~sphinx.ext.oldcmarkup` extension; in Sphinx
1.0, it is activated by default.
* Removed support for old dependency versions; requirements are now:
- docutils >= 0.5
- Jinja2 >= 2.2
* Removed deprecated elements:
- ``exclude_dirs`` config value
- ``sphinx.builder`` module
Features added
--------------
* General:
- Added a "nitpicky" mode that emits warnings for all missing
references. It is activated by the :option:`-n` command-line switch
or the :confval:`nitpicky` config value.
- Added ``latexpdf`` target in quickstart Makefile.
* Markup:
- The :rst:role:`menuselection` and :rst:role:`guilabel` roles now
support ampersand accelerators.
- New more compact doc field syntax is now recognized: ``:param type
name: description``.
- Added ``tab-width`` option to :rst:dir:`literalinclude` directive.
- Added ``titlesonly`` option to :rst:dir:`toctree` directive.
- Added the ``prepend`` and ``append`` options to the
:rst:dir:`literalinclude` directive.
- #284: All docinfo metadata is now put into the document metadata, not
just the author.
- The :rst:role:`ref` role can now also reference tables by caption.
- The :rst:dir:`include` directive now supports absolute paths, which
are interpreted as relative to the source directory.
- In the Python domain, references like ``:func:`.name``` now look for
matching names with any prefix if no direct match is found.
* New builders:
- Added a builder for the Epub format.
- Added a builder for manual pages.
- Added a single-file HTML builder.
* Extensions:
- Added the :mod:`~sphinx.ext.viewcode` extension.
- Added the :mod:`~sphinx.ext.extlinks` extension.
- Added support for source ordering of members in autodoc, with
``autodoc_member_order = 'bysource'``.
- Added :confval:`autodoc_default_flags` config value, which can be
used to select default flags for all autodoc directives.
- Added a way for intersphinx to refer to named labels in other
projects, and to specify the project you want to link to.
- #280: Autodoc can now document instance attributes assigned in
``__init__`` methods.
- Many improvements and fixes to the :mod:`~sphinx.ext.autosummary`
extension, thanks to Pauli Virtanen.
- #309: The :mod:`~sphinx.ext.graphviz` extension can now output SVG
instead of PNG images, controlled by the
:confval:`graphviz_output_format` config value.
- Added ``alt`` option to :rst:dir:`graphviz` extension directives.
- Added ``exclude`` argument to :func:`.autodoc.between`.
* Incompatible changes:
- Templating now requires the Jinja2 library
- The "document" div tag has been moved out of the ``layout.html``
template's "document" block
- The ``autodoc_skip_member`` event now also gets to decide
whether to skip members whose name starts with underscores.
* Theming support
* Markup:
- Due to popular demand, added a ``:doc:`` role which directly
links to another document without the need of creating a
label to which a ``:ref:`` could link to.
- Added a ``:download:`` role that marks a non-document file
for inclusion into the HTML output and links to it.
- Added an ``only`` directive that can selectively include text
based on enabled "tags".
- Added HTML section numbers, enabled by giving a
``:numbered:`` flag to the ``toctree`` directive.
- Scaled images now get a link to the unscaled version.
- SVG images are now supported in HTML (via ``<object>`` and
``<embed>`` tags).
* Builders:
- New builder for Qt help collections, by Antonio Valentino.
- The new ``DirectoryHTMLBuilder`` (short name ``dirhtml``) creates
a separate directory for every page, and places the page there
in a file called ``index.html``.
* New translations:
* Bug Fixes.
Sphinx is a tool that makes it easy to create intelligent and beautiful
documentation for Python projects (or other documents consisting of multiple
reStructuredText sources), written by Georg Brandl. It was originally
created to translate the new Python documentation, but has now been cleaned
up in the hope that it will be useful to many other projects.
Sphinx uses reStructuredText as its markup language, and many of its
strengths come from the power and straightforwardness of reStructuredText
and its parsing and translating suite, the Docutils.
Although it is still under constant development, the following features are
already present, work fine and can be seen "in action" in the Python docs:
* Output formats: HTML (including Windows HTML Help), plain text and LaTeX,
for printable PDF versions
* Extensive cross-references: semantic markup and automatic links for
functions, classes, glossary terms and similar pieces of information
* Hierarchical structure: easy definition of a document tree, with automatic
links to siblings, parents and children
* Automatic indices: general index as well as a module index
* Code handling: automatic highlighting using the Pygments highlighter
* Various extensions are available, e.g. for automatic testing of snippets
and inclusion of appropriately formatted docstrings.