From 3f76bb822fa85f1f02ee85f365c8ab36eb2f54c9 Mon Sep 17 00:00:00 2001 From: Mikkel Vester Petersen Date: Thu, 12 Sep 2019 12:22:23 +0200 Subject: [PATCH] Get spread from metadata --- src/packaging.js | 1 + src/rendition.js | 8 ++++++++ types/packaging.d.ts | 3 ++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/packaging.js b/src/packaging.js index 0d353ed..d00b043 100644 --- a/src/packaging.js +++ b/src/packaging.js @@ -101,6 +101,7 @@ class Packaging { metadata.flow = this.getPropertyText(xml, "rendition:flow"); metadata.viewport = this.getPropertyText(xml, "rendition:viewport"); metadata.media_active_class = this.getPropertyText(xml, "media:active-class"); + metadata.spread = this.getPropertyText(xml, "rendition:spread"); // metadata.page_prog_dir = packageXml.querySelector("spine").getAttribute("page-progression-direction"); return metadata; diff --git a/src/rendition.js b/src/rendition.js index c52b482..432dd8b 100644 --- a/src/rendition.js +++ b/src/rendition.js @@ -206,6 +206,14 @@ class Rendition { if (!this.settings.layout && (this.book.package.metadata.layout === "pre-paginated" || this.book.displayOptions.fixedLayout === "true")) { this.settings.layout = "pre-paginated"; } + switch(this.book.package.metadata.spread) { + case 'none': + this.settings.spread = 'none'; + break; + case 'both': + this.settings.spread = true; + break; + } if(!this.manager) { this.ViewManager = this.requireManager(this.settings.manager); diff --git a/types/packaging.d.ts b/types/packaging.d.ts index d9710a5..7151956 100644 --- a/types/packaging.d.ts +++ b/types/packaging.d.ts @@ -23,7 +23,8 @@ export interface PackagingMetadataObject { layout: string, orientation: string, flow: string, - viewport: string + viewport: string, + spread: string } export interface PackagingSpineItem {