openpgp-notes/book/patches/sphinx-11766.patch
David Runge ccddbe4204
Add local copy of upstreamed sphinx patch for CSS issues with EPUBs
The patch fixes https://github.com/sphinx-doc/sphinx/issues/11598
for sphinx >= 7.2.0

Signed-off-by: David Runge <dave@sleepmap.de>
2023-11-24 13:19:20 +01:00

26 lines
1.3 KiB
Diff

diff --git a/sphinx/builders/html/__init__.py b/sphinx/builders/html/__init__.py
index 85067be0178..91d3647597c 100644
--- a/sphinx/builders/html/__init__.py
+++ b/sphinx/builders/html/__init__.py
@@ -1061,7 +1061,9 @@ def css_tag(css: _CascadingStyleSheet) -> str:
attrs.append(f'{key}="{html.escape(value, quote=True)}"')
uri = pathto(os.fspath(css.filename), resource=True)
if checksum := _file_checksum(outdir, css.filename):
- uri += f'?v={checksum}'
+ # the EPUB format does not allow the use of query components
+ if self.name != 'epub':
+ uri += f'?v={checksum}'
return f'<link {" ".join(sorted(attrs))} href="{uri}" />'
ctx['css_tag'] = css_tag
@@ -1092,7 +1094,9 @@ def js_tag(js: _JavaScript | str) -> str:
# https://github.com/sphinx-doc/sphinx/issues/11658
pass
elif checksum := _file_checksum(outdir, js.filename):
- uri += f'?v={checksum}'
+ # the EPUB format does not allow the use of query components
+ if self.name != 'epub':
+ uri += f'?v={checksum}'
if attrs:
return f'<script {" ".join(sorted(attrs))} src="{uri}"></script>'
return f'<script src="{uri}"></script>'