)
@classmethod
- def process_statementlist_nodes(cls, app, doctree, fromdocname):
+ def process_statementlist_nodes(cls, app, doctree):
"""
Replace todolist objects (placed into document using
.. statementlist::) with automatically generated table
)
)
),
- iscconf.list_all(fromdocname),
+ iscconf.list_all(),
),
key=lambda x: x["fullname"],
)
gen_replacement_table(acceptable_blocks, acceptable_tags)
)
- def list_all(self, fromdocname):
+ def list_all(self):
for statement in self.data["statements"].values():
+ sig = statement["signature"]
block_names = set(
- path[-1]
- for path in self.statement_blocks.get(statement["signature"], [])
+ path[-1] for path in self.statement_blocks.get(sig, [])
)
tags_txt = ", ".join(statement["tags"])
refpara = nodes.inline()
- refpara += self.resolve_xref(
- self.env,
- fromdocname,
- self.env.app.builder,
- None,
- statement["signature"],
- None,
- nodes.Text(statement["signature"]),
+ refnode = addnodes.pending_xref(
+ sig,
+ reftype="statement",
+ refdomain=domainname,
+ reftarget=sig,
+ refwarn=True,
)
+ refnode += nodes.Text(sig)
+ refpara += refnode
copy = statement.copy()
copy["block_names"] = block_names
Conf = domain_factory(domainname, confname, docutilsplaceholder, grammar)
app.add_domain(Conf)
- app.connect("doctree-resolved", Conf.process_statementlist_nodes)
+ app.connect("doctree-read", Conf.process_statementlist_nodes)
return {
"version": "0.1",