Docs: split builtins to their own page from library - #156682
Conversation
37b2ad3 to
10c84e6
Compare
|
Also: is this NEWS-worthy? |
I don't see a need for one here, I think the docs speak for themselves. |
Documentation build overview
31 files changed ·
|
hugovk
left a comment
There was a problem hiding this comment.
Shall we name the new Doc/library/builtin-index.rst as Doc/builtins/index.rst instead?
Then instead of:
We get a neater:
This PR can still reference the builtin stuff in their current location, and a followup could move the relevant files and deal with redirects:
- Doc/library/functions.rst -> Doc/builtins/functions.rst
- Doc/library/stdtypes.rst -> Doc/builtins/stdtypes.rst
- Doc/library/constants.rst -> Doc/builtins/constants.rst
- Doc/library/exceptions.rst -> Doc/builtins/exceptions.rst
- Doc/library/threadsafety.rst -> Doc/builtins/threadsafety.rst
- Doc/library/time-complexity.rst -> Doc/builtins/time-complexity.rst
StanFromIreland
left a comment
There was a problem hiding this comment.
Also, you need to update the What Now? page in the tutorial.
I concur with Hugo, splitting this into a separate directory would be nicer. We can do redirects at client side (using one of the various Sphinx extensions) or sever side (by configuring them in python/psf-salt).
| language. It is terse, but attempts to be exact and complete. The semantics of | ||
| non-essential built-in object types and of the built-in functions and modules | ||
| are described in :ref:`library-index`. For an informal introduction to the | ||
| built-in object types and of the built-in functions and modules |
There was a problem hiding this comment.
I don't think we should drop "non-essential" what about everything documented in the datamodel?
There was a problem hiding this comment.
I didn't see what the word "non-essential" was adding here. Which built-in object types are non-essential?
There was a problem hiding this comment.
Types like range, which aren't documented in the Data model.
There was a problem hiding this comment.
+1 for removing the word now.
IMO, Data Model contains largely duplicate information; the relevant parts of it should be moved to builtins/ (just like this PR moves library/, except it'll need merging prose rather than moving pages).
|
I can do the renames and redirects.
What Sphinx extension have we used for redirects before? I see https://github.com/python/psf-salt/blob/main/salt/docs/config/nginx.docs-redirects.conf for the psf-salt approach. |
We use |
I knew rediraffe was somewhere! Is there a reason we don't want to introduce it for the main docs? |
I presume it's simply because there hasn't really been a need so far. We're less keen to move pages here than in the Devguide. IIRC rediraffe requires JS, but that ship has sailed anyway. |
|
Server-side psf-salt redirects would be better than client-side sphinxext-rediraffe: they work with JavaScript disabled (better for all the scrapers and bots), are faster on server-side (HTTP layer before any HTML fetched), and get cached in the CDN, and better for SEO. We don't have such server-side control for the devguide, which is hosted on GitHub Pages. (Also I'd say client-side JS redirects are fine for the less-important devguide.) |
|
That all makes sense. Do we have a way to coordinate the updates to psf-salt with updates to the docs, especially with backports involved? |
|
(There's no documented process I'm afraid) You can open a PR there and limit the redirect to specific Python versions. I can review and merge when we land this. |
c6de373 to
ea9966e
Compare
|
Moving pages causes the "removed HTML IDs" check to fail. The IDs aren't gone, they are in a different page. Do I still add them to removed-ids.txt? |
Yes, see the line with an asyncio file for the required format. |
Why not both? Rediraffe would work when the docs are hosted elsewhere. Also, it would be good if the official list of redirects stays together with the rest of the docs (not only to integrate it with the |
| language. It is terse, but attempts to be exact and complete. The semantics of | ||
| non-essential built-in object types and of the built-in functions and modules | ||
| are described in :ref:`library-index`. For an informal introduction to the | ||
| built-in object types and of the built-in functions and modules |
There was a problem hiding this comment.
+1 for removing the word now.
IMO, Data Model contains largely duplicate information; the relevant parts of it should be moved to builtins/ (just like this PR moves library/, except it'll need merging prose rather than moving pages).
We've talked about separating the built-ins from the stdlib modules, since "dict" (for example) isn't part of the stdlib.
I think I took care of all the places the pages are referenced, but the non-HTML builds are new to me, so I might have missed something.
I tried to make the intro paragraphs and pages useful, and avoided over-editing them.