sphinx-notfound-page
sphinx-notfound-page copied to clipboard
Read the Docs one `/_/` special URLs
If you go to https://docs.readthedocs.io/en/stable/notfound and open the Javascript console you will see that the file https://docs.readthedocs.io/en/stable/_/static/javascript/readthedocs-doc-embed.js returned 404. For some reason, this URL is being changed when it should not.
The valid URL for this case is https://docs.readthedocs.io/_/static/javascript/readthedocs-doc-embed.js. Note that it does not include /en/stable/
Related to #200 Related to #206
The valid URL for this case is
https://docs.readthedocs.io/_/static/javascript/readthedocs-doc-embed.js. Note that it does not include/en/stable/
I suppose the URL injected by Read the Docs may be relative and that's why it's not working...
I checked for this in the source code and I found the following:
- https://github.com/rtfd/readthedocs-sphinx-ext/blob/673fbb09a5d268e73bf79da4cee3a193eab115a0/readthedocs_ext/readthedocs.py#L82
- https://github.com/readthedocs/readthedocs.org/blob/3b487c9877f91e2e67eb9854729608233959d29d/readthedocs/doc_builder/backends/sphinx.py#L186
- https://github.com/readthedocs/readthedocs.org/blob/3b487c9877f91e2e67eb9854729608233959d29d/readthedocs/projects/models.py#L633-L636
Executing that on docs project:
In [2]: p = Project.objects.get(slug='docs')
In [4]: p.proxied_static_path
Out[4]: '/_/static/'
So, the final URL would be /_/static/javascript/readthedocs-doc-embed.js. That URL should be skipped by the extension, in theory, due to this code we added before: https://github.com/rtfd/sphinx-notfound-page/blob/6f01c89834f21643836ce40cbcb4e017152dd757/notfound/extension.py#L100-L102
It seems this is not a problem anymore.
Note that we are using addons now and the URL used for them is https://docs.readthedocs.io/_/static/javascript/readthedocs-addons.js