Merged in russell/sphinx-pluggable-translators (pull request #229)

Allow registration of other translators
This commit is contained in:
Takayuki Shimizukawa
2014-08-03 18:52:02 +09:00
2 changed files with 36 additions and 18 deletions
+13 -4
View File
@@ -82,16 +82,25 @@ package.
Register an event called *name*. This is needed to be able to emit it.
.. method:: Sphinx.add_translator(name, translator_class)
Register a Docutils translator class. This is used to register a
custom output translator. This allows extensions to define custom
nodes for the translator (see :meth:`add_node`). If the name
clashes with an existing translator an
:exc:`sphinx.errors.ExtensionError` will be raised.
.. method:: Sphinx.add_node(node, **kwds)
Register a Docutils node class. This is necessary for Docutils internals.
It may also be used in the future to validate nodes in the parsed documents.
Node visitor functions for the Sphinx HTML, LaTeX, text and manpage writers
can be given as keyword arguments: the keyword must be one or more of
``'html'``, ``'latex'``, ``'text'``, ``'man'``, ``'texinfo'``, the value a
2-tuple of ``(visit, depart)`` methods. ``depart`` can be ``None`` if the
``visit`` function raises :exc:`docutils.nodes.SkipNode`. Example:
can be given as keyword arguments: the keyword should be one or more of
``'html'``, ``'latex'``, ``'text'``, ``'man'``, ``'texinfo'`` or any other
supported translators, the value a 2-tuple of ``(visit, depart)`` methods.
``depart`` can be ``None`` if the ``visit`` function raises
:exc:`docutils.nodes.SkipNode`. Example:
.. code-block:: python