Add ObjectDescription.transform_content()

This commit is contained in:
Jakob Lykke Andersen 2020-03-27 16:41:08 +01:00
parent 6a90c16600
commit fc2edd29a8
2 changed files with 12 additions and 0 deletions

View File

@ -13,6 +13,8 @@ Deprecated
Features added
--------------
* Added ``ObjectDescription.transform_content()``.
Bugs fixed
----------

View File

@ -126,6 +126,15 @@ class ObjectDescription(SphinxDirective):
"""
pass
def transform_content(self, contentnode: addnodes.desc_content) -> None:
"""
Called after creating the content through nested parsing,
but before the ``object-description-transform`` event is emitted,
and before the info-fields are transformed.
Can be used to manipulate the content.
"""
pass
def after_content(self) -> None:
"""
Called after parsing content. Used to reset information about the
@ -198,6 +207,7 @@ class ObjectDescription(SphinxDirective):
self.env.temp_data['object'] = self.names[0]
self.before_content()
self.state.nested_parse(self.content, self.content_offset, contentnode)
self.transform_content(contentnode)
self.env.app.emit('object-description-transform',
self.domain, self.objtype, contentnode)
DocFieldTransformer(self).transform_all(contentnode)