Converting the book to epub

Contents of an .epub file

content.opf

<?xml version="1.0" encoding="UTF-8"?>
<package xmlns="http://www.idpf.org/2007/opf" unique-identifier="bookid" version="3.0">
  <metadata xmlns:dc="http://purl.org/dc/elements/1.1/">
    <dc:title>The Great Adventure</dc:title>
    <dc:creator>John Smith</dc:creator>
    <dc:language>en</dc:language>
    <dc:identifier id="bookid">urn:uuid:12345678-1234-5678-1234-567812345678</dc:identifier>
    <!-- Additional metadata goes here -->
  </metadata>
  <manifest>
    <item id="html" href="content.html" media-type="application/xhtml+xml" />
    <item id="css" href="stylesheet.css" media-type="text/css" />
    <item id="toc" href="toc.ncx" media-type="application/x-dtbncx+xml" />
    <!-- Add any additional items, such as images or fonts, with their respective media types and file paths -->
  </manifest>
  <spine toc="toc">
    <itemref idref="html" />
    <!-- Add any additional itemref elements to specify the reading order of the content -->
  </spine>
</package>

Okay so lets break down what we actually need to fill out:

unique-identifier

dc:title

dc:creator

dc:language

dc:identifier (same as unique-identifier)

toc.ncx

example:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ncx PUBLIC "-//NISO//DTD ncx 2005-1//EN"
    "http://www.daisy.org/z3986/2005/ncx-2005-1.dtd">
<ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1">
  <head>
    <meta name="dtb:uid" content="urn:uuid:12345678-1234-5678-1234-567812345678" />
    <meta name="dtb:depth" content="1" />
    <meta name="dtb:totalPageCount" content="0" />
    <meta name="dtb:maxPageNumber" content="0" />
  </head>
  <docTitle>
    <text>The Great Adventure</text>
  </docTitle>
  <navMap>
    <navPoint id="navPoint-1" playOrder="1">
      <navLabel>
        <text>Chapter 1</text>
      </navLabel>
      <content src="chapter1.html" />
    </navPoint>
    <navPoint id="navPoint-2" playOrder="2">
      <navLabel>
        <text>Chapter 2</text>
      </navLabel>
      <content src="chapter2.html" />
    </navPoint>
    <!-- Additional navPoint elements for more chapters or sections -->
  </navMap>
</ncx>

stylesheet.css

images/

html files

Head section

Title

A developer’s journey

What goes into the meta tags

Turns out that the meta tags are not the primary place for metadata, but the content.opf is. As for keywords they are entered separately during the publishing process.

name

content

author

description

keywords

How do I load the cover page

Body section

Distribution

Amazon Kindle Publishing Direct

KDP Help page here

Kindle Previewer here

Apple books

Promotion