diff options
author | Nozomu Kaneko <nozom.kaneko@gmail.com> | 2012-12-31 23:31:15 +0900 |
---|---|---|
committer | Nozomu Kaneko <nozom.kaneko@gmail.com> | 2012-12-31 23:31:15 +0900 |
commit | a2886594ee5620e93d8561cbb73433f2588ba1d8 (patch) | |
tree | 3c861e8d2ea2c7239b50217c1bc356a7acc74625 | |
parent | 0cdf9c478c2a76ecd93fc69a6602881f081cd4db (diff) | |
download | sphinx-a2886594ee5620e93d8561cbb73433f2588ba1d8.tar.gz |
use `paragraph` nodes instead of `translatable` nodes.
-rw-r--r-- | sphinx/environment.py | 19 | ||||
-rw-r--r-- | sphinx/util/docfields.py | 7 |
2 files changed, 21 insertions, 5 deletions
diff --git a/sphinx/environment.py b/sphinx/environment.py index 0b9e5bcc..1f578b33 100644 --- a/sphinx/environment.py +++ b/sphinx/environment.py @@ -284,12 +284,29 @@ class Locale(Transform): node.children = patch.children +class DocFields(Transform): + """ + Remove nested paragraphs generated by docfields. + """ + default_priority = 999 + + def apply(self): + for field_list in self.document.traverse(nodes.field_list): + for field_body in field_list.traverse(nodes.field_body): + for par in field_list.traverse(nodes.paragraph): + if not ('removable' in par and + isinstance(par.parent, nodes.paragraph)): + continue + par.parent.remove(par) + par.parent += par.children + + class SphinxStandaloneReader(standalone.Reader): """ Add our own transforms. """ transforms = [Locale, CitationReferences, DefaultSubstitutions, - MoveModuleTargets, HandleCodeBlocks, SortIds] + MoveModuleTargets, HandleCodeBlocks, SortIds, DocFields] def get_transforms(self): return standalone.Reader.get_transforms(self) + self.transforms diff --git a/sphinx/util/docfields.py b/sphinx/util/docfields.py index 79326477..1de6a687 100644 --- a/sphinx/util/docfields.py +++ b/sphinx/util/docfields.py @@ -67,9 +67,7 @@ class Field(object): fieldname += nodes.Text(' ') fieldname += self.make_xref(self.rolename, domain, fieldarg, nodes.Text) - par = nodes.paragraph() - par += content - fieldbody = nodes.field_body('', par) + fieldbody = nodes.field_body('', nodes.paragraph('', '', content)) return nodes.field('', fieldname, fieldbody) @@ -257,7 +255,8 @@ class DocFieldTransformer(object): [nodes.Text(argtype)] fieldarg = argname - translatable_content = addnodes.translatable(fieldbody.rawsource) + translatable_content = nodes.paragraph(fieldbody.rawsource, + removable=True) translatable_content.source = fieldbody.parent.source translatable_content.line = fieldbody.parent.line translatable_content += content |