diff --git a/internal/epub/epub.go b/internal/epub/epub.go index 23d7690..c8d87fa 100644 --- a/internal/epub/epub.go +++ b/internal/epub/epub.go @@ -261,6 +261,10 @@ func (e *ePub) Write() error { "PageWidth": e.Image.View.Width, "PageHeight": e.Image.View.Height, })}, + {"OEBPS/Text/space_title.xhtml", e.render(epubtemplates.Blank, map[string]any{ + "Title": "Blank Page Title", + "ViewPort": fmt.Sprintf("width=%d,height=%d", e.Image.View.Width, e.Image.View.Height), + })}, {"OEBPS/Text/title.xhtml", e.render(epubtemplates.Text, map[string]any{ "Title": title, "ViewPort": fmt.Sprintf("width=%d,height=%d", e.Image.View.Width, e.Image.View.Height), diff --git a/internal/epub/templates/epub_templates_content.go b/internal/epub/templates/epub_templates_content.go index 63f6bc1..330eb35 100644 --- a/internal/epub/templates/epub_templates_content.go +++ b/internal/epub/templates/epub_templates_content.go @@ -142,6 +142,7 @@ func getManifest(o *ContentOptions) []tag { items := []tag{ {"item", tagAttrs{"id": "toc", "href": "toc.xhtml", "properties": "nav", "media-type": "application/xhtml+xml"}, ""}, {"item", tagAttrs{"id": "css", "href": "Text/style.css", "media-type": "text/css"}, ""}, + {"item", tagAttrs{"id": "space_title", "href": "Text/space_title.xhtml", "media-type": "application/xhtml+xml"}, ""}, {"item", tagAttrs{"id": "page_title", "href": "Text/title.xhtml", "media-type": "application/xhtml+xml"}, ""}, {"item", tagAttrs{"id": "img_title", "href": "Images/title.jpg", "media-type": "image/jpeg"}, ""}, } @@ -180,7 +181,8 @@ func getSpine(o *ContentOptions) []tag { } spine := []tag{ - {"itemref", tagAttrs{"idref": "page_title", "properties": getSpread(true)}, ""}, + {"itemref", tagAttrs{"idref": "space_title", "properties": getSpread(false) + " layout-blank"}, ""}, + {"itemref", tagAttrs{"idref": "page_title", "properties": getSpread(false)}, ""}, } for _, img := range o.Images { if img.DoublePage && isOnTheRight {