def mkref(self, builder: Builder, term: Term, match: GlossaryListing, textnode): """Make a referenc node""" refuri = None if match: refuri = builder.get_relative_uri(match.doc, match.identifier) refnode = nodes.reference("", "", internal=True, reftitle="", refuri=refuri, refid=f"termref-{term}") if not match: refnode['classes'].append("term-missing") refnode.append(textnode) return refnode
def resolve_xref( self, env: BuildEnvironment, fromdocname: str, builder: Builder, type: str, target: str, node: nodes.pending_xref, contnode: Element ) -> Optional[Element]: reftarget = node.attributes['reftarget'] td_package_ref = node.attributes['reftype'] tdproto_target = TDPROTO_TARGETS.get((td_package_ref, reftarget)) if tdproto_target is None: return None refuri = ( builder.get_relative_uri(fromdocname, DATA_INDEX_DOC_NAME) + f"#{td_package_ref}-{reftarget}" ) return nodes.reference( text=reftarget, refuri=refuri, internal=False)