sphinx-doc/sphinx

Index pages use `–` but it can not be used in ePub

Opened this issue · 3 comments

Describe the bug

Books.app shows "error on line 34 at column 29: Entity 'ndash' not defined" on index pages.

epubcheck shows

FATAL(RSC-016): build/epub/Python.epub/genindex-A.xhtml(34,29): Fatal Error while parsing file: The entity "ndash" was referenced, but not declared.

How to Reproduce

make venv && make epub in Doc/ folder in Python source tree.
Show build/epub/Python.epub with Books.app or epubcheck --locale en-US build/epub/Python.epub 2>python-epub-errors.txt

Environment Information

Platform:              darwin; (macOS-14.4.1-arm64-arm-64bit)
Python version:        3.12.2 (main, Feb 25 2024, 03:55:42) [Clang 17.0.6 ])
Python implementation: CPython
Sphinx version:        7.3.7
Docutils version:      0.21.2
Jinja2 version:        3.1.4
Pygments version:      2.18.0

Sphinx extensions

No response

Additional context

No response

Heya, I believe this issue needs to be opened at https://github.com/python/cpython

@chrisjsewell cpython avoid this issue by epub_use_index=False.
python/cpython#118690

The index pages are generated by sphinx itself, not extensions we used.

<h1 id="index">{% trans key=key %}Index &ndash; {{ key }}{% endtrans %}</h1>

#2985 is relating to this issue.