lib/epubmaker/epubv2.rb in review-1.6.0 vs lib/epubmaker/epubv2.rb in review-1.7.0
- old
+ new
@@ -21,28 +21,18 @@
super
end
# Return opf file content.
def opf
- s = <<EOT
-<?xml version="1.0" encoding="UTF-8"?>
-<package version="2.0" xmlns="http://www.idpf.org/2007/opf" unique-identifier="BookId">
- <metadata xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:opf="http://www.idpf.org/2007/opf">
-EOT
+ @opf_metainfo = opf_metainfo
+ @opf_coverimage = opf_coverimage
+ @opf_manifest = opf_manifest
+ @opf_toc = opf_tocx
- s << opf_metainfo
- s << opf_coverimage
-
- s << %Q[ </metadata>\n]
-
- s << opf_manifest
- s << opf_tocx
- s << opf_guide
-
- s << %Q[</package>\n]
-
- s
+ tmplfile = File.expand_path('./opf/epubv2.opf.erb', ReVIEW::Template::TEMPLATE_DIR)
+ tmpl = ReVIEW::Template.load(tmplfile)
+ return tmpl.result(binding)
end
def opf_metainfo
s = ""
%w[title language date type format source description relation coverage subject rights].each do |item|
@@ -119,43 +109,19 @@
end
s << %Q[ </spine>\n]
s
end
- def opf_guide
- s = ""
- s << %Q[ <guide>\n]
- s << %Q[ <reference type="cover" title="#{@producer.res.v("covertitle")}" href="#{@producer.params["cover"]}"/>\n]
- s << %Q[ <reference type="title-page" title="#{@producer.res.v("titlepagetitle")}" href="titlepage.#{@producer.params["htmlext"]}"/>\n] unless @producer.params["titlepage"].nil?
- s << %Q[ <reference type="toc" title="#{@producer.res.v("toctitle")}" href="#{@producer.params["bookname"]}-toc.#{@producer.params["htmlext"]}"/>\n] unless @producer.params["mytoc"].nil?
- s << %Q[ <reference type="colophon" title="#{@producer.res.v("colophontitle")}" href="colophon.#{@producer.params["htmlext"]}"/>\n] unless @producer.params["colophon"].nil?
- s << %Q[ </guide>\n]
- s
- end
-
# Return ncx content. +indentarray+ has prefix marks for each level.
def ncx(indentarray)
- s = <<EOT
-<?xml version="1.0" encoding="UTF-8"?>
-<ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1">
- <head>
- <meta name="dtb:depth" content="1"/>
- <meta name="dtb:totalPageCount" content="0"/>
- <meta name="dtb:maxPageNumber" content="0"/>
-EOT
- s << ncx_isbn
+ @ncx_isbn = ncx_isbn
+ @ncx_doctitle = ncx_doctitle
+ @ncx_navmap = ncx_navmap(indentarray)
- s << <<EOT
- </head>
-EOT
- s << ncx_doctitle
- s << ncx_navmap(indentarray)
-
- s << <<EOT
-</ncx>
-EOT
- s
+ tmplfile = File.expand_path('./ncx/epubv2.ncx.erb', ReVIEW::Template::TEMPLATE_DIR)
+ tmpl = ReVIEW::Template.load(tmplfile)
+ return tmpl.result(binding)
end
# Produce EPUB file +epubfile+.
# +basedir+ points the directory has contents.
# +tmpdir+ defines temporary directory.
@@ -167,26 +133,7 @@
@producer.call_hook(@producer.params["epubmaker"]["hook_prepack"], tmpdir)
export_zip(tmpdir, epubfile)
end
- private
-
- # Return common XHTML headder
- def common_header
- s =<<EOT
-<?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" xmlns:ops="http://www.idpf.org/2007/ops" xml:lang="#{@producer.params["language"]}">
-<head>
- <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
- <meta http-equiv="Content-Style-Type" content="text/css"/>
- <meta name="generator" content="Re:VIEW"/>
-EOT
-
- @producer.params["stylesheet"].each do |file|
- s << %Q[ <link rel="stylesheet" type="text/css" href="#{file}"/>\n]
- end
- s
- end
end
end