pdoc3 / pdoc

:snake: :arrow_right: :scroll: Auto-generate API documentation for Python projects
https://pdoc3.github.io/pdoc/
GNU Affero General Public License v3.0
1.12k stars 145 forks source link

Local image not copied over to output directory #268

Open fr34q opened 3 years ago

fr34q commented 3 years ago

Expected Behavior

When adding a local image (relative path) to the Python Docstring like this:

"""
# Test

.. image:: test.svg
"""

then the image should be shown in the generated documentation of this Python file.

Actual Behavior

No image is shown, although the HTML element is generated:

<img alt="" src="test.svg">

The network traffic (when hosted by pdoc3 --http) shows a 302 response with redirection to test.svg/ which then directly afterwards returns a 404 Not Found. The pdoc log states:

127.0.0.1 - - [12/Oct/2020 09:43:32] "GET /pdt/test.html HTTP/1.1" 200 -
127.0.0.1 - - [12/Oct/2020 09:43:32] "GET /pdt/test.svg HTTP/1.1" 302 -
127.0.0.1 - - [12/Oct/2020 09:43:32] "GET /pdt/test.svg/ HTTP/1.1" 404 -

Remote images (using URL) work but local images do not, which is a shame when the idea is to put all documentation within the repository/code. I also tested different image formats like png and jpg, but this did not make a difference.

Steps to Reproduce

  1. Create folder /tmp/pdoctest, within, create a subfolder pdt
  2. In the subfolder, copy an image file, create an empty __init__.py and a test.py file
  3. Paste the above docstring in the test.py file and save it. Make sure that the name of the image matches.
  4. Run PYTHONPATH="/tmp/pdoctest" pdoc3 --http : pdt
  5. In your browser, open http://localhost:8080/pdt/test.html
  6. The heading "Test" should be visible but not the image

Additional info

If you require further information, please let me know!

fr34q commented 3 years ago

I just noticed that someone else already posted this issue here - sorry for this: https://github.com/pdoc3/pdoc/issues/267

I will add a comment there :)