diff options
| -rw-r--r-- | data/doc/sisu/CHANGELOG_v3 | 1 | ||||
| -rw-r--r-- | data/doc/sisu/CHANGELOG_v4 | 1 | ||||
| -rw-r--r-- | lib/sisu/v3/epub_format.rb | 134 | ||||
| -rw-r--r-- | lib/sisu/v4/epub_format.rb | 148 | 
4 files changed, 143 insertions, 141 deletions
| diff --git a/data/doc/sisu/CHANGELOG_v3 b/data/doc/sisu/CHANGELOG_v3 index e27bb0e3..c5f2af8e 100644 --- a/data/doc/sisu/CHANGELOG_v3 +++ b/data/doc/sisu/CHANGELOG_v3 @@ -40,6 +40,7 @@ http://www.jus.uio.no/sisu/pkg/src/sisu_3.3.5.orig.tar.xz    * remove unnecessary conversion of some utf-8 characters to xhtml      representation; fix as messed up table of contents, toc.ncx      (e.g. in calibre) [bug reported by Mikael Böök] +  * cosmetic arrangement of code <<-WOK  * v3: html    * remove unnecessary conversion of some utf-8 characters to html diff --git a/data/doc/sisu/CHANGELOG_v4 b/data/doc/sisu/CHANGELOG_v4 index a41ea6b7..5a48ff9a 100644 --- a/data/doc/sisu/CHANGELOG_v4 +++ b/data/doc/sisu/CHANGELOG_v4 @@ -29,6 +29,7 @@ http://www.jus.uio.no/sisu/pkg/src/sisu_4.0.2.orig.tar.xz    * remove unnecessary conversion of some utf-8 characters to xhtml      representation; fix as messed up table of contents, toc.ncx      (e.g. in calibre) [bug reported by Mikael Böök] +  * cosmetic arrangement of code <<-WOK  * v4: html    * remove unnecessary conversion of some utf-8 characters to html diff --git a/lib/sisu/v3/epub_format.rb b/lib/sisu/v3/epub_format.rb index 3b0412ba..709351d8 100644 --- a/lib/sisu/v3/epub_format.rb +++ b/lib/sisu/v3/epub_format.rb @@ -92,7 +92,7 @@ module SiSU_EPUB_Format    end    class CSS      def css_epub_xhtml -<<WOK +      <<-WOK  /* SiSU epub css default stylesheet */    body {      color: black; @@ -1214,7 +1214,7 @@ module SiSU_EPUB_Format      margin-bottom: 20px;      margin-right: 15mm;    } -WOK +      WOK      end    end    class HeadInformation @@ -1232,17 +1232,17 @@ WOK        @tocband_scroll,@tocband_segtoc=nil,nil      end      def doc_type_xhtml -<<WOK +      <<-WOK  <?xml version='1.0' encoding='utf-8'?>  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">  <html xmlns="http://www.w3.org/1999/xhtml"> -WOK +      WOK      end  =begin  ~/epub    |-- META-INF -  |   `-- container.xml                 #✓ simple, make sure full-path of rootfile points to metadata.opf +  |   `-- container.xml                # simple, make sure full-path of rootfile points to metadata.opf    |-- content    |   |-- 1.xhtml    |   |-- 2.xhtml @@ -1262,21 +1262,21 @@ WOK    |   |-- metadata.xhtml    |   `-- toc.xhtml    |-- metadata.opf                     #(i) metadata dc; (ii) manifest (contents); (iii) spine (mimetypes) -  |-- mimetype                         #✓ application/epub+zip -  `-- toc.ncx                          #✓ (i) head (ii) doc title (iii) navmap, list of navigation points (like chapters) +  |-- mimetype                         # application/epub+zip +  `-- toc.ncx                          #(i) head (ii) doc title (iii) navmap, list of navigation points (like chapters)  =end      def doc_type        doc_type_xhtml      end      def mimetype -      <<WOK +      <<-WOK  application/epub+zip -WOK +      WOK      end      def metainf_container #container.xml file in META-INF directory        #simple, make sure full-path of rootfile points to metadata.opf        #epub_metadata.opf content.opf -      <<WOK +      <<-WOK  <?xml version='1.0' encoding='utf-8'?>  <container version="1.0"    xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> @@ -1285,7 +1285,7 @@ WOK        media-type="application/oebps-package+xml" />    </rootfiles>  </container> -WOK +      WOK      end      def sections(dob,name)        filename="#{name}#{Sfx[:epub_xhtml]}" @@ -1327,26 +1327,26 @@ output_epub_cont_seg.close          close        end        def open -      <<WOK +        <<-WOK  <?xml version="1.0"?>  <!DOCTYPE ncx PUBLIC "-//NISO//DTD ncx 2005-1//EN"    "http://www.daisy.org/z3986/2005/ncx-2005-1.dtd">  <ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1"> -WOK +        WOK        end        def close -      <<WOK +        <<-WOK  </ncx> -WOK +        WOK        end        def head_open -      <<WOK +        <<-WOK    <head> -WOK +        WOK        end        def head          depth=@md.lvs[1] + @md.lvs[2] + @md.lvs[3] + @md.lvs[4] -        <<WOK +        <<-WOK      <!-- four required metadata items (for all NCX documents,        (including the relaxed constraints of OPS 2.0) -->      <title>#{@md.title.full} by #{@md.author}</title> @@ -1356,67 +1356,67 @@ WOK      <meta name="dtb:depth" content="#{depth}" />      <meta name="dtb:totalPageCount" content="0" />      <meta name="dtb:maxPageNumber" content="0" /> -WOK +        WOK        end        def head_close -        <<WOK +        <<-WOK    </head> -WOK +        WOK        end        def doc_title -        <<WOK +        <<-WOK    <docTitle>      <text>#{@md.title.full}</text>    </docTitle> -WOK +        WOK        end        def doc_author -        <<WOK +        <<-WOK    <docAuthor>      <text>#{@md.author}</text>    </docAuthor> -WOK +        WOK        end        def navmap_open -        <<WOK +        <<-WOK    <navMap> -WOK +        WOK        end        def navmap_sisu_toc(no)          id_u=DISABLE[:epub][:ncx_navpoint_unique_id] \          ? ''          : "-#{no}" -        <<WOK +        <<-WOK      <navPoint id="navpoint#{id_u}" playOrder="#{no}">        <navLabel>          <text>Table of Contents</text>        </navLabel>        <content src="index#{Sfx[:epub_xhtml]}" />      </navPoint> -WOK +        WOK        end        def navpoint(dob,no,name=nil)          name=name ? name : dob.name          id_u=DISABLE[:epub][:ncx_navpoint_unique_id] \          ? ''          : "-#{no}" -        <<WOK +        <<-WOK      <navPoint id="navpoint#{id_u}" playOrder="#{no}">        <navLabel>          <text>#{dob.obj}</text>        </navLabel>        <content src="#{name}#{Sfx[:epub_xhtml]}" /> -WOK +        WOK        end        def navpoint_close -        <<WOK +        <<-WOK      </navPoint> -WOK +        WOK        end        def navmap_close -        <<WOK +        <<-WOK    </navMap> -WOK +        WOK        end        self      end @@ -1434,15 +1434,15 @@ WOK          package_close        end        def package_open -        <<WOK +        <<-WOK  <?xml version='1.0' encoding='utf-8'?>  <package xmlns="http://www.idpf.org/2007/opf" unique-identifier="EPB-UUID" version="2.0"> -WOK +        WOK        end        def package_close -        <<WOK +        <<-WOK  </package> -WOK +        WOK        end        def metadata #metadata dc          author=if defined? @md.creator.author \ @@ -1562,7 +1562,7 @@ WOK          else ''          end          f=SiSU_Env::FileOp.new(@md) -        <<WOK +        <<-WOK    <metadata xmlns:dc="http://purl.org/dc/elements/1.1/"      xmlns:opf="http://www.idpf.org/2007/opf"      unique-identifier="urn:uuid:#{@md.dgst[1]}" version="2.0"> @@ -1572,89 +1572,89 @@ WOK      <dc:identifier id="bookid">urn:uuid:#{@md.dgst[1]}</dc:identifier>      <!-- <dc:identifier id="EPB-UUID">urn:uuid:#{@md.dgst[1]}</dc:identifier> -->    </metadata> -WOK +        WOK        end        def manifest_open -        <<WOK +        <<-WOK    <manifest>      <!-- NCX -->      <item id="ncx" href="#{Ep[:f_ncx]}" media-type="application/x-dtbncx+xml" />      <!-- CSS Style Sheets -->      <item id="main-css" href="css/xhtml.css" media-type="text/css" />      <!-- Content Documents --> -WOK +        WOK        end        def manifest_content_sisu_toc -        <<WOK +        <<-WOK      <item id="index" href="index.xhtml" media-type="application/xhtml+xml" /> -WOK +        WOK        end        def manifest_content(dob,name=nil)          name=name ? name : dob.name -        <<WOK +        <<-WOK      <item id="#{name}" href="#{name}#{Sfx[:epub_xhtml]}" media-type="application/xhtml+xml" /> -WOK +        WOK        end        def manifest_images(imgs)          imgs=imgs + ['arrow_next_red.png','arrow_prev_red.png','arrow_up_red.png','bullet_09.png']          images=["    <!-- Images -->\n"]          imgs.each do |i|            image,type=/(\S+?)\.(png|jpg|gif)/.match(i)[1,2] -          images<<<<WOK +          images<<<<-WOK      <item id="#{image}" href="image/#{image}.#{type}" media-type="image/#{type}" /> -WOK +          WOK          end          images=images.join('')          images      end      def manifest_close -      <<WOK +      <<-WOK    </manifest> -WOK +        WOK        end        def spine_open          #spine: reading order of XHTML files from manifest, idref attribute refers back to id in manifest (exclude images, CSS etc.). -        <<WOK +        <<-WOK    <spine toc="ncx"> -WOK +        WOK        end        def spine_sisu_toc -      <<WOK +        <<-WOK      <itemref idref="index" linear="yes" /> -WOK +        WOK        end        def spine(dob,name=nil)          name=name ? name : dob.name -        <<WOK +        <<-WOK      <itemref idref="#{name}" linear="yes" /> -WOK +        WOK        end        def spine_close -        <<WOK +        <<-WOK    </spine> -WOK +        WOK        end        def guide_open          #guide: presentation order of XHTML files by reader). -        <<WOK +        <<-WOK    <guide> -WOK +        WOK        end        def guide_sisu_toc -      <<WOK +        <<-WOK      <reference type="index" href="index#{Sfx[:epub_xhtml]}" /> -WOK +        WOK        end        def guide(dob,name=nil)          name=name ? name : dob.name -        <<WOK +        <<-WOK      <reference type="text" href="#{name}#{Sfx[:epub_xhtml]}" /> -WOK +        WOK        end        def guide_close -        <<WOK +        <<-WOK    </guide> -WOK +        WOK        end        self      end diff --git a/lib/sisu/v4/epub_format.rb b/lib/sisu/v4/epub_format.rb index 5a63a6ec..14304139 100644 --- a/lib/sisu/v4/epub_format.rb +++ b/lib/sisu/v4/epub_format.rb @@ -92,7 +92,7 @@ module SiSU_EPUB_Format    end    class CSS      def css_epub_xhtml -<<WOK +      <<-WOK  /* SiSU epub css default stylesheet */    body {      color: black; @@ -1214,7 +1214,7 @@ module SiSU_EPUB_Format      margin-bottom: 20px;      margin-right: 15mm;    } -WOK +      WOK      end    end    class HeadInformation @@ -1232,17 +1232,17 @@ WOK        @tocband_scroll,@tocband_segtoc=nil,nil      end      def doc_type_xhtml -<<WOK +      <<-WOK  <?xml version='1.0' encoding='utf-8'?>  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">  <html xmlns="http://www.w3.org/1999/xhtml"> -WOK +      WOK      end  =begin  ~/epub    |-- META-INF -  |   `-- container.xml                 #✓ simple, make sure full-path of rootfile points to metadata.opf +  |   `-- container.xml                # simple, make sure full-path of rootfile points to metadata.opf    |-- content    |   |-- 1.xhtml    |   |-- 2.xhtml @@ -1262,21 +1262,21 @@ WOK    |   |-- metadata.xhtml    |   `-- toc.xhtml    |-- metadata.opf                     #(i) metadata dc; (ii) manifest (contents); (iii) spine (mimetypes) -  |-- mimetype                         #✓ application/epub+zip -  `-- toc.ncx                          #✓ (i) head (ii) doc title (iii) navmap, list of navigation points (like chapters) +  |-- mimetype                         # application/epub+zip +  `-- toc.ncx                          #(i) head (ii) doc title (iii) navmap, list of navigation points (like chapters)  =end      def doc_type        doc_type_xhtml      end      def mimetype -      <<WOK +      <<-WOK  application/epub+zip -WOK +      WOK      end      def metainf_container #container.xml file in META-INF directory        #simple, make sure full-path of rootfile points to metadata.opf        #epub_metadata.opf content.opf -      <<WOK +      <<-WOK  <?xml version='1.0' encoding='utf-8'?>  <container version="1.0"    xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> @@ -1285,7 +1285,7 @@ WOK        media-type="application/oebps-package+xml" />    </rootfiles>  </container> -WOK +      WOK      end      def sections(dob,name)        filename="#{name}#{Sfx[:epub_xhtml]}" @@ -1327,26 +1327,26 @@ output_epub_cont_seg.close          close        end        def open -      <<WOK +        <<-WOK  <?xml version="1.0"?>  <!DOCTYPE ncx PUBLIC "-//NISO//DTD ncx 2005-1//EN"    "http://www.daisy.org/z3986/2005/ncx-2005-1.dtd">  <ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1"> -WOK +        WOK        end        def close -      <<WOK +        <<-WOK  </ncx> -WOK +        WOK        end        def head_open -      <<WOK +        <<-WOK    <head> -WOK +        WOK        end        def head          depth=@md.lvs[1] + @md.lvs[2] + @md.lvs[3] + @md.lvs[4] -        <<WOK +        <<-WOK      <!-- four required metadata items (for all NCX documents,        (including the relaxed constraints of OPS 2.0) -->      <title>#{@md.title.full} by #{@md.author}</title> @@ -1356,67 +1356,67 @@ WOK      <meta name="dtb:depth" content="#{depth}" />      <meta name="dtb:totalPageCount" content="0" />      <meta name="dtb:maxPageNumber" content="0" /> -WOK +        WOK        end        def head_close -        <<WOK +        <<-WOK    </head> -WOK +        WOK        end        def doc_title -        <<WOK +        <<-WOK    <docTitle>      <text>#{@md.title.full}</text>    </docTitle> -WOK +        WOK        end        def doc_author -        <<WOK +        <<-WOK    <docAuthor>      <text>#{@md.author}</text>    </docAuthor> -WOK +        WOK        end        def navmap_open -        <<WOK +        <<-WOK    <navMap> -WOK +        WOK        end        def navmap_sisu_toc(no)          id_u=DISABLE[:epub][:ncx_navpoint_unique_id] \          ? ''          : "-#{no}" -        <<WOK +        <<-WOK      <navPoint id="navpoint#{id_u}" playOrder="#{no}">        <navLabel>          <text>Table of Contents</text>        </navLabel>        <content src="index#{Sfx[:epub_xhtml]}" />      </navPoint> -WOK +        WOK        end        def navpoint(dob,no,name=nil)          name=name ? name : dob.name          id_u=DISABLE[:epub][:ncx_navpoint_unique_id] \          ? ''          : "-#{no}" -        <<WOK +        <<-WOK      <navPoint id="navpoint#{id_u}" playOrder="#{no}">        <navLabel>          <text>#{dob.obj}</text>        </navLabel> -      <content src="#{name}#{Sfx[:epub_xhtml]}" /> -WOK +      <content src="#{name}" /> +        WOK        end        def navpoint_close -        <<WOK +        <<-WOK      </navPoint> -WOK +        WOK        end        def navmap_close -        <<WOK +        <<-WOK    </navMap> -WOK +        WOK        end        self      end @@ -1434,15 +1434,15 @@ WOK          package_close        end        def package_open -        <<WOK +        <<-WOK  <?xml version='1.0' encoding='utf-8'?>  <package xmlns="http://www.idpf.org/2007/opf" unique-identifier="EPB-UUID" version="2.0"> -WOK +        WOK        end        def package_close -        <<WOK +        <<-WOK  </package> -WOK +        WOK        end        def metadata #metadata dc          cover_image=if defined? @md.make.cover_image \ @@ -1568,7 +1568,7 @@ WOK          else ''          end          f=SiSU_Env::FileOp.new(@md) -        <<WOK +        <<-WOK    <metadata xmlns:dc="http://purl.org/dc/elements/1.1/"      xmlns:opf="http://www.idpf.org/2007/opf"      unique-identifier="urn:uuid:#{@md.dgst[1]}" version="2.0"> @@ -1578,38 +1578,38 @@ WOK      <dc:identifier id="bookid">urn:uuid:#{@md.dgst[1]}</dc:identifier>      <!-- <dc:identifier id="EPB-UUID">urn:uuid:#{@md.dgst[1]}</dc:identifier> -->    </metadata> -WOK +        WOK        end        def manifest_open -        <<WOK +        <<-WOK    <manifest>      <!-- NCX -->      <item id="ncx" href="#{Ep[:f_ncx]}" media-type="application/x-dtbncx+xml" />      <!-- CSS Style Sheets -->      <item id="main-css" href="css/xhtml.css" media-type="text/css" />      <!-- Content Documents --> -WOK +        WOK        end        def manifest_content_sisu_toc -        <<WOK +        <<-WOK      <item id="index" href="index.xhtml" media-type="application/xhtml+xml" /> -WOK +        WOK        end        def manifest_cover_image_information(md)          cover_image=if defined? md.make.cover_image \          and @md.make.cover_image.is_a?(Hash) \          and md.make.cover_image[:cover] =~/\S+/ -          <<WOK +          <<-WOK      <item id="cover_image_file" href="cover_image#{Sfx[:epub_xhtml]}" media-type="application/xhtml+xml" /> -WOK +          WOK          else ''          end        end        def manifest_content(dob,name=nil)          name=name ? name : dob.name -        <<WOK +        <<-WOK      <item id="#{name}" href="#{name}#{Sfx[:epub_xhtml]}" media-type="application/xhtml+xml" /> -WOK +        WOK        end        def manifest_images(imgs)          imgs=imgs + ['arrow_next_red.png','arrow_prev_red.png','arrow_up_red.png','bullet_09.png'] @@ -1617,71 +1617,71 @@ WOK          imgs.each do |i|            image,type=/(\S+?)\.(png|jpg|gif)/.match(i)[1,2]            type=type.sub(/jpg/,'jpeg') -          images<<<<WOK +          images<<<<-WOK      <item id="#{image}" href="image/#{image}.#{type}" media-type="image/#{type}" /> -WOK +          WOK          end          images=images.join('')          images      end      def manifest_close -      <<WOK +      <<-WOK    </manifest> -WOK +        WOK        end        def spine_open          #spine: reading order of XHTML files from manifest, idref attribute refers back to id in manifest (exclude images, CSS etc.). -        <<WOK +        <<-WOK    <spine toc="ncx"> -WOK +        WOK        end        def spine_cover_image -      <<WOK +        <<-WOK      <itemref idref="cover_image_file" /> -WOK +        WOK        end        def spine_sisu_toc -      <<WOK +        <<-WOK      <itemref idref="index" linear="yes" /> -WOK +        WOK        end        def spine(dob,name=nil)          name=name ? name : dob.name -        <<WOK +        <<-WOK      <itemref idref="#{name}" linear="yes" /> -WOK +        WOK        end        def spine_close -        <<WOK +        <<-WOK    </spine> -WOK +        WOK        end        def guide_open          #guide: presentation order of XHTML files by reader). -        <<WOK +        <<-WOK    <guide> -WOK +        WOK        end        def guide_cover_image -      <<WOK +        <<-WOK      <reference type="cover" title="Cover of [book title]" href="cover_image#{Sfx[:epub_xhtml]}" /> -WOK +        WOK        end        def guide_sisu_toc -      <<WOK +        <<-WOK      <reference type="index" href="index#{Sfx[:epub_xhtml]}" /> -WOK +        WOK        end        def guide(dob,name=nil)          name=name ? name : dob.name -        <<WOK +        <<-WOK      <reference type="text" href="#{name}#{Sfx[:epub_xhtml]}" /> -WOK +        WOK        end        def guide_close -        <<WOK +        <<-WOK    </guide> -WOK +        WOK        end        self      end | 
