pdoc icon indicating copy to clipboard operation
pdoc copied to clipboard

External hyperlink produces garbled HTML when end of URL happens to overlap with name of identifier

Open vrama628 opened this issue 7 months ago • 0 comments

Problem Description

pdoc produces incorrect HTML when trying to link to a URL whenever the end of the URL happens to be a . followed by any identifier that appears in the project. This results in HTML that displays incorrectly and links to the wrong place. This seems to happen regardless of whether the link is written via Markdown syntax or reStructuredText syntax.

Steps to reproduce the behavior:

  1. Create issue/__init__.py like this:
    def com():
        """
        [something](https://example.com)
        """
        pass
    
  2. Run pdoc issue to generate documentation
  3. Observe the generated documentation for the com function. It produces HTML that looks like this:
    <a href="https://example<a href=" #com"="">.com</a>"&gt;something
    
    which visually renders as:
    .com">something
    
    where the .com text seems to link to the invalid URL https://example<a href=.

System Information

pdoc: 15.0.4
Python: 3.11.12
Platform: macOS-15.3.1-arm64-arm-64bit

vrama628 avatar Jun 29 '25 18:06 vrama628