Accept rst syntax in .. statement:: short: text

Nested rst syntax is now parsed and rendered. E.g.:

.. namedconf:statement:: example
   :short: Use ``this`` **cool** syntax!

(cherry picked from commit 563eb8e1b9)
This commit is contained in:
Petr Špaček 2022-06-27 17:03:47 +02:00
parent 5513f47e53
commit 364a15da16
No known key found for this signature in database
GPG key ID: ABD587CDF06581AE

View file

@ -114,10 +114,18 @@ def domain_factory(domainname, domainlabel, todolist):
def isc_short(self):
return self.options.get("short", "")
def parse_nested_str(self, instr):
"""Parse string as nested rst syntax and produce a node"""
raw = nodes.paragraph(text=instr)
parsed = nodes.paragraph()
self.state.nested_parse(raw, self.content_offset, parsed)
return parsed
def transform_content(self, contentnode: addnodes.desc_content) -> None:
"""autogenerate content from structured data"""
if self.isc_short:
contentnode.insert(0, nodes.paragraph(text=self.isc_short))
short_parsed = self.parse_nested_str(self.isc_short)
contentnode.insert(0, short_parsed)
if self.isc_tags:
tags = nodes.paragraph()
tags += nodes.strong(text="Tags: ")