electricbookworks / electric-book

A Jekyll template for creating books in multiple formats
https://electricbookworks.github.io/electric-book
GNU General Public License v3.0
117 stars 45 forks source link

Pages 2+ of epub chapter not displayed in Calibre ebook viewer #425

Open jaycolmvar opened 4 years ago

jaycolmvar commented 4 years ago

This looks to be an issue with Calibre and not necessarily with EBW, but anyway:

When I build an epub (including the "samples" book) and view it using Calibre ebook viewer 4.3.0 for Mac, it only displays the first page of each chapter. In other words, if you go to the first page of a chapter that is long enough to have multiple pages, advancing by a page moves to the first page of the next chapter, not to the second page of the current chapter. (I can view more of the chapter content by making the ebook viewer taller, but that's obviously not a general solution.)

The epub validates fine using epubcheck, and it displays correctly in the Apple Books.app for Mac. It also displays correctly in the Kindle Previewer after being converted to .mobi using Kindlegen.

The root cause of the issue seems to be in the styles/epub.css file, specifically in the "overflow-x:hidden" property placed on the body. If I extract the epub contents, remove that one CSS declaration from epub.css, and then zip up the contents to an epub again, then the epub still validates and displays as expected in the Calibre ebook viewer.

I am not a CSS expert, so I have no idea what the "overflow-x" property does or why it's being used in EBW. However, since I wanted to be able to use the Calibre suite for testing my ebook I wanted to bring this issue to your attention.

arthurattwell commented 4 years ago

Thanks, @jaycolmvar. I haven't tested in Calibre before, and will look into that as soon as I get a chance. It's likely that the overflow-x isn't necessary, or could be added as custom CSS when projects require it. Usually, I use it to prevent horizontal scroll for certain design elements, but I don't remember off-hand why it's in the template.