Add Sphinx.add_post_transform()

This commit is contained in:
Takeshi KOMIYA 2017-03-05 20:46:36 +09:00
parent 57bb34e5e6
commit 99ded4c8b1
2 changed files with 12 additions and 1 deletions

View File

@ -288,6 +288,11 @@ package.
Add the standard docutils :class:`Transform` subclass *transform* to the list Add the standard docutils :class:`Transform` subclass *transform* to the list
of transforms that are applied after Sphinx parses a reST document. of transforms that are applied after Sphinx parses a reST document.
.. method:: Sphinx.add_post_transform(transform)
Add the standard docutils :class:`Transform` subclass *transform* to the list
of transforms that are applied before Sphinx writes a document.
.. method:: Sphinx.add_javascript(filename) .. method:: Sphinx.add_javascript(filename)
Add *filename* to the list of JavaScript files that the default HTML template Add *filename* to the list of JavaScript files that the default HTML template

View File

@ -144,6 +144,7 @@ class Sphinx(object):
self.builder = None # type: Builder self.builder = None # type: Builder
self.env = None # type: BuildEnvironment self.env = None # type: BuildEnvironment
self.enumerable_nodes = {} # type: Dict[nodes.Node, Tuple[unicode, Callable]] # NOQA self.enumerable_nodes = {} # type: Dict[nodes.Node, Tuple[unicode, Callable]] # NOQA
self.post_transforms = [] # type: List[Transform]
self.srcdir = srcdir self.srcdir = srcdir
self.confdir = confdir self.confdir = confdir
@ -785,10 +786,15 @@ class Sphinx(object):
StandardDomain.roles[rolename] = XRefRole(innernodeclass=ref_nodeclass) StandardDomain.roles[rolename] = XRefRole(innernodeclass=ref_nodeclass)
def add_transform(self, transform): def add_transform(self, transform):
# type: (Transform) -> None # type: (Type[Transform]) -> None
logger.debug('[app] adding transform: %r', transform) logger.debug('[app] adding transform: %r', transform)
SphinxStandaloneReader.transforms.append(transform) SphinxStandaloneReader.transforms.append(transform)
def add_post_transform(self, transform):
# type: (Type[Transform]) -> None
logger.debug('[app] adding post transform: %r', transform)
self.post_transforms.append(transform)
def add_javascript(self, filename): def add_javascript(self, filename):
# type: (unicode) -> None # type: (unicode) -> None
logger.debug('[app] adding javascript: %r', filename) logger.debug('[app] adding javascript: %r', filename)