> [!NOTE]
> Trivial changes (for example typos) don’t require an issue before opening a PR.
- type: textarea
+ id: description
attributes:
label: "Documentation"
- description: "A clear and concise description of the issue."
+ description: "A clear and concise description of the issue. Include a link to the page."
validations:
required: true
--- /dev/null
+:orphan:
+
+****************************
+Improve a documentation page
+****************************
+
+.. This is the no-javascript version of this page. The one most people
+ will see (with JavaScript enabled) is improve-page.rst. If you edit
+ this page, please also edit that one, and vice versa.
+
+.. only:: html and not epub
+
+We are always interested to hear ideas about improvements to the documentation.
+
+.. only:: translation
+
+ If the bug or suggested improvement concerns the translation of this
+ documentation, open an issue or edit the page in
+ `translation's repository <TRANSLATION_REPO_>`_ instead.
+
+You have a few ways to ask questions or suggest changes:
+
+- You can start a discussion about the page on the Python discussion forum.
+ This link will start a topic in the Documentation category:
+ `New Documentation topic <https://discuss.python.org/new-topic?category=documentation>`_.
+
+- You can open an issue on the Python GitHub issue tracker. This link will
+ create a new issue with the "docs" label:
+ `New docs issue <https://github.com/python/cpython/issues/new?template=documentation.yml>`_.
--- /dev/null
+:orphan:
+
+****************************
+Improve a documentation page
+****************************
+
+.. This is the JavaScript-enabled version of this page. Another version
+ (for those with JavaScript disabled) is improve-page-nojs.rst. If you
+ edit this page, please also edit that one, and vice versa.
+
+.. only:: html and not epub
+
+ .. raw:: html
+
+ <script>
+ function applyReplacements(text, params) {
+ return text
+ .replace(/PAGETITLE/g, params.get('pagetitle'))
+ .replace(/PAGEURL/g, params.get('pageurl'))
+ .replace(/PAGESOURCE/g, params.get('pagesource'));
+ }
+
+ document.addEventListener('DOMContentLoaded', () => {
+ const params = new URLSearchParams(window.location.search);
+ const walker = document.createTreeWalker(
+ document.body,
+ NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT,
+ null
+ );
+
+ while (walker.nextNode()) {
+ const node = walker.currentNode;
+
+ if (node.nodeType === Node.TEXT_NODE) {
+ node.textContent = applyReplacements(node.textContent, params)
+ } else if (node.nodeName === 'A' && node.href) {
+ node.setAttribute('href', applyReplacements(node.getAttribute('href'), params));
+ }
+ }
+ });
+ </script>
+
+We are always interested to hear ideas about improvements to the documentation.
+
+You were reading "PAGETITLE" at `<PAGEURL>`_. The source for that page is on
+`GitHub <https://github.com/python/cpython/blob/main/Doc/PAGESOURCE?plain=1>`_.
+
+.. only:: translation
+
+ If the bug or suggested improvement concerns the translation of this
+ documentation, open an issue or edit the page in
+ `translation's repository <TRANSLATION_REPO_>`_ instead.
+
+You have a few ways to ask questions or suggest changes:
+
+- You can start a discussion about the page on the Python discussion forum.
+ This link will start a pre-populated topic:
+ `Question about page "PAGETITLE" <https://discuss.python.org/new-topic?category=documentation&title=Question+about+page+%22PAGETITLE%22&body=About+the+page+at+PAGEURL%3A>`_.
+
+- You can open an issue on the Python GitHub issue tracker. This link will
+ create a new pre-populated issue:
+ `Docs: problem with page "PAGETITLE" <https://github.com/python/cpython/issues/new?template=documentation.yml&title=Docs%3A+problem+with+page+%22PAGETITLE%22&description=The+page+at+PAGEURL+has+a+problem%3A>`_.
+
+- You can `edit the page on GitHub <https://github.com/python/cpython/blob/main/Doc/PAGESOURCE?plain=1>`_
+ to open a pull request and begin the contribution process.
{%- if show_source and has_source and sourcename %}
+ <script>
+ document.addEventListener('DOMContentLoaded', () => {
+ const title = document.querySelector('meta[property="og:title"]').content;
+ const elements = document.querySelectorAll('.improvepage');
+ const pageurl = window.location.href.split('?')[0];
+ elements.forEach(element => {
+ const url = new URL(element.href.split('?')[0].replace("-nojs", ""));
+ url.searchParams.set('pagetitle', title);
+ url.searchParams.set('pageurl', pageurl);
+ url.searchParams.set('pagesource', "{{ pagename }}.rst");
+ element.href = url.toString();
+ });
+ });
+ </script>
<div role="note" aria-label="source link">
<h3>{{ _('This page') }}</h3>
<ul class="this-page-menu">
<li><a href="{{ pathto('bugs') }}">{% trans %}Report a bug{% endtrans %}</a></li>
+ <li><a class="improvepage" href="{{ pathto('improve-page-nojs') }}">{% trans %}Improve this page{% endtrans %}</a></li>
<li>
- <a href="https://github.com/python/cpython/blob/main/Doc/{{ sourcename|replace('.rst.txt', '.rst') }}?plain=1"
+ <a href="https://github.com/python/cpython/blob/main/Doc/{{ pagename }}.rst?plain=1"
rel="nofollow">{{ _('Show source') }}
</a>
</li>
--- /dev/null
+A new "Improve this page" link is available in the left-hand sidebar of the
+docs, offering links to create GitHub issues, discussion forum posts, or
+pull requests.