class documentation

A resolver for crossreference links out of a ParsedDocstring. DocstringLinker is used by ParsedDocstring to look up the target URL for crossreference links.

Method link_to Format a link to a Python identifier. This will resolve the identifier like Python itself would.
Method link_xref Format a cross-reference link to a Python identifier. This will resolve the identifier to any reasonable target, even if it has to look in places where Python itself would not.
Method switch_context Switch the context of the linker, keeping the same underlying lookup rules.
def link_to(self, target: str, label: Flattenable) -> Tag: (source)

Format a link to a Python identifier. This will resolve the identifier like Python itself would.

Parameters
target:strThe name of the Python identifier that should be linked to.
label:FlattenableThe label to show for the link.
Returns
TagThe link, or just the label if the target was not found.
def link_xref(self, target: str, label: Flattenable, lineno: int) -> Tag: (source)

Format a cross-reference link to a Python identifier. This will resolve the identifier to any reasonable target, even if it has to look in places where Python itself would not.

Parameters
target:strThe name of the Python identifier that should be linked to.
label:FlattenableThe label to show for the link.
lineno:intThe line number within the docstring at which the crossreference is located.
Returns
TagThe link, or just the label if the target was not found. In either case, the returned top-level tag will be <code>.
def switch_context(self, ob: Documentable | None) -> ContextManager[None]: (source)

Switch the context of the linker, keeping the same underlying lookup rules.

Useful to resolve links with the right Documentable context but create correct - absolute or relative - links to be clicked on from another page rather than the initial page of the context. "Cannot find link target" errors will be reported relatively to the new context object.

Pass None to always generate full URLs (for summaries for example), in this case error will NOT be reported at all.