#37150: Version added/changed text, console tabs missing from RTD preview builds,
dirhtml builds, etc.
-------------------------------------+-------------------------------------
Reporter: Mike | Owner: Mike Edmunds
Edmunds |
Type: | Status: assigned
Cleanup/optimization |
Component: | Version: 6.0
Documentation |
Severity: Normal | Keywords: sphinx
Triage Stage: | Has patch: 0
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------+-------------------------------------
There are several related issues in the `docs._ext.djangodocs` Sphinx
extension. The symptom is missing content in most html-like Sphinx builds,
including ReadTheDocs PR preview builds:
- Missing text for `versionadded` and `versionchanged` directives: the
html contains an empty `<div>` where something like "New in Django 6.1" or
"Changed in Django development version" should be.
- Missing console tabs: the html does not include Windows console examples
when they are available.
This affects the html builder (which RTD uses by default), the dirhtml
builder, plus htmlhelp and singlehtml.
The fix is for the djangodocs extension to:
- Register `DjangoHTMLTranslator` for all html-like builders (solves
missing version text)
- Handle all HTML-like builders in `visit_console_html()` and
`ConsoleDirective.run()` (solves missing console tabs)
[Currently, the extension only handles version and console directives for
a custom "djangohtml" builder—used in the docs/Makefile "html" target—and
the "json" builder which is used for the
docs.djangoproject.com site.]
Also, the custom `DjangoStandaloneHTMLBuilder` class can and should be
removed. Its only function is generating `templatebuiltins.js`, which is
meant to enable client-side hyperlinking of template tags and filters in
code examples. But that feature isn't enabled on
docs.djangoproject.com
and has been broken in local docs builds since Sphinx 6.0 removed jQuery
in 2023. It's effectively dead code.
--
Ticket URL: <
https://code.djangoproject.com/ticket/37150>
Django <
https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.