Check out my first novel, midnight's simulacra!

EPUB: Difference between revisions

From dankwiki
No edit summary
Line 19: Line 19:
When using reflowable EPUB, there's no real concept of a page, and thus no real concept of footnotes. One can move them to the end of a chapter, but an arguably better solution is a popup. Enclose the footnote text in an <tt>aside</tt> tag ala:
When using reflowable EPUB, there's no real concept of a page, and thus no real concept of footnotes. One can move them to the end of a chapter, but an arguably better solution is a popup. Enclose the footnote text in an <tt>aside</tt> tag ala:
<syntaxhighlight lang="html">
<syntaxhighlight lang="html">
<aside epub:type="footnote" id="SOMEID">
<aside hidden epub:type="footnote" id="SOMEID">
  <div class="footnote"><a href="#CALLSITE">*</a> Footnote text.</div>
  <div class="footnote"><a href="#CALLSITE">*</a> Footnote text.</div>
</aside>
</aside>
</syntaxhighlight>
</syntaxhighlight>
Use of <tt>epub:type="footnote"</tt> ought result in the text being hidden.
Use of <tt>epub:type="footnote"</tt> ought result in the text being hidden, but you might need <tt>hidden</tt> in your <tt>aside</tt> tag.
Wrap the callsite with an <tt>a</tt> tag:
Wrap the callsite with an <tt>a</tt> tag:
<syntaxhighlight lang="html">
<syntaxhighlight lang="html">

Revision as of 02:58, 7 February 2024

EPUB (in version 3.3 as of 2023-12-21) is a container for ebooks using ZIP for its archive and compression. Most of the content is XHTML or media (usually graphics).

Contents

  • There must be a file mimetype in the toplevel containing the string application/epub+zip
  • There must be a directory META-INF in the toplevel containing:
    • container.xml specifies one or more rootfiles, using their locations relative to the toplevel:
<?xml version="1.0"?>
<container xmlns="urn:oasis:names:tc:opendocument:xmlns:container" version="1.0">
 <rootfiles>
  <rootfile full-path="PATHPATHPATH" media-type="application/oebps-package+xml"/>
 </rootfiles>
</container>

EPUB-specific markup

Ensure you've referenced xmlns:epub="http://www.idpf.org/2007/ops in your html tag.

When using reflowable EPUB, there's no real concept of a page, and thus no real concept of footnotes. One can move them to the end of a chapter, but an arguably better solution is a popup. Enclose the footnote text in an aside tag ala:

<aside hidden epub:type="footnote" id="SOMEID">
 <div class="footnote"><a href="#CALLSITE">*</a> Footnote text.</div>
</aside>

Use of epub:type="footnote" ought result in the text being hidden, but you might need hidden in your aside tag. Wrap the callsite with an a tag:

<a role="doc-noteref" epub:type="noteref" href="#SOMEID" id>Callsite text.</a>

Without role="doc-noteref", you will not get a popup in Calibre.