(node: PageElement, page: Page, pages_by_html: dict[Path, Page])
| 301 | |
| 302 | |
| 303 | def _linked_signature_html(node: PageElement, page: Page, pages_by_html: dict[Path, Page]) -> str: |
| 304 | if isinstance(node, NavigableString): |
| 305 | return _html_text(str(node)) |
| 306 | if not isinstance(node, Tag): |
| 307 | return "" |
| 308 | |
| 309 | classes = _tag_classes(node) |
| 310 | if classes & {"anchor", "doc-anchor", "src"} or node.name in {"script", "style", "wbr", "button"}: |
| 311 | return "" |
| 312 | if node.name == "br": |
| 313 | return "\n" |
| 314 | if node.name == "a": |
| 315 | label = "".join(_linked_signature_html(child, page, pages_by_html) for child in node.children) |
| 316 | if not label: |
| 317 | return "" |
| 318 | target = _signature_link_target(page, _tag_href(node), pages_by_html) |
| 319 | if target is None: |
| 320 | return label |
| 321 | return f'<a href="{_html_attr(target)}">{label}</a>' |
| 322 | return "".join(_linked_signature_html(child, page, pages_by_html) for child in node.children) |
| 323 | |
| 324 | |
| 325 | def _linked_signature_block(node: Tag, page: Page, pages_by_html: dict[Path, Page]) -> str: |
no test coverage detected