My usual process for creating books has changed a bit. It used to be I could create pretty much anything in ePub and then run it through the Calibre conversion to mobi, and then upload ready to go, with a nice clean TOC. With Kindle Fire, Calibre is not yet ready to do the conversion to mobi – even though the new Kindle Fire format (KF8) is pretty darn close to ePub already. So close that I wonder why Amazon STILL isn’t supporting straight ePub. But I digress…
Until all Kindles are fully KF8 compatible, I am doing a work-around. I do an ePub file in Sigil, with all the bells and whistles – floated pictures, right and left margins, simple tables, etc. In order to make this KF8 compatible, I have to create a TOC page, all linked up to each chapter. Then, I tell Sigil which page the TOC is in the content.opf file in the guide section, like so:
<reference href="Text/Section0006.xhtml" title="Table of Contents" type="toc" />
I like to think of this TOC page as an extra pair of underwear, worn on the outside. : ) I already have a TOC built, after all. This one is extra. However, this is the one that Kindle Previewer can see when it builds the mobi. Hit the “Table of contents” button, and this is the page it finds.
Second hack: It’s possible to force the Kindle to start in a specific place (haven’t yet tried this to make Kindle start on a cover). It goes in the same area as the TOC page, in the content.opf file, in the guide section:
<reference href="Text/Section0047.xhtml" title="First" type="other.ms-firstpage" />
As an extra double-check, I used
<div id="start"></div>, where I wanted the book to start, but that didn’t do anything.
My second step in the Kindle process is to create a stripped-down ePub file (removing all bells & whistles) and then converting it to mobi in Calibre. This preserves the document-level TOC. These files are good for every Kindle device…and I recommend using this method for mobi file delivery until KF8 is supported on most/all devices.