We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
[Docs] Preview pop-up on a link covers the link itself
### Summary

I've come across an issue with that breaks the online documentation completely for me. Whenever I move my mouse pointer over a link to a different part of the documentation, a pop-up appears that covers the link, making it near-impossible to click the link. See this screen recording of the situation that this has manifested first for me:

https://github.com/pypa/setuptools/assets/50332/af946044-7222-4e2d-b090-c771be758598

(On this page: https://setuptools.pypa.io/en/latest/pkg_resources.html)

### OS / Environment

Safari 16.6, macOS 12.6.8.

### Additional Information

IMHO, as it presents itself to me, this feature has downsides that are orders of magnitude bigger that it's upsides. My browser already allows me to preview a page by triple-tapping on the trackpad (macOS) or long-pressing (iOS), so it doesn't add a benefit on these platforms.

---

As an additional note: Even if this feature was implemented in a way where it wouldn't make it impossible to click on some links, it would still be an accessibility issue for me:

I'm on the ADD spectrum and I use my mouse pointer for focussing while reading. It's very natural for me to move my pointer along the text while reading. Such an unavoidable popup will draw my focus away from what I am reading (because it appears when I'm not expecting it and haven't performed an explicit action to make it appear). I'm having this issue also e.g. on GitHub, where some links have pop-ups that appear on mouse hovering.

If you intend on keeping these pop-ups, there is something that you could do to make it a bit less intrusive for people like me (I can't speak for everyone on the ADD spectrum of course): Make the pop-up appear immediately when entering the link's region _and also_ disappear immediately when leaving the region, instead of after a short delay. For example, buttons and links that change appearance while hovering or tool-tips in UIs that appear immediately are much less distracting to me. I think my brain is more likely to associate my action with the appearance of the pop-up and thus able to ignore the stimulus.

But hey, thanks for your work anyways!

### Code of Conduct

- [X] I agree to follow the PSF Code of Conduct

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `docs/conf.py`
Content:
```
1 extensions = [
2     'sphinx.ext.autodoc',
3     'jaraco.packaging.sphinx',
4 ]
5 
6 master_doc = "index"
7 html_theme = "furo"
8 
9 # Link dates and other references in the changelog
10 extensions += ['rst.linker']
11 link_files = {
12     '../NEWS.rst': dict(
13         using=dict(
14             BB='https://bitbucket.org',
15             GH='https://github.com',
16         ),
17         replace=[
18             dict(
19                 pattern=r'(Issue #|\B#)(?P<issue>\d+)',
20                 url='{package_url}/issues/{issue}',
21             ),
22             dict(
23                 pattern=r'(?m:^((?P<scm_version>v?\d+(\.\d+){1,2}))\n[-=]+\n)',
24                 with_scm='{text}\n{rev[timestamp]:%d %b %Y}\n',
25             ),
26             dict(
27                 pattern=r'PEP[- ](?P<pep_number>\d+)',
28                 url='https://peps.python.org/pep-{pep_number:0>4}/',
29             ),
30             dict(
31                 pattern=r'(?<!\w)PR #(?P<pull>\d+)',
32                 url='{package_url}/pull/{pull}',
33             ),
34             dict(
35                 pattern=r'BB Pull Request ?#(?P<bb_pull_request>\d+)',
36                 url='{BB}/pypa/setuptools/pull-request/{bb_pull_request}',
37             ),
38             dict(
39                 pattern=r'Distribute #(?P<distribute>\d+)',
40                 url='{BB}/tarek/distribute/issue/{distribute}',
41             ),
42             dict(
43                 pattern=r'Buildout #(?P<buildout>\d+)',
44                 url='{GH}/buildout/buildout/issues/{buildout}',
45             ),
46             dict(
47                 pattern=r'Old Setuptools #(?P<old_setuptools>\d+)',
48                 url='http://bugs.python.org/setuptools/issue{old_setuptools}',
49             ),
50             dict(
51                 pattern=r'Jython #(?P<jython>\d+)',
52                 url='http://bugs.jython.org/issue{jython}',
53             ),
54             dict(
55                 pattern=r'(Python #|bpo-)(?P<python>\d+)',
56                 url='http://bugs.python.org/issue{python}',
57             ),
58             dict(
59                 pattern=r'Interop #(?P<interop>\d+)',
60                 url='{GH}/pypa/interoperability-peps/issues/{interop}',
61             ),
62             dict(
63                 pattern=r'Pip #(?P<pip>\d+)',
64                 url='{GH}/pypa/pip/issues/{pip}',
65             ),
66             dict(
67                 pattern=r'Packaging #(?P<packaging>\d+)',
68                 url='{GH}/pypa/packaging/issues/{packaging}',
69             ),
70             dict(
71                 pattern=r'[Pp]ackaging (?P<packaging_ver>\d+(\.\d+)+)',
72                 url='{GH}/pypa/packaging/blob/{packaging_ver}/CHANGELOG.rst',
73             ),
74             dict(
75                 pattern=r'setuptools_svn #(?P<setuptools_svn>\d+)',
76                 url='{GH}/jaraco/setuptools_svn/issues/{setuptools_svn}',
77             ),
78             dict(
79                 pattern=r'pypa/(?P<issue_repo>[\-\.\w]+)#(?P<issue_number>\d+)',
80                 url='{GH}/pypa/{issue_repo}/issues/{issue_number}',
81             ),
82             dict(
83                 pattern=r'pypa/(?P<commit_repo>[\-\.\w]+)@(?P<commit_number>[\da-f]+)',
84                 url='{GH}/pypa/{commit_repo}/commit/{commit_number}',
85             ),
86         ],
87     ),
88 }
89 
90 # Be strict about any broken references
91 nitpicky = True
92 
93 # Include Python intersphinx mapping to prevent failures
94 # jaraco/skeleton#51
95 extensions += ['sphinx.ext.intersphinx']
96 intersphinx_mapping = {
97     'python': ('https://docs.python.org/3', None),
98 }
99 
100 # Preserve authored syntax for defaults
101 autodoc_preserve_defaults = True
102 
103 intersphinx_mapping.update(
104     {
105         'pip': ('https://pip.pypa.io/en/latest', None),
106         'build': ('https://pypa-build.readthedocs.io/en/latest', None),
107         'PyPUG': ('https://packaging.python.org/en/latest/', None),
108         'packaging': ('https://packaging.pypa.io/en/latest/', None),
109         'twine': ('https://twine.readthedocs.io/en/stable/', None),
110         'importlib-resources': (
111             'https://importlib-resources.readthedocs.io/en/latest',
112             None,
113         ),
114     }
115 )
116 
117 # Support tooltips on references
118 extensions += ['hoverxref.extension']
119 hoverxref_auto_ref = True
120 hoverxref_intersphinx = [
121     'python',
122     'pip',
123     'build',
124     'PyPUG',
125     'packaging',
126     'twine',
127     'importlib-resources',
128 ]
129 
130 # Add support for linking usernames
131 github_url = 'https://github.com'
132 github_repo_org = 'pypa'
133 github_repo_name = 'setuptools'
134 github_repo_slug = f'{github_repo_org}/{github_repo_name}'
135 github_repo_url = f'{github_url}/{github_repo_slug}'
136 github_sponsors_url = f'{github_url}/sponsors'
137 extlinks = {
138     'user': (f'{github_sponsors_url}/%s', '@%s'),  # noqa: WPS323
139     'pypi': ('https://pypi.org/project/%s', '%s'),  # noqa: WPS323
140     'wiki': ('https://wikipedia.org/wiki/%s', '%s'),  # noqa: WPS323
141 }
142 extensions += ['sphinx.ext.extlinks']
143 
144 # Ref: https://github.com/python-attrs/attrs/pull/571/files\
145 #      #diff-85987f48f1258d9ee486e3191495582dR82
146 default_role = 'any'
147 
148 # HTML theme
149 html_theme = 'furo'
150 html_logo = "images/logo.svg"
151 
152 html_theme_options = {
153     "sidebar_hide_name": True,
154     "light_css_variables": {
155         "color-brand-primary": "#336790",  # "blue"
156         "color-brand-content": "#336790",
157     },
158     "dark_css_variables": {
159         "color-brand-primary": "#E5B62F",  # "yellow"
160         "color-brand-content": "#E5B62F",
161     },
162 }
163 
164 # Redirect old docs so links and references in the ecosystem don't break
165 extensions += ['sphinx_reredirects']
166 redirects = {
167     "userguide/keywords": "/deprecated/changed_keywords.html",
168     "userguide/commands": "/deprecated/commands.html",
169 }
170 
171 # Add support for inline tabs
172 extensions += ['sphinx_inline_tabs']
173 
174 # Support for distutils
175 
176 # Ref: https://stackoverflow.com/a/30624034/595220
177 nitpick_ignore = [
178     ('c:func', 'SHGetSpecialFolderPath'),  # ref to MS docs
179     ('envvar', 'DISTUTILS_DEBUG'),  # undocumented
180     ('envvar', 'HOME'),  # undocumented
181     ('envvar', 'PLAT'),  # undocumented
182     ('envvar', 'DIST_EXTRA_CONFIG'),  # undocumented
183     ('py:attr', 'CCompiler.language_map'),  # undocumented
184     ('py:attr', 'CCompiler.language_order'),  # undocumented
185     ('py:class', 'distutils.dist.Distribution'),  # undocumented
186     ('py:class', 'distutils.extension.Extension'),  # undocumented
187     ('py:class', 'BorlandCCompiler'),  # undocumented
188     ('py:class', 'CCompiler'),  # undocumented
189     ('py:class', 'CygwinCCompiler'),  # undocumented
190     ('py:class', 'distutils.dist.DistributionMetadata'),  # undocumented
191     ('py:class', 'FileList'),  # undocumented
192     ('py:class', 'IShellLink'),  # ref to MS docs
193     ('py:class', 'MSVCCompiler'),  # undocumented
194     ('py:class', 'OptionDummy'),  # undocumented
195     ('py:class', 'UnixCCompiler'),  # undocumented
196     ('py:exc', 'CompileError'),  # undocumented
197     ('py:exc', 'DistutilsExecError'),  # undocumented
198     ('py:exc', 'DistutilsFileError'),  # undocumented
199     ('py:exc', 'LibError'),  # undocumented
200     ('py:exc', 'LinkError'),  # undocumented
201     ('py:exc', 'PreprocessError'),  # undocumented
202     ('py:exc', 'setuptools.errors.PlatformError'),  # sphinx cannot find it
203     ('py:func', 'distutils.CCompiler.new_compiler'),  # undocumented
204     # undocumented:
205     ('py:func', 'distutils.dist.DistributionMetadata.read_pkg_file'),
206     ('py:func', 'distutils.file_util._copy_file_contents'),  # undocumented
207     ('py:func', 'distutils.log.debug'),  # undocumented
208     ('py:func', 'distutils.spawn.find_executable'),  # undocumented
209     ('py:func', 'distutils.spawn.spawn'),  # undocumented
210     # TODO: check https://docutils.rtfd.io in the future
211     ('py:mod', 'docutils'),  # there's no Sphinx site documenting this
212 ]
213 
214 # Allow linking objects on other Sphinx sites seamlessly:
215 intersphinx_mapping.update(
216     python=('https://docs.python.org/3', None),
217 )
218 
219 # Add support for the unreleased "next-version" change notes
220 extensions += ['sphinxcontrib.towncrier']
221 # Extension needs a path from here to the towncrier config.
222 towncrier_draft_working_directory = '..'
223 # Avoid an empty section for unpublished changes.
224 towncrier_draft_include_empty = False
225 # sphinx-contrib/sphinxcontrib-towncrier#81
226 towncrier_draft_config_path = 'towncrier.toml'
227 
228 extensions += ['jaraco.tidelift']
229 
230 # Add icons (aka "favicons") to documentation
231 extensions += ['sphinx_favicon']
232 html_static_path = ['images']  # should contain the folder with icons
233 
234 # Add support for nice Not Found 404 pages
235 extensions += ['notfound.extension']
236 
237 # List of dicts with <link> HTML attributes
238 # static-file points to files in the html_static_path (href is computed)
239 favicons = [
240     {  # "Catch-all" goes first, otherwise some browsers will overwrite
241         "rel": "icon",
242         "type": "image/svg+xml",
243         "static-file": "logo-symbol-only.svg",
244         "sizes": "any",
245     },
246     {  # Version with thicker strokes for better visibility at smaller sizes
247         "rel": "icon",
248         "type": "image/svg+xml",
249         "static-file": "favicon.svg",
250         "sizes": "16x16 24x24 32x32 48x48",
251     },
252     # rel="apple-touch-icon" does not support SVG yet
253 ]
254
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/docs/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -114,19 +114,6 @@
     }
 )
 
-# Support tooltips on references
-extensions += ['hoverxref.extension']
-hoverxref_auto_ref = True
-hoverxref_intersphinx = [
-    'python',
-    'pip',
-    'build',
-    'PyPUG',
-    'packaging',
-    'twine',
-    'importlib-resources',
-]
-
 # Add support for linking usernames
 github_url = 'https://github.com'
 github_repo_org = 'pypa'

{"golden_diff": "diff --git a/docs/conf.py b/docs/conf.py\n--- a/docs/conf.py\n+++ b/docs/conf.py\n@@ -114,19 +114,6 @@\n     }\n )\n \n-# Support tooltips on references\n-extensions += ['hoverxref.extension']\n-hoverxref_auto_ref = True\n-hoverxref_intersphinx = [\n-    'python',\n-    'pip',\n-    'build',\n-    'PyPUG',\n-    'packaging',\n-    'twine',\n-    'importlib-resources',\n-]\n-\n # Add support for linking usernames\n github_url = 'https://github.com'\n github_repo_org = 'pypa'\n", "issue": "[Docs] Preview pop-up on a link covers the link itself\n### Summary\n\nI've come across an issue with that breaks the online documentation completely for me. Whenever I move my mouse pointer over a link to a different part of the documentation, a pop-up appears that covers the link, making it near-impossible to click the link. See this screen recording of the situation that this has manifested first for me:\r\n\r\nhttps://github.com/pypa/setuptools/assets/50332/af946044-7222-4e2d-b090-c771be758598\r\n\r\n(On this page: https://setuptools.pypa.io/en/latest/pkg_resources.html)\n\n### OS / Environment\n\nSafari 16.6, macOS 12.6.8.\n\n### Additional Information\n\nIMHO, as it presents itself to me, this feature has downsides that are orders of magnitude bigger that it's upsides. My browser already allows me to preview a page by triple-tapping on the trackpad (macOS) or long-pressing (iOS), so it doesn't add a benefit on these platforms.\r\n\r\n---\r\n\r\nAs an additional note: Even if this feature was implemented in a way where it wouldn't make it impossible to click on some links, it would still be an accessibility issue for me:\r\n\r\nI'm on the ADD spectrum and I use my mouse pointer for focussing while reading. It's very natural for me to move my pointer along the text while reading. Such an unavoidable popup will draw my focus away from what I am reading (because it appears when I'm not expecting it and haven't performed an explicit action to make it appear). I'm having this issue also e.g. on GitHub, where some links have pop-ups that appear on mouse hovering.\r\n\r\nIf you intend on keeping these pop-ups, there is something that you could do to make it a bit less intrusive for people like me (I can't speak for everyone on the ADD spectrum of course): Make the pop-up appear immediately when entering the link's region _and also_ disappear immediately when leaving the region, instead of after a short delay. For example, buttons and links that change appearance while hovering or tool-tips in UIs that appear immediately are much less distracting to me. I think my brain is more likely to associate my action with the appearance of the pop-up and thus able to ignore the stimulus.\r\n\r\nBut hey, thanks for your work anyways!\n\n### Code of Conduct\n\n- [X] I agree to follow the PSF Code of Conduct\n", "before_files": [{"content": "extensions = [\n    'sphinx.ext.autodoc',\n    'jaraco.packaging.sphinx',\n]\n\nmaster_doc = \"index\"\nhtml_theme = \"furo\"\n\n# Link dates and other references in the changelog\nextensions += ['rst.linker']\nlink_files = {\n    '../NEWS.rst': dict(\n        using=dict(\n            BB='https://bitbucket.org',\n            GH='https://github.com',\n        ),\n        replace=[\n            dict(\n                pattern=r'(Issue #|\\B#)(?P<issue>\\d+)',\n                url='{package_url}/issues/{issue}',\n            ),\n            dict(\n                pattern=r'(?m:^((?P<scm_version>v?\\d+(\\.\\d+){1,2}))\\n[-=]+\\n)',\n                with_scm='{text}\\n{rev[timestamp]:%d %b %Y}\\n',\n            ),\n            dict(\n                pattern=r'PEP[- ](?P<pep_number>\\d+)',\n                url='https://peps.python.org/pep-{pep_number:0>4}/',\n            ),\n            dict(\n                pattern=r'(?<!\\w)PR #(?P<pull>\\d+)',\n                url='{package_url}/pull/{pull}',\n            ),\n            dict(\n                pattern=r'BB Pull Request ?#(?P<bb_pull_request>\\d+)',\n                url='{BB}/pypa/setuptools/pull-request/{bb_pull_request}',\n            ),\n            dict(\n                pattern=r'Distribute #(?P<distribute>\\d+)',\n                url='{BB}/tarek/distribute/issue/{distribute}',\n            ),\n            dict(\n                pattern=r'Buildout #(?P<buildout>\\d+)',\n                url='{GH}/buildout/buildout/issues/{buildout}',\n            ),\n            dict(\n                pattern=r'Old Setuptools #(?P<old_setuptools>\\d+)',\n                url='http://bugs.python.org/setuptools/issue{old_setuptools}',\n            ),\n            dict(\n                pattern=r'Jython #(?P<jython>\\d+)',\n                url='http://bugs.jython.org/issue{jython}',\n            ),\n            dict(\n                pattern=r'(Python #|bpo-)(?P<python>\\d+)',\n                url='http://bugs.python.org/issue{python}',\n            ),\n            dict(\n                pattern=r'Interop #(?P<interop>\\d+)',\n                url='{GH}/pypa/interoperability-peps/issues/{interop}',\n            ),\n            dict(\n                pattern=r'Pip #(?P<pip>\\d+)',\n                url='{GH}/pypa/pip/issues/{pip}',\n            ),\n            dict(\n                pattern=r'Packaging #(?P<packaging>\\d+)',\n                url='{GH}/pypa/packaging/issues/{packaging}',\n            ),\n            dict(\n                pattern=r'[Pp]ackaging (?P<packaging_ver>\\d+(\\.\\d+)+)',\n                url='{GH}/pypa/packaging/blob/{packaging_ver}/CHANGELOG.rst',\n            ),\n            dict(\n                pattern=r'setuptools_svn #(?P<setuptools_svn>\\d+)',\n                url='{GH}/jaraco/setuptools_svn/issues/{setuptools_svn}',\n            ),\n            dict(\n                pattern=r'pypa/(?P<issue_repo>[\\-\\.\\w]+)#(?P<issue_number>\\d+)',\n                url='{GH}/pypa/{issue_repo}/issues/{issue_number}',\n            ),\n            dict(\n                pattern=r'pypa/(?P<commit_repo>[\\-\\.\\w]+)@(?P<commit_number>[\\da-f]+)',\n                url='{GH}/pypa/{commit_repo}/commit/{commit_number}',\n            ),\n        ],\n    ),\n}\n\n# Be strict about any broken references\nnitpicky = True\n\n# Include Python intersphinx mapping to prevent failures\n# jaraco/skeleton#51\nextensions += ['sphinx.ext.intersphinx']\nintersphinx_mapping = {\n    'python': ('https://docs.python.org/3', None),\n}\n\n# Preserve authored syntax for defaults\nautodoc_preserve_defaults = True\n\nintersphinx_mapping.update(\n    {\n        'pip': ('https://pip.pypa.io/en/latest', None),\n        'build': ('https://pypa-build.readthedocs.io/en/latest', None),\n        'PyPUG': ('https://packaging.python.org/en/latest/', None),\n        'packaging': ('https://packaging.pypa.io/en/latest/', None),\n        'twine': ('https://twine.readthedocs.io/en/stable/', None),\n        'importlib-resources': (\n            'https://importlib-resources.readthedocs.io/en/latest',\n            None,\n        ),\n    }\n)\n\n# Support tooltips on references\nextensions += ['hoverxref.extension']\nhoverxref_auto_ref = True\nhoverxref_intersphinx = [\n    'python',\n    'pip',\n    'build',\n    'PyPUG',\n    'packaging',\n    'twine',\n    'importlib-resources',\n]\n\n# Add support for linking usernames\ngithub_url = 'https://github.com'\ngithub_repo_org = 'pypa'\ngithub_repo_name = 'setuptools'\ngithub_repo_slug = f'{github_repo_org}/{github_repo_name}'\ngithub_repo_url = f'{github_url}/{github_repo_slug}'\ngithub_sponsors_url = f'{github_url}/sponsors'\nextlinks = {\n    'user': (f'{github_sponsors_url}/%s', '@%s'),  # noqa: WPS323\n    'pypi': ('https://pypi.org/project/%s', '%s'),  # noqa: WPS323\n    'wiki': ('https://wikipedia.org/wiki/%s', '%s'),  # noqa: WPS323\n}\nextensions += ['sphinx.ext.extlinks']\n\n# Ref: https://github.com/python-attrs/attrs/pull/571/files\\\n#      #diff-85987f48f1258d9ee486e3191495582dR82\ndefault_role = 'any'\n\n# HTML theme\nhtml_theme = 'furo'\nhtml_logo = \"images/logo.svg\"\n\nhtml_theme_options = {\n    \"sidebar_hide_name\": True,\n    \"light_css_variables\": {\n        \"color-brand-primary\": \"#336790\",  # \"blue\"\n        \"color-brand-content\": \"#336790\",\n    },\n    \"dark_css_variables\": {\n        \"color-brand-primary\": \"#E5B62F\",  # \"yellow\"\n        \"color-brand-content\": \"#E5B62F\",\n    },\n}\n\n# Redirect old docs so links and references in the ecosystem don't break\nextensions += ['sphinx_reredirects']\nredirects = {\n    \"userguide/keywords\": \"/deprecated/changed_keywords.html\",\n    \"userguide/commands\": \"/deprecated/commands.html\",\n}\n\n# Add support for inline tabs\nextensions += ['sphinx_inline_tabs']\n\n# Support for distutils\n\n# Ref: https://stackoverflow.com/a/30624034/595220\nnitpick_ignore = [\n    ('c:func', 'SHGetSpecialFolderPath'),  # ref to MS docs\n    ('envvar', 'DISTUTILS_DEBUG'),  # undocumented\n    ('envvar', 'HOME'),  # undocumented\n    ('envvar', 'PLAT'),  # undocumented\n    ('envvar', 'DIST_EXTRA_CONFIG'),  # undocumented\n    ('py:attr', 'CCompiler.language_map'),  # undocumented\n    ('py:attr', 'CCompiler.language_order'),  # undocumented\n    ('py:class', 'distutils.dist.Distribution'),  # undocumented\n    ('py:class', 'distutils.extension.Extension'),  # undocumented\n    ('py:class', 'BorlandCCompiler'),  # undocumented\n    ('py:class', 'CCompiler'),  # undocumented\n    ('py:class', 'CygwinCCompiler'),  # undocumented\n    ('py:class', 'distutils.dist.DistributionMetadata'),  # undocumented\n    ('py:class', 'FileList'),  # undocumented\n    ('py:class', 'IShellLink'),  # ref to MS docs\n    ('py:class', 'MSVCCompiler'),  # undocumented\n    ('py:class', 'OptionDummy'),  # undocumented\n    ('py:class', 'UnixCCompiler'),  # undocumented\n    ('py:exc', 'CompileError'),  # undocumented\n    ('py:exc', 'DistutilsExecError'),  # undocumented\n    ('py:exc', 'DistutilsFileError'),  # undocumented\n    ('py:exc', 'LibError'),  # undocumented\n    ('py:exc', 'LinkError'),  # undocumented\n    ('py:exc', 'PreprocessError'),  # undocumented\n    ('py:exc', 'setuptools.errors.PlatformError'),  # sphinx cannot find it\n    ('py:func', 'distutils.CCompiler.new_compiler'),  # undocumented\n    # undocumented:\n    ('py:func', 'distutils.dist.DistributionMetadata.read_pkg_file'),\n    ('py:func', 'distutils.file_util._copy_file_contents'),  # undocumented\n    ('py:func', 'distutils.log.debug'),  # undocumented\n    ('py:func', 'distutils.spawn.find_executable'),  # undocumented\n    ('py:func', 'distutils.spawn.spawn'),  # undocumented\n    # TODO: check https://docutils.rtfd.io in the future\n    ('py:mod', 'docutils'),  # there's no Sphinx site documenting this\n]\n\n# Allow linking objects on other Sphinx sites seamlessly:\nintersphinx_mapping.update(\n    python=('https://docs.python.org/3', None),\n)\n\n# Add support for the unreleased \"next-version\" change notes\nextensions += ['sphinxcontrib.towncrier']\n# Extension needs a path from here to the towncrier config.\ntowncrier_draft_working_directory = '..'\n# Avoid an empty section for unpublished changes.\ntowncrier_draft_include_empty = False\n# sphinx-contrib/sphinxcontrib-towncrier#81\ntowncrier_draft_config_path = 'towncrier.toml'\n\nextensions += ['jaraco.tidelift']\n\n# Add icons (aka \"favicons\") to documentation\nextensions += ['sphinx_favicon']\nhtml_static_path = ['images']  # should contain the folder with icons\n\n# Add support for nice Not Found 404 pages\nextensions += ['notfound.extension']\n\n# List of dicts with <link> HTML attributes\n# static-file points to files in the html_static_path (href is computed)\nfavicons = [\n    {  # \"Catch-all\" goes first, otherwise some browsers will overwrite\n        \"rel\": \"icon\",\n        \"type\": \"image/svg+xml\",\n        \"static-file\": \"logo-symbol-only.svg\",\n        \"sizes\": \"any\",\n    },\n    {  # Version with thicker strokes for better visibility at smaller sizes\n        \"rel\": \"icon\",\n        \"type\": \"image/svg+xml\",\n        \"static-file\": \"favicon.svg\",\n        \"sizes\": \"16x16 24x24 32x32 48x48\",\n    },\n    # rel=\"apple-touch-icon\" does not support SVG yet\n]\n", "path": "docs/conf.py"}], "after_files": [{"content": "extensions = [\n    'sphinx.ext.autodoc',\n    'jaraco.packaging.sphinx',\n]\n\nmaster_doc = \"index\"\nhtml_theme = \"furo\"\n\n# Link dates and other references in the changelog\nextensions += ['rst.linker']\nlink_files = {\n    '../NEWS.rst': dict(\n        using=dict(\n            BB='https://bitbucket.org',\n            GH='https://github.com',\n        ),\n        replace=[\n            dict(\n                pattern=r'(Issue #|\\B#)(?P<issue>\\d+)',\n                url='{package_url}/issues/{issue}',\n            ),\n            dict(\n                pattern=r'(?m:^((?P<scm_version>v?\\d+(\\.\\d+){1,2}))\\n[-=]+\\n)',\n                with_scm='{text}\\n{rev[timestamp]:%d %b %Y}\\n',\n            ),\n            dict(\n                pattern=r'PEP[- ](?P<pep_number>\\d+)',\n                url='https://peps.python.org/pep-{pep_number:0>4}/',\n            ),\n            dict(\n                pattern=r'(?<!\\w)PR #(?P<pull>\\d+)',\n                url='{package_url}/pull/{pull}',\n            ),\n            dict(\n                pattern=r'BB Pull Request ?#(?P<bb_pull_request>\\d+)',\n                url='{BB}/pypa/setuptools/pull-request/{bb_pull_request}',\n            ),\n            dict(\n                pattern=r'Distribute #(?P<distribute>\\d+)',\n                url='{BB}/tarek/distribute/issue/{distribute}',\n            ),\n            dict(\n                pattern=r'Buildout #(?P<buildout>\\d+)',\n                url='{GH}/buildout/buildout/issues/{buildout}',\n            ),\n            dict(\n                pattern=r'Old Setuptools #(?P<old_setuptools>\\d+)',\n                url='http://bugs.python.org/setuptools/issue{old_setuptools}',\n            ),\n            dict(\n                pattern=r'Jython #(?P<jython>\\d+)',\n                url='http://bugs.jython.org/issue{jython}',\n            ),\n            dict(\n                pattern=r'(Python #|bpo-)(?P<python>\\d+)',\n                url='http://bugs.python.org/issue{python}',\n            ),\n            dict(\n                pattern=r'Interop #(?P<interop>\\d+)',\n                url='{GH}/pypa/interoperability-peps/issues/{interop}',\n            ),\n            dict(\n                pattern=r'Pip #(?P<pip>\\d+)',\n                url='{GH}/pypa/pip/issues/{pip}',\n            ),\n            dict(\n                pattern=r'Packaging #(?P<packaging>\\d+)',\n                url='{GH}/pypa/packaging/issues/{packaging}',\n            ),\n            dict(\n                pattern=r'[Pp]ackaging (?P<packaging_ver>\\d+(\\.\\d+)+)',\n                url='{GH}/pypa/packaging/blob/{packaging_ver}/CHANGELOG.rst',\n            ),\n            dict(\n                pattern=r'setuptools_svn #(?P<setuptools_svn>\\d+)',\n                url='{GH}/jaraco/setuptools_svn/issues/{setuptools_svn}',\n            ),\n            dict(\n                pattern=r'pypa/(?P<issue_repo>[\\-\\.\\w]+)#(?P<issue_number>\\d+)',\n                url='{GH}/pypa/{issue_repo}/issues/{issue_number}',\n            ),\n            dict(\n                pattern=r'pypa/(?P<commit_repo>[\\-\\.\\w]+)@(?P<commit_number>[\\da-f]+)',\n                url='{GH}/pypa/{commit_repo}/commit/{commit_number}',\n            ),\n        ],\n    ),\n}\n\n# Be strict about any broken references\nnitpicky = True\n\n# Include Python intersphinx mapping to prevent failures\n# jaraco/skeleton#51\nextensions += ['sphinx.ext.intersphinx']\nintersphinx_mapping = {\n    'python': ('https://docs.python.org/3', None),\n}\n\n# Preserve authored syntax for defaults\nautodoc_preserve_defaults = True\n\nintersphinx_mapping.update(\n    {\n        'pip': ('https://pip.pypa.io/en/latest', None),\n        'build': ('https://pypa-build.readthedocs.io/en/latest', None),\n        'PyPUG': ('https://packaging.python.org/en/latest/', None),\n        'packaging': ('https://packaging.pypa.io/en/latest/', None),\n        'twine': ('https://twine.readthedocs.io/en/stable/', None),\n        'importlib-resources': (\n            'https://importlib-resources.readthedocs.io/en/latest',\n            None,\n        ),\n    }\n)\n\n# Add support for linking usernames\ngithub_url = 'https://github.com'\ngithub_repo_org = 'pypa'\ngithub_repo_name = 'setuptools'\ngithub_repo_slug = f'{github_repo_org}/{github_repo_name}'\ngithub_repo_url = f'{github_url}/{github_repo_slug}'\ngithub_sponsors_url = f'{github_url}/sponsors'\nextlinks = {\n    'user': (f'{github_sponsors_url}/%s', '@%s'),  # noqa: WPS323\n    'pypi': ('https://pypi.org/project/%s', '%s'),  # noqa: WPS323\n    'wiki': ('https://wikipedia.org/wiki/%s', '%s'),  # noqa: WPS323\n}\nextensions += ['sphinx.ext.extlinks']\n\n# Ref: https://github.com/python-attrs/attrs/pull/571/files\\\n#      #diff-85987f48f1258d9ee486e3191495582dR82\ndefault_role = 'any'\n\n# HTML theme\nhtml_theme = 'furo'\nhtml_logo = \"images/logo.svg\"\n\nhtml_theme_options = {\n    \"sidebar_hide_name\": True,\n    \"light_css_variables\": {\n        \"color-brand-primary\": \"#336790\",  # \"blue\"\n        \"color-brand-content\": \"#336790\",\n    },\n    \"dark_css_variables\": {\n        \"color-brand-primary\": \"#E5B62F\",  # \"yellow\"\n        \"color-brand-content\": \"#E5B62F\",\n    },\n}\n\n# Redirect old docs so links and references in the ecosystem don't break\nextensions += ['sphinx_reredirects']\nredirects = {\n    \"userguide/keywords\": \"/deprecated/changed_keywords.html\",\n    \"userguide/commands\": \"/deprecated/commands.html\",\n}\n\n# Add support for inline tabs\nextensions += ['sphinx_inline_tabs']\n\n# Support for distutils\n\n# Ref: https://stackoverflow.com/a/30624034/595220\nnitpick_ignore = [\n    ('c:func', 'SHGetSpecialFolderPath'),  # ref to MS docs\n    ('envvar', 'DISTUTILS_DEBUG'),  # undocumented\n    ('envvar', 'HOME'),  # undocumented\n    ('envvar', 'PLAT'),  # undocumented\n    ('envvar', 'DIST_EXTRA_CONFIG'),  # undocumented\n    ('py:attr', 'CCompiler.language_map'),  # undocumented\n    ('py:attr', 'CCompiler.language_order'),  # undocumented\n    ('py:class', 'distutils.dist.Distribution'),  # undocumented\n    ('py:class', 'distutils.extension.Extension'),  # undocumented\n    ('py:class', 'BorlandCCompiler'),  # undocumented\n    ('py:class', 'CCompiler'),  # undocumented\n    ('py:class', 'CygwinCCompiler'),  # undocumented\n    ('py:class', 'distutils.dist.DistributionMetadata'),  # undocumented\n    ('py:class', 'FileList'),  # undocumented\n    ('py:class', 'IShellLink'),  # ref to MS docs\n    ('py:class', 'MSVCCompiler'),  # undocumented\n    ('py:class', 'OptionDummy'),  # undocumented\n    ('py:class', 'UnixCCompiler'),  # undocumented\n    ('py:exc', 'CompileError'),  # undocumented\n    ('py:exc', 'DistutilsExecError'),  # undocumented\n    ('py:exc', 'DistutilsFileError'),  # undocumented\n    ('py:exc', 'LibError'),  # undocumented\n    ('py:exc', 'LinkError'),  # undocumented\n    ('py:exc', 'PreprocessError'),  # undocumented\n    ('py:exc', 'setuptools.errors.PlatformError'),  # sphinx cannot find it\n    ('py:func', 'distutils.CCompiler.new_compiler'),  # undocumented\n    # undocumented:\n    ('py:func', 'distutils.dist.DistributionMetadata.read_pkg_file'),\n    ('py:func', 'distutils.file_util._copy_file_contents'),  # undocumented\n    ('py:func', 'distutils.log.debug'),  # undocumented\n    ('py:func', 'distutils.spawn.find_executable'),  # undocumented\n    ('py:func', 'distutils.spawn.spawn'),  # undocumented\n    # TODO: check https://docutils.rtfd.io in the future\n    ('py:mod', 'docutils'),  # there's no Sphinx site documenting this\n]\n\n# Allow linking objects on other Sphinx sites seamlessly:\nintersphinx_mapping.update(\n    python=('https://docs.python.org/3', None),\n)\n\n# Add support for the unreleased \"next-version\" change notes\nextensions += ['sphinxcontrib.towncrier']\n# Extension needs a path from here to the towncrier config.\ntowncrier_draft_working_directory = '..'\n# Avoid an empty section for unpublished changes.\ntowncrier_draft_include_empty = False\n# sphinx-contrib/sphinxcontrib-towncrier#81\ntowncrier_draft_config_path = 'towncrier.toml'\n\nextensions += ['jaraco.tidelift']\n\n# Add icons (aka \"favicons\") to documentation\nextensions += ['sphinx_favicon']\nhtml_static_path = ['images']  # should contain the folder with icons\n\n# Add support for nice Not Found 404 pages\nextensions += ['notfound.extension']\n\n# List of dicts with <link> HTML attributes\n# static-file points to files in the html_static_path (href is computed)\nfavicons = [\n    {  # \"Catch-all\" goes first, otherwise some browsers will overwrite\n        \"rel\": \"icon\",\n        \"type\": \"image/svg+xml\",\n        \"static-file\": \"logo-symbol-only.svg\",\n        \"sizes\": \"any\",\n    },\n    {  # Version with thicker strokes for better visibility at smaller sizes\n        \"rel\": \"icon\",\n        \"type\": \"image/svg+xml\",\n        \"static-file\": \"favicon.svg\",\n        \"sizes\": \"16x16 24x24 32x32 48x48\",\n    },\n    # rel=\"apple-touch-icon\" does not support SVG yet\n]\n", "path": "docs/conf.py"}]}