images in epub/mobi
authorJan Szejko <j-sz@o2.pl>
Wed, 16 Mar 2016 09:22:15 +0000 (10:22 +0100)
committerJan Szejko <j-sz@o2.pl>
Wed, 16 Mar 2016 09:22:15 +0000 (10:22 +0100)
librarian/epub.py
librarian/epub/xsltScheme.xsl
librarian/mobi.py

index 9e7010a..3b405f8 100644 (file)
@@ -406,9 +406,8 @@ def transform_chunk(chunk_xml, chunk_no, annotations, empty=False, _empty_html_s
     return output_html, toc, chars
 
 
     return output_html, toc, chars
 
 
-def transform(wldoc, verbose=False,
-              style=None, html_toc=False,
-              sample=None, cover=None, flags=None, hyphenate=False):
+def transform(wldoc, verbose=False, style=None, html_toc=False,
+              sample=None, cover=None, flags=None, hyphenate=False, ilustr_path=''):
     """ produces a EPUB file
 
     sample=n: generate sample e-book (with at least n paragraphs)
     """ produces a EPUB file
 
     sample=n: generate sample e-book (with at least n paragraphs)
@@ -527,6 +526,9 @@ def transform(wldoc, verbose=False,
 
     functions.reg_mathml_epub(zip)
 
 
     functions.reg_mathml_epub(zip)
 
+    for filename in os.listdir(ilustr_path):
+        zip.write(os.path.join(ilustr_path, filename), os.path.join('OPS', filename))
+
     # write static elements
     mime = zipfile.ZipInfo()
     mime.filename = 'mimetype'
     # write static elements
     mime = zipfile.ZipInfo()
     mime.filename = 'mimetype'
index bcb3d70..1260073 100644 (file)
     </div>
   </xsl:template>
 
     </div>
   </xsl:template>
 
+  <xsl:template match="ilustr" mode="inline">
+    <xsl:apply-templates select="." />
+  </xsl:template>
+
+  <xsl:template match="ilustr">
+    <img>
+      <xsl:attribute name="src">
+        <xsl:value-of select="@src" />
+      </xsl:attribute>
+      <xsl:attribute name="alt">
+        <xsl:value-of select="@alt" />
+      </xsl:attribute>
+      <xsl:attribute name="title">
+        <xsl:value-of select="@alt" />
+      </xsl:attribute>
+    </img>
+  </xsl:template>
+
   <!--===========================================================-->
   <!-- Tagi PARAGRAFOWE -->
   <!--===========================================================-->
   <!--===========================================================-->
   <!-- Tagi PARAGRAFOWE -->
   <!--===========================================================-->
index 61a6de1..65f2598 100644 (file)
@@ -13,7 +13,7 @@ from librarian import OutputFile
 
 
 def transform(wldoc, verbose=False, sample=None, cover=None,
 
 
 def transform(wldoc, verbose=False, sample=None, cover=None,
-              use_kindlegen=False, flags=None, hyphenate=True):
+              use_kindlegen=False, flags=None, hyphenate=True, ilustr_path=''):
     """ produces a MOBI file
 
     wldoc: a WLDocument
     """ produces a MOBI file
 
     wldoc: a WLDocument
@@ -27,7 +27,7 @@ def transform(wldoc, verbose=False, sample=None, cover=None,
 
     epub = document.as_epub(verbose=verbose, sample=sample,
                             html_toc=True, cover=cover or True, flags=flags,
 
     epub = document.as_epub(verbose=verbose, sample=sample,
                             html_toc=True, cover=cover or True, flags=flags,
-                            hyphenate=hyphenate)
+                            hyphenate=hyphenate, ilustr_path=ilustr_path)
     if verbose:
         kwargs = {}
     else:
     if verbose:
         kwargs = {}
     else: