realpython / realpython/python-guide
Generated ePubs failing validation
Nobody has claimed this yet.
- Dominant language
- Batchfile
- Stars
- 29.8k
- Forks
- 5.9k
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
Following on from my latest pull request (#412) here are all the ePub validation failures from trying to export the guide.
That pull request should fix the first three errors. The eleven after it appear to be due to those pages having the quick search widget on them and the start button for it. The next two, along with the two at the end, are broken identifiers in the TOC (probably best to leave these until last). The last error is simply a case of an image being called from another server, but ePub needs all those objects. Fixing this last one just means uploading http://www.python.org/dev/peps/pep-0001/pep-0001-1.png to a suitable location and updating intro/community.rst to use the local version.
bash-3.2$ epubcheck.sh pythonguide.epub
Epubcheck Version 3.0
Validating against EPUB version 2.0
ERROR: pythonguide.epub/search.html(17,57): attribute "id" not allowed here; expected attribute "charset", "defer", "src" or "xml:space"
ERROR: pythonguide.epub/search.html(51,32): element "form" not allowed anywhere; expected the element end-tag, text or element "a", "abbr", "acronym", "address", "applet", "b", "bdo", "big", "blockquote", "br", "cite", "code", "del", "dfn", "div", "dl", "em", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "i", "iframe", "img", "ins", "kbd", "map", "noscript", "ns:svg", "object", "ol", "p", "pre", "q", "samp", "script", "small", "span", "strong", "sub", "sup", "table", "tt", "ul" or "var" (with xmlns:ns="http://www.w3.org/2000/svg")
ERROR: pythonguide.epub/search.html(54,66): element "form" not allowed anywhere; expected the element end-tag, text or element "a", "abbr", "acronym", "address", "applet", "b", "bdo", "big", "blockquote", "br", "cite", "code", "del", "dfn", "div", "dl", "em", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "i", "iframe", "img", "ins", "kbd", "map", "noscript", "ns:svg", "object", "ol", "p", "pre", "q", "samp", "script", "small", "span", "strong", "sub", "sup", "table", "tt", "ul" or "var" (with xmlns:ns="http://www.w3.org/2000/svg")
ERROR: pythonguide.epub/dev/virtualenvs.html(61,37): attribute "start" not allowed here; expected attribute "dir", "id", "lang", "style", "title" or "xml:lang"
ERROR: pythonguide.epub/dev/virtualenvs.html(69,37): attribute "start" not allowed here; expected attribute "dir", "id", "lang", "style", "title" or "xml:lang"
ERROR: pythonguide.epub/dev/virtualenvs.html(113,37): attribute "start" not allowed here; expected attribute "dir", "id", "lang", "style", "title" or "xml:lang"
ERROR: pythonguide.epub/dev/virtualenvs.html(124,37): attribute "start" not allowed here; expected attribute "dir", "id", "lang", "style", "title" or "xml:lang"
ERROR: pythonguide.epub/dev/virtualenvs.html(130,37): attribute "start" not allowed here; expected attribute "dir", "id", "lang", "style", "title" or "xml:lang"
ERROR: pythonguide.epub/shipping/freezing.html(167,37): attribute "start" not allowed here; expected attribute "dir", "id", "lang", "style", "title" or "xml:lang"
ERROR: pythonguide.epub/shipping/freezing.html(175,37): attribute "start" not allowed here; expected attribute "dir", "id", "lang", "style", "title" or "xml:lang"
ERROR: pythonguide.epub/shipping/packaging.html(109,37): attribute "start" not allowed here; expected attribute "dir", "id", "lang", "style", "title" or "xml:lang"
ERROR: pythonguide.epub/shipping/packaging.html(116,37): attribute "start" not allowed here; expected attribute "dir", "id", "lang", "style", "title" or "xml:lang"
ERROR: pythonguide.epub/shipping/packaging.html(123,37): attribute "start" not allowed here; expected attribute "dir", "id", "lang", "style", "title" or "xml:lang"
ERROR: pythonguide.epub/shipping/packaging.html(131,37): attribute "start" not allowed here; expected attribute "dir", "id", "lang", "style", "title" or "xml:lang"
ERROR: pythonguide.epub/genindex.html(22,28): '': fragment identifier is not defined in 'genindex.html'
ERROR: pythonguide.epub/index.html(25,25): '': fragment identifier is not defined in 'index.html'
ERROR: pythonguide.epub/intro/community.html(98,130): 'http://www.python.org/dev/peps/pep-0001/pep-0001-1.png': remote resource reference not allowed; resource must be placed in the OCF
ERROR: pythonguide.epub/starting/install/win.html(54,67): 'id1': fragment identifier is not defined in 'starting/install/win.html'
ERROR: pythonguide.epub/writing/tests.html(240,33): 'id6': fragment identifier is not defined in 'writing/tests.html'
Check finished with warnings or errors
bash-3.2$
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with epubcheck.sh pythonguide.epub and map the reported generated files back to their sources. Review search.html, dev/virtualenvs.html, shipping/freezing.html, shipping/packaging.html, genindex.html, index.html, starting/install/win.html, writing/tests.html, and intro/community.rst. Done means the listed EPUB 2.0 validation errors, including the remote image reference, are resolved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- build-system, documentation
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100