diff --git a/internal/epub/epub.go b/internal/epub/epub.go index 14d50fd..dc849aa 100644 --- a/internal/epub/epub.go +++ b/internal/epub/epub.go @@ -292,8 +292,9 @@ func (e *ePub) Write() error { return err } - // Double Page or Last Image - if img.Image.DoublePage || (i+1 == len(part.LoadedImages)) { + // Double Page or Last Image that is not a double page + if img.Image.DoublePage || + (img.Image.Part == 0 && i+1 == len(part.LoadedImages)) { if err := e.writeBlank(wz, img.Image); err != nil { return err } diff --git a/internal/epub/templates/epub_templates_content.go b/internal/epub/templates/epub_templates_content.go index ff594c5..329ffad 100644 --- a/internal/epub/templates/epub_templates_content.go +++ b/internal/epub/templates/epub_templates_content.go @@ -150,7 +150,10 @@ func getManifest(o *ContentOptions) []tag { } items = append(items, itag(img), htag(img)) } - items = append(items, stag(o.Images[len(o.Images)-1])) + lastImage := o.Images[len(o.Images)-1] + if lastImage.Part == 0 { + items = append(items, stag(lastImage)) + } return items }