<!DOCTYPE html>
<html> <head> <meta content=“text/html; charset=UTF-8” http-equiv=“Content-Type”>
<title>class EPUBMaker::Producer - review-1.7.2 Documentation</title>
<link type=“text/css” media=“screen” href=“../rdoc.css” rel=“stylesheet”>
<script type=“text/javascript”>
var rdoc_rel_prefix = "../";
</script>
<script type=“text/javascript” charset=“utf-8” src=“../js/jquery.js”></script> <script type=“text/javascript” charset=“utf-8” src=“../js/navigation.js”></script> <script type=“text/javascript” charset=“utf-8” src=“../js/search_index.js”></script> <script type=“text/javascript” charset=“utf-8” src=“../js/search.js”></script> <script type=“text/javascript” charset=“utf-8” src=“../js/searcher.js”></script> <script type=“text/javascript” charset=“utf-8” src=“../js/darkfish.js”></script>
<body id=“top” class=“class”> <nav id=“metadata”>
<nav id="home-section" class="section"> <h3 class="section-header"> <a href="../index.html">Home</a> <a href="../table_of_contents.html#classes">Classes</a> <a href="../table_of_contents.html#methods">Methods</a> </h3>
</nav>
<nav id="search-section" class="section project-section" class="initially-hidden"> <form action="#" method="get" accept-charset="utf-8"> <h3 class="section-header"> <input type="text" name="search" placeholder="Search" id="search-field" title="Type to search, Up and Down to navigate, Enter to load"> </h3> </form> <ul id="search-results" class="initially-hidden"></ul>
</nav>
<div id="file-metadata"> <nav id="file-list-section" class="section"> <h3 class="section-header">Defined In</h3> <ul> <li>lib/epubmaker/producer.rb </ul>
</nav>
</div> <div id="class-metadata"> <nav id="parent-class-section" class="section"> <h3 class="section-header">Parent</h3> <p class="link"><a href="../Object.html">Object</a>
</nav>
<!-- Method Quickref -->
<nav id=“method-list-section” class=“section”>
<h3 class="section-header">Methods</h3> <ul class="link-list"> <li ><a href="#method-c-load">::load</a> <li ><a href="#method-c-new">::new</a> <li ><a href="#method-i-call_hook">#call_hook</a> <li ><a href="#method-i-colophon">#colophon</a> <li ><a href="#method-i-complement">#complement</a> <li ><a href="#method-i-container">#container</a> <li ><a href="#method-i-cover">#cover</a> <li ><a href="#method-i-coverimage">#coverimage</a> <li ><a href="#method-i-importImageInfo">#importImageInfo</a> <li ><a href="#method-i-import_imageinfo">#import_imageinfo</a> <li ><a href="#method-i-load">#load</a> <li ><a href="#method-i-merge_params">#merge_params</a> <li ><a href="#method-i-mimetype">#mimetype</a> <li ><a href="#method-i-mytoc">#mytoc</a> <li ><a href="#method-i-ncx">#ncx</a> <li ><a href="#method-i-opf">#opf</a> <li ><a href="#method-i-produce">#produce</a> <li ><a href="#method-i-support_legacy_maker">#support_legacy_maker</a> <li ><a href="#method-i-titlepage">#titlepage</a> </ul>
</nav>
</div> <div id="project-metadata"> <nav id="fileindex-section" class="section project-section"> <h3 class="section-header">Pages</h3> <ul> <li class="file"><a href="../ChangeLog.html">ChangeLog</a> <li class="file"><a href="../README_rdoc.html">README</a> </ul>
</nav>
<nav id="classindex-section" class="section project-section"> <h3 class="section-header">Class and Module Index</h3> <ul class="link-list"> <li><a href="../EPUBMaker.html">EPUBMaker</a> <li><a href="../EPUBMaker/Content.html">EPUBMaker::Content</a> <li><a href="../EPUBMaker/EPUBCommon.html">EPUBMaker::EPUBCommon</a> <li><a href="../EPUBMaker/EPUBv2.html">EPUBMaker::EPUBv2</a> <li><a href="../EPUBMaker/EPUBv3.html">EPUBMaker::EPUBv3</a> <li><a href="../EPUBMaker/Producer.html">EPUBMaker::Producer</a> <li><a href="../HTMLLayout.html">HTMLLayout</a> <li><a href="../LineInput.html">LineInput</a> <li><a href="../Object.html">Object</a> <li><a href="../ReVIEW.html">ReVIEW</a> <li><a href="../ReVIEW/ApplicationError.html">ReVIEW::ApplicationError</a> <li><a href="../ReVIEW/Book.html">ReVIEW::Book</a> <li><a href="../ReVIEW/Book/Base.html">ReVIEW::Book::Base</a> <li><a href="../ReVIEW/Book/BibpaperIndex.html">ReVIEW::Book::BibpaperIndex</a> <li><a href="../ReVIEW/Book/Chapter.html">ReVIEW::Book::Chapter</a> <li><a href="../ReVIEW/Book/ChapterIndex.html">ReVIEW::Book::ChapterIndex</a> <li><a href="../ReVIEW/Book/ChapterSet.html">ReVIEW::Book::ChapterSet</a> <li><a href="../ReVIEW/Book/ColumnIndex.html">ReVIEW::Book::ColumnIndex</a> <li><a href="../ReVIEW/Book/Compilable.html">ReVIEW::Book::Compilable</a> <li><a href="../ReVIEW/Book/FootnoteIndex.html">ReVIEW::Book::FootnoteIndex</a> <li><a href="../ReVIEW/Book/FormatRef.html">ReVIEW::Book::FormatRef</a> <li><a href="../ReVIEW/Book/HeadlineIndex.html">ReVIEW::Book::HeadlineIndex</a> <li><a href="../ReVIEW/Book/IconIndex.html">ReVIEW::Book::IconIndex</a> <li><a href="../ReVIEW/Book/ImageFinder.html">ReVIEW::Book::ImageFinder</a> <li><a href="../ReVIEW/Book/ImageIndex.html">ReVIEW::Book::ImageIndex</a> <li><a href="../ReVIEW/Book/ImageIndex/Item.html">ReVIEW::Book::ImageIndex::Item</a> <li><a href="../ReVIEW/Book/IndepImageIndex.html">ReVIEW::Book::IndepImageIndex</a> <li><a href="../ReVIEW/Book/IndepImageIndex/Item.html">ReVIEW::Book::IndepImageIndex::Item</a> <li><a href="../ReVIEW/Book/Index.html">ReVIEW::Book::Index</a> <li><a href="../ReVIEW/Book/ListIndex.html">ReVIEW::Book::ListIndex</a> <li><a href="../ReVIEW/Book/NumberlessImageIndex.html">ReVIEW::Book::NumberlessImageIndex</a> <li><a href="../ReVIEW/Book/NumberlessImageIndex/Item.html">ReVIEW::Book::NumberlessImageIndex::Item</a> <li><a href="../ReVIEW/Book/PageMetric.html">ReVIEW::Book::PageMetric</a> <li><a href="../ReVIEW/Book/Part.html">ReVIEW::Book::Part</a> <li><a href="../ReVIEW/Book/TableIndex.html">ReVIEW::Book::TableIndex</a> <li><a href="../ReVIEW/Book/Volume.html">ReVIEW::Book::Volume</a> <li><a href="../ReVIEW/Builder.html">ReVIEW::Builder</a> <li><a href="../ReVIEW/Catalog.html">ReVIEW::Catalog</a> <li><a href="../ReVIEW/CompileError.html">ReVIEW::CompileError</a> <li><a href="../ReVIEW/Compiler.html">ReVIEW::Compiler</a> <li><a href="../ReVIEW/Compiler/InlineSyntaxElement.html">ReVIEW::Compiler::InlineSyntaxElement</a> <li><a href="../ReVIEW/Compiler/SyntaxElement.html">ReVIEW::Compiler::SyntaxElement</a> <li><a href="../ReVIEW/ConfigError.html">ReVIEW::ConfigError</a> <li><a href="../ReVIEW/Configure.html">ReVIEW::Configure</a> <li><a href="../ReVIEW/EPUBBuilder.html">ReVIEW::EPUBBuilder</a> <li><a href="../ReVIEW/EPUBMaker.html">ReVIEW::EPUBMaker</a> <li><a href="../ReVIEW/EPUBMaker/ReVIEWHeaderListener.html">ReVIEW::EPUBMaker::ReVIEWHeaderListener</a> <li><a href="../ReVIEW/EWBBuilder.html">ReVIEW::EWBBuilder</a> <li><a href="../ReVIEW/Error.html">ReVIEW::Error</a> <li><a href="../ReVIEW/ErrorUtils.html">ReVIEW::ErrorUtils</a> <li><a href="../ReVIEW/FileNotFound.html">ReVIEW::FileNotFound</a> <li><a href="../ReVIEW/HTMLBuilder.html">ReVIEW::HTMLBuilder</a> <li><a href="../ReVIEW/HTMLTOCPrinter.html">ReVIEW::HTMLTOCPrinter</a> <li><a href="../ReVIEW/HTMLToc.html">ReVIEW::HTMLToc</a> <li><a href="../ReVIEW/HTMLUtils.html">ReVIEW::HTMLUtils</a> <li><a href="../ReVIEW/I18n.html">ReVIEW::I18n</a> <li><a href="../ReVIEW/IDGTOCPrinter.html">ReVIEW::IDGTOCPrinter</a> <li><a href="../ReVIEW/IDGXMLBuilder.html">ReVIEW::IDGXMLBuilder</a> <li><a href="../ReVIEW/INAOBuilder.html">ReVIEW::INAOBuilder</a> <li><a href="../ReVIEW/KeyError.html">ReVIEW::KeyError</a> <li><a href="../ReVIEW/LATEXBuilder.html">ReVIEW::LATEXBuilder</a> <li><a href="../ReVIEW/LaTeXIndex.html">ReVIEW::LaTeXIndex</a> <li><a href="../ReVIEW/LaTeXUtils.html">ReVIEW::LaTeXUtils</a> <li><a href="../ReVIEW/LaTeXUtils/NKF.html">ReVIEW::LaTeXUtils::NKF</a> <li><a href="../ReVIEW/Line.html">ReVIEW::Line</a> <li><a href="../ReVIEW/LineInput.html">ReVIEW::LineInput</a> <li><a href="../ReVIEW/Location.html">ReVIEW::Location</a> <li><a href="../ReVIEW/MARKDOWNBuilder.html">ReVIEW::MARKDOWNBuilder</a> <li><a href="../ReVIEW/MakerHelper.html">ReVIEW::MakerHelper</a> <li><a href="../ReVIEW/PDFMaker.html">ReVIEW::PDFMaker</a> <li><a href="../ReVIEW/Preprocessor.html">ReVIEW::Preprocessor</a> <li><a href="../ReVIEW/Preprocessor/Directive.html">ReVIEW::Preprocessor::Directive</a> <li><a href="../ReVIEW/Preprocessor/Strip.html">ReVIEW::Preprocessor::Strip</a> <li><a href="../ReVIEW/Repository.html">ReVIEW::Repository</a> <li><a href="../ReVIEW/SecCounter.html">ReVIEW::SecCounter</a> <li><a href="../ReVIEW/SyntaxError.html">ReVIEW::SyntaxError</a> <li><a href="../ReVIEW/TEXTBuilder.html">ReVIEW::TEXTBuilder</a> <li><a href="../ReVIEW/TOCParser.html">ReVIEW::TOCParser</a> <li><a href="../ReVIEW/TOCParser/Chapter.html">ReVIEW::TOCParser::Chapter</a> <li><a href="../ReVIEW/TOCParser/List.html">ReVIEW::TOCParser::List</a> <li><a href="../ReVIEW/TOCParser/Node.html">ReVIEW::TOCParser::Node</a> <li><a href="../ReVIEW/TOCParser/Paragraph.html">ReVIEW::TOCParser::Paragraph</a> <li><a href="../ReVIEW/TOCParser/Section.html">ReVIEW::TOCParser::Section</a> <li><a href="../ReVIEW/TOCPrinter.html">ReVIEW::TOCPrinter</a> <li><a href="../ReVIEW/TOCRoot.html">ReVIEW::TOCRoot</a> <li><a href="../ReVIEW/TOPBuilder.html">ReVIEW::TOPBuilder</a> <li><a href="../ReVIEW/Template.html">ReVIEW::Template</a> <li><a href="../ReVIEW/TextTOCPrinter.html">ReVIEW::TextTOCPrinter</a> <li><a href="../ReVIEW/TextUtils.html">ReVIEW::TextUtils</a> <li><a href="../ReVIEW/Unfold.html">ReVIEW::Unfold</a> <li><a href="../ReVIEW/WrongInput.html">ReVIEW::WrongInput</a> <li><a href="../String.html">String</a> <li><a href="../UUID.html">UUID</a> </ul>
</nav>
</div>
</nav>
<div id=“documentation”>
<h1 class="class">class EPUBMaker::Producer</h1> <div id="description" class="description">
<p><a href=“../EPUBMaker.html”>EPUBMaker</a> produces EPUB file.</p>
</div><!-- description --> <section id="5Buntitled-5D" class="documentation-section"> <!-- Attributes --> <section id="attribute-method-details" class="method-section section"> <h3 class="section-header">Attributes</h3> <div id="attribute-i-contents" class="method-detail"> <div class="method-heading attribute-method-heading"> <span class="method-name">contents</span><span class="attribute-access-type">[RW]</span> </div> <div class="method-description"> <p>Array of content objects.</p> </div> </div> <div id="attribute-i-params" class="method-detail"> <div class="method-heading attribute-method-heading"> <span class="method-name">params</span><span class="attribute-access-type">[RW]</span> </div> <div class="method-description"> <p>Parameter hash.</p> </div> </div> <div id="attribute-i-res" class="method-detail"> <div class="method-heading attribute-method-heading"> <span class="method-name">res</span><span class="attribute-access-type">[R]</span> </div> <div class="method-description"> <p>Message resource object.</p> </div> </div> </section><!-- attribute-method-details --> <!-- Methods --> <section id="public-class-5Buntitled-5D-method-details" class="method-section section"> <h3 class="section-header">Public Class Methods</h3> <div id="method-c-load" class="method-detail "> <div class="method-heading"> <span class="method-name">load</span><span class="method-args">(file)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Take YAML <code>file</code> and return parameter hash.</p> <div class="method-source-code" id="load-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 30</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-constant”>Producer</span>.<span class=“ruby-identifier”>load</span>(<span class=“ruby-identifier”>file</span>)
<span class="ruby-identifier">raise</span> <span class="ruby-node">"Can't open #{yamlfile}."</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">file</span>) <span class="ruby-keyword">return</span> <span class="ruby-constant">YAML</span>.<span class="ruby-identifier">load_file</span>(<span class="ruby-identifier">file</span>)
<span class=“ruby-keyword”>end</span></pre>
</div><!-- load-source --> </div> </div><!-- load-method --> <div id="method-c-new" class="method-detail "> <div class="method-heading"> <span class="method-name">new</span><span class="method-args">(params=nil, version=nil)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Construct producer object. <code>params</code> takes initial parameter
hash. This parameters can be overriden by EPUBMaker#load or
EPUBMaker#merge_params. version
takes EPUB version (default is
2).</p>
<div class="method-source-code" id="new-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 44</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>initialize</span>(<span class=“ruby-identifier”>params</span>=<span class=“ruby-keyword”>nil</span>, <span class=“ruby-identifier”>version</span>=<span class=“ruby-keyword”>nil</span>)
<span class="ruby-ivar">@contents</span> = [] <span class="ruby-ivar">@params</span> = {} <span class="ruby-ivar">@epub</span> = <span class="ruby-keyword">nil</span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"epubversion"</span>] = <span class="ruby-identifier">version</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">version</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-ivar">@res</span> = <span class="ruby-constant">ReVIEW</span><span class="ruby-operator">::</span><span class="ruby-constant">I18n</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">params</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-identifier">merge_params</span>(<span class="ruby-identifier">params</span>) <span class="ruby-keyword">end</span>
<span class=“ruby-keyword”>end</span></pre>
</div><!-- new-source --> </div> </div><!-- new-method --> </section><!-- public-class-method-details --> <section id="public-instance-5Buntitled-5D-method-details" class="method-section section"> <h3 class="section-header">Public Instance Methods</h3> <div id="method-i-call_hook" class="method-detail "> <div class="method-heading"> <span class="method-name">call_hook</span><span class="method-args">(filename, *params)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <div class="method-source-code" id="call_hook-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 184</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>call_hook</span>(<span class=“ruby-identifier”>filename</span>, <span class=“ruby-operator”>*</span><span class=“ruby-identifier”>params</span>)
<span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">filename</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">filename</span>) <span class="ruby-operator">&&</span> <span class="ruby-constant">FileTest</span>.<span class="ruby-identifier">executable?</span>(<span class="ruby-identifier">filename</span>) <span class="ruby-keyword">if</span> <span class="ruby-constant">ENV</span>[<span class="ruby-string">"REVIEW_SAFE_MODE"</span>].<span class="ruby-identifier">to_i</span> <span class="ruby-operator">&</span> <span class="ruby-value">1</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span> <span class="ruby-identifier">warn</span> <span class="ruby-string">"hook is prohibited in safe mode. ignored."</span> <span class="ruby-keyword">else</span> <span class="ruby-identifier">system</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">params</span>) <span class="ruby-keyword">end</span> <span class="ruby-keyword">end</span>
<span class=“ruby-keyword”>end</span></pre>
</div><!-- call_hook-source --> </div> </div><!-- call_hook-method --> <div id="method-i-colophon" class="method-detail "> <div class="method-heading"> <span class="method-name">colophon</span><span class="method-args">(wobj)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Write colophon file to IO object <code>wobj</code>.</p> <div class="method-source-code" id="colophon-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 130</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>colophon</span>(<span class=“ruby-identifier”>wobj</span>)
<span class="ruby-identifier">s</span> = <span class="ruby-ivar">@epub</span>.<span class="ruby-identifier">colophon</span> <span class="ruby-identifier">wobj</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">s</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">s</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">wobj</span>.<span class="ruby-identifier">nil?</span>
<span class=“ruby-keyword”>end</span></pre>
</div><!-- colophon-source --> </div> </div><!-- colophon-method --> <div id="method-i-container" class="method-detail "> <div class="method-heading"> <span class="method-name">container</span><span class="method-args">(wobj)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Write container file to IO object <code>wobj</code>.</p> <div class="method-source-code" id="container-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 109</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>container</span>(<span class=“ruby-identifier”>wobj</span>)
<span class="ruby-identifier">s</span> = <span class="ruby-ivar">@epub</span>.<span class="ruby-identifier">container</span> <span class="ruby-identifier">wobj</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">s</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">s</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">wobj</span>.<span class="ruby-identifier">nil?</span>
<span class=“ruby-keyword”>end</span></pre>
</div><!-- container-source --> </div> </div><!-- container-method --> <div id="method-i-cover" class="method-detail "> <div class="method-heading"> <span class="method-name">cover</span><span class="method-args">(wobj)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Write cover file to IO object <code>wobj</code>. If <a
href=“Producer.html#attribute-i-params”>#params</a> is defined, it will be used for the cover image.</p>
<div class="method-source-code" id="cover-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 117</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>cover</span>(<span class=“ruby-identifier”>wobj</span>)
<span class="ruby-identifier">type</span> = (<span class="ruby-ivar">@params</span>[<span class="ruby-string">"epubversion"</span>] <span class="ruby-operator">>=</span> <span class="ruby-value">3</span>) <span class="ruby-operator">?</span> <span class="ruby-string">"cover"</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">nil</span> <span class="ruby-identifier">s</span> = <span class="ruby-ivar">@epub</span>.<span class="ruby-identifier">cover</span>(<span class="ruby-identifier">type</span>) <span class="ruby-identifier">wobj</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">s</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">s</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">wobj</span>.<span class="ruby-identifier">nil?</span>
<span class=“ruby-keyword”>end</span></pre>
</div><!-- cover-source --> </div> </div><!-- cover-method --> <div id="method-i-coverimage" class="method-detail "> <div class="method-heading"> <span class="method-name">coverimage</span><span class="method-args">()</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <div class="method-source-code" id="coverimage-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 56</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>coverimage</span>
<span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">params</span>[<span class="ruby-string">"coverimage"</span>] <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">end</span> <span class="ruby-ivar">@contents</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">media</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/\Aimage/</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">file</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/#{params["coverimage"]}\Z/</span> <span class="ruby-comment"># /</span> <span class="ruby-keyword">return</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">file</span> <span class="ruby-keyword">end</span> <span class="ruby-keyword">end</span> <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span>
<span class=“ruby-keyword”>end</span></pre>
</div><!-- coverimage-source --> </div> </div><!-- coverimage-method --> <div id="method-i-importImageInfo" class="method-detail method-alias"> <div class="method-heading"> <span class="method-name">importImageInfo</span><span class="method-args">(path, base=nil, allow_exts=nil)</span> </div> <div class="method-description"> </div> <div class="aliases"> Alias for: <a href="Producer.html#method-i-import_imageinfo">import_imageinfo</a> </div> </div><!-- importImageInfo-method --> <div id="method-i-import_imageinfo" class="method-detail "> <div class="method-heading"> <span class="method-name">import_imageinfo</span><span class="method-args">(path, base=nil, allow_exts=nil)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Add informations of figure files in <code>path</code> to contents array.
base
defines a string to remove from path name.</p>
<div class="method-source-code" id="import_imageinfo-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 143</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>import_imageinfo</span>(<span class=“ruby-identifier”>path</span>, <span class=“ruby-identifier”>base</span>=<span class=“ruby-keyword”>nil</span>, <span class=“ruby-identifier”>allow_exts</span>=<span class=“ruby-keyword”>nil</span>)
<span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">path</span>) <span class="ruby-identifier">allow_exts</span> = <span class="ruby-ivar">@params</span>[<span class="ruby-string">"image_ext"</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">allow_exts</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">foreach</span>(<span class="ruby-identifier">path</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-keyword">next</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">f</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/\A\./</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">f</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/\.(#{allow_exts.join("|")})\Z/</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">chop!</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">path</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/\/\Z/</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">base</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-ivar">@contents</span>.<span class="ruby-identifier">push</span>(<span class="ruby-constant">EPUBMaker</span><span class="ruby-operator">::</span><span class="ruby-constant">Content</span>.<span class="ruby-identifier">new</span>({<span class="ruby-string">"file"</span> =<span class="ruby-operator">></span> <span class="ruby-node">"#{path}/#{f}"</span>})) <span class="ruby-keyword">else</span> <span class="ruby-ivar">@contents</span>.<span class="ruby-identifier">push</span>(<span class="ruby-constant">EPUBMaker</span><span class="ruby-operator">::</span><span class="ruby-constant">Content</span>.<span class="ruby-identifier">new</span>({<span class="ruby-string">"file"</span> =<span class="ruby-operator">></span> <span class="ruby-node">"#{path.sub(base + "/", '')}/#{f}"</span>})) <span class="ruby-keyword">end</span> <span class="ruby-keyword">end</span> <span class="ruby-keyword">if</span> <span class="ruby-constant">FileTest</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-node">"#{path}/#{f}"</span>) <span class="ruby-identifier">import_imageinfo</span>(<span class="ruby-node">"#{path}/#{f}"</span>, <span class="ruby-identifier">base</span>) <span class="ruby-keyword">end</span> <span class="ruby-keyword">end</span>
<span class=“ruby-keyword”>end</span></pre>
</div><!-- import_imageinfo-source --> </div> <div class="aliases"> Also aliased as: <a href="Producer.html#method-i-importImageInfo">importImageInfo</a> </div> </div><!-- import_imageinfo-method --> <div id="method-i-load" class="method-detail "> <div class="method-heading"> <span class="method-name">load</span><span class="method-args">(file)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Take YAML <code>file</code> and update parameter hash.</p> <div class="method-source-code" id="load-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 36</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>load</span>(<span class=“ruby-identifier”>file</span>)
<span class="ruby-identifier">raise</span> <span class="ruby-node">"Can't open #{yamlfile}."</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">file</span>) <span class="ruby-identifier">merge_params</span>(<span class="ruby-ivar">@params</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-constant">YAML</span>.<span class="ruby-identifier">load_file</span>(<span class="ruby-identifier">file</span>)))
<span class=“ruby-keyword”>end</span></pre>
</div><!-- load-source --> </div> </div><!-- load-method --> <div id="method-i-merge_params" class="method-detail "> <div class="method-heading"> <span class="method-name">merge_params</span><span class="method-args">(params)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Update parameters by merging from new parameter hash <code>params</code>.</p> <div class="method-source-code" id="merge_params-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 69</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>merge_params</span>(<span class=“ruby-identifier”>params</span>)
<span class="ruby-ivar">@params</span> = <span class="ruby-ivar">@params</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">params</span>) <span class="ruby-identifier">complement</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"epubversion"</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">case</span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"epubversion"</span>].<span class="ruby-identifier">to_i</span> <span class="ruby-keyword">when</span> <span class="ruby-value">2</span> <span class="ruby-ivar">@epub</span> = <span class="ruby-constant">EPUBMaker</span><span class="ruby-operator">::</span><span class="ruby-constant">EPUBv2</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>) <span class="ruby-keyword">when</span> <span class="ruby-value">3</span> <span class="ruby-ivar">@epub</span> = <span class="ruby-constant">EPUBMaker</span><span class="ruby-operator">::</span><span class="ruby-constant">EPUBv3</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>) <span class="ruby-keyword">else</span> <span class="ruby-identifier">raise</span> <span class="ruby-node">"Invalid EPUB version (#{@params["epubversion"]}.)"</span> <span class="ruby-keyword">end</span> <span class="ruby-keyword">end</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-string">"language"</span>] <span class="ruby-constant">ReVIEW</span><span class="ruby-operator">::</span><span class="ruby-constant">I18n</span>.<span class="ruby-identifier">locale</span> = <span class="ruby-identifier">params</span>[<span class="ruby-string">"language"</span>] <span class="ruby-keyword">end</span> <span class="ruby-identifier">support_legacy_maker</span>
<span class=“ruby-keyword”>end</span></pre>
</div><!-- merge_params-source --> </div> </div><!-- merge_params-method --> <div id="method-i-mimetype" class="method-detail "> <div class="method-heading"> <span class="method-name">mimetype</span><span class="method-args">(wobj)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Write mimetype file to IO object <code>wobj</code>.</p> <div class="method-source-code" id="mimetype-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 90</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>mimetype</span>(<span class=“ruby-identifier”>wobj</span>)
<span class="ruby-identifier">s</span> = <span class="ruby-ivar">@epub</span>.<span class="ruby-identifier">mimetype</span> <span class="ruby-identifier">wobj</span>.<span class="ruby-identifier">print</span> <span class="ruby-identifier">s</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">s</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">wobj</span>.<span class="ruby-identifier">nil?</span>
<span class=“ruby-keyword”>end</span></pre>
</div><!-- mimetype-source --> </div> </div><!-- mimetype-method --> <div id="method-i-mytoc" class="method-detail "> <div class="method-heading"> <span class="method-name">mytoc</span><span class="method-args">(wobj)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Write own toc file to IO object <code>wobj</code>.</p> <div class="method-source-code" id="mytoc-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 136</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>mytoc</span>(<span class=“ruby-identifier”>wobj</span>)
<span class="ruby-identifier">s</span> = <span class="ruby-ivar">@epub</span>.<span class="ruby-identifier">mytoc</span> <span class="ruby-identifier">wobj</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">s</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">s</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">wobj</span>.<span class="ruby-identifier">nil?</span>
<span class=“ruby-keyword”>end</span></pre>
</div><!-- mytoc-source --> </div> </div><!-- mytoc-method --> <div id="method-i-ncx" class="method-detail "> <div class="method-heading"> <span class="method-name">ncx</span><span class="method-args">(wobj, indentarray=[])</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Write ncx file to IO object <code>wobj</code>. <code>indentarray</code>
defines prefix string for each level.</p>
<div class="method-source-code" id="ncx-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 103</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>ncx</span>(<span class=“ruby-identifier”>wobj</span>, <span class=“ruby-identifier”>indentarray</span>=[])
<span class="ruby-identifier">s</span> = <span class="ruby-ivar">@epub</span>.<span class="ruby-identifier">ncx</span>(<span class="ruby-identifier">indentarray</span>) <span class="ruby-identifier">wobj</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">s</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">s</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">wobj</span>.<span class="ruby-identifier">nil?</span>
<span class=“ruby-keyword”>end</span></pre>
</div><!-- ncx-source --> </div> </div><!-- ncx-method --> <div id="method-i-opf" class="method-detail "> <div class="method-heading"> <span class="method-name">opf</span><span class="method-args">(wobj)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Write opf file to IO object <code>wobj</code>.</p> <div class="method-source-code" id="opf-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 96</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>opf</span>(<span class=“ruby-identifier”>wobj</span>)
<span class="ruby-identifier">s</span> = <span class="ruby-ivar">@epub</span>.<span class="ruby-identifier">opf</span> <span class="ruby-identifier">wobj</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">s</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">s</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">wobj</span>.<span class="ruby-identifier">nil?</span>
<span class=“ruby-keyword”>end</span></pre>
</div><!-- opf-source --> </div> </div><!-- opf-method --> <div id="method-i-produce" class="method-detail "> <div class="method-heading"> <span class="method-name">produce</span><span class="method-args">(epubfile, basedir=nil, tmpdir=nil)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Produce EPUB file <code>epubfile</code>. <code>basedir</code> points the
directory has contents (default: current directory.) tmpdir
defines temporary directory.</p>
<div class="method-source-code" id="produce-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 167</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>produce</span>(<span class=“ruby-identifier”>epubfile</span>, <span class=“ruby-identifier”>basedir</span>=<span class=“ruby-keyword”>nil</span>, <span class=“ruby-identifier”>tmpdir</span>=<span class=“ruby-keyword”>nil</span>)
<span class="ruby-identifier">current</span> = <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span> <span class="ruby-identifier">basedir</span> = <span class="ruby-identifier">current</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">basedir</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-identifier">_tmpdir</span> = <span class="ruby-identifier">tmpdir</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">?</span> <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">mktmpdir</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">tmpdir</span> <span class="ruby-identifier">epubfile</span> = <span class="ruby-node">"#{current}/#{epubfile}"</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">epubfile</span> <span class="ruby-operator">!~</span> <span class="ruby-regexp">/\A\//</span> <span class="ruby-comment"># /</span> <span class="ruby-comment"># FIXME: error check</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">unlink</span>(<span class="ruby-identifier">epubfile</span>) <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">epubfile</span>) <span class="ruby-keyword">begin</span> <span class="ruby-ivar">@epub</span>.<span class="ruby-identifier">produce</span>(<span class="ruby-identifier">epubfile</span>, <span class="ruby-identifier">basedir</span>, <span class="ruby-identifier">_tmpdir</span>) <span class="ruby-keyword">ensure</span> <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">rm_r</span>(<span class="ruby-identifier">_tmpdir</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">tmpdir</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">end</span>
<span class=“ruby-keyword”>end</span></pre>
</div><!-- produce-source --> </div> </div><!-- produce-method --> <div id="method-i-titlepage" class="method-detail "> <div class="method-heading"> <span class="method-name">titlepage</span><span class="method-args">(wobj)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Write title file (copying) to IO object <code>wobj</code>.</p> <div class="method-source-code" id="titlepage-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 124</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>titlepage</span>(<span class=“ruby-identifier”>wobj</span>)
<span class="ruby-identifier">s</span> = <span class="ruby-ivar">@epub</span>.<span class="ruby-identifier">titlepage</span> <span class="ruby-identifier">wobj</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">s</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">s</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">wobj</span>.<span class="ruby-identifier">nil?</span>
<span class=“ruby-keyword”>end</span></pre>
</div><!-- titlepage-source --> </div> </div><!-- titlepage-method --> </section><!-- public-instance-method-details --> <section id="private-instance-5Buntitled-5D-method-details" class="method-section section"> <h3 class="section-header">Private Instance Methods</h3> <div id="method-i-complement" class="method-detail "> <div class="method-heading"> <span class="method-name">complement</span><span class="method-args">()</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Complement parameters.</p> <div class="method-source-code" id="complement-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 197</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>complement</span>
<span class="ruby-ivar">@params</span>[<span class="ruby-string">"htmlext"</span>] = <span class="ruby-string">"html"</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"htmlext"</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-identifier">defaults</span> = { <span class="ruby-string">"cover"</span> =<span class="ruby-operator">></span> <span class="ruby-node">"#{@params["bookname"]}.#{@params["htmlext"]}"</span>, <span class="ruby-string">"title"</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"booktitle"</span>], <span class="ruby-string">"language"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"ja"</span>, <span class="ruby-string">"date"</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-string">"%Y-%m-%d"</span>), <span class="ruby-string">"modified"</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-string">"%Y-%02m-%02dT%02H:%02M:%02SZ"</span>), <span class="ruby-string">"urnid"</span> =<span class="ruby-operator">></span> <span class="ruby-node">"urn:uid:#{UUID.create}"</span>, <span class="ruby-string">"isbn"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">nil</span>, <span class="ruby-string">"toclevel"</span> =<span class="ruby-operator">></span> <span class="ruby-value">2</span>, <span class="ruby-string">"stylesheet"</span> =<span class="ruby-operator">></span> [], <span class="ruby-string">"epubversion"</span> =<span class="ruby-operator">></span> <span class="ruby-value">2</span>, <span class="ruby-string">"htmlversion"</span> =<span class="ruby-operator">></span> <span class="ruby-value">4</span>, <span class="ruby-string">"secnolevel"</span> =<span class="ruby-operator">></span> <span class="ruby-value">2</span>, <span class="ruby-string">"pre_secnolevel"</span> =<span class="ruby-operator">></span> <span class="ruby-value">0</span>, <span class="ruby-string">"post_secnolevel"</span> =<span class="ruby-operator">></span> <span class="ruby-value">1</span>, <span class="ruby-string">"part_secnolevel"</span> =<span class="ruby-operator">></span> <span class="ruby-value">1</span>, <span class="ruby-string">"titlepage"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">nil</span>, <span class="ruby-string">"titlefile"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">nil</span>, <span class="ruby-string">"originaltitlefile"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">nil</span>, <span class="ruby-string">"profile"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">nil</span>, <span class="ruby-string">"colophon"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">nil</span>, <span class="ruby-string">"epubmaker"</span> =<span class="ruby-operator">></span> { <span class="ruby-string">"flattoc"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">nil</span>, <span class="ruby-string">"flattocindent"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">true</span>, <span class="ruby-string">"ncx_indent"</span> =<span class="ruby-operator">></span> [], <span class="ruby-string">"zip_stage1"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"zip -0Xq"</span>, <span class="ruby-string">"zip_stage2"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"zip -Xr9Dq"</span>, <span class="ruby-string">"zip_addpath"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">nil</span>, <span class="ruby-string">"hook_beforeprocess"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">nil</span>, <span class="ruby-string">"hook_afterfrontmatter"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">nil</span>, <span class="ruby-string">"hook_afterbody"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">nil</span>, <span class="ruby-string">"hook_afterbackmatter"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">nil</span>, <span class="ruby-string">"hook_aftercopyimage"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">nil</span>, <span class="ruby-string">"hook_prepack"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">nil</span>, <span class="ruby-string">"rename_for_legacy"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">nil</span>, <span class="ruby-string">"verify_target_images"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">nil</span>, <span class="ruby-string">"force_include_images"</span> =<span class="ruby-operator">></span> [], <span class="ruby-string">"cover_linear"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">nil</span>, }, <span class="ruby-string">"imagedir"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"images"</span>, <span class="ruby-string">"fontdir"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"fonts"</span>, <span class="ruby-string">"image_ext"</span> =<span class="ruby-operator">></span> <span class="ruby-node">%w(png gif jpg jpeg svg ttf woff otf)</span>, <span class="ruby-string">"font_ext"</span> =<span class="ruby-operator">></span> <span class="ruby-node">%w(ttf woff otf)</span>, } <span class="ruby-identifier">defaults</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>, <span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">k</span> <span class="ruby-operator">==</span> <span class="ruby-string">"epubmaker"</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@params</span>[<span class="ruby-identifier">k</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k2</span>, <span class="ruby-identifier">v2</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@params</span>[<span class="ruby-identifier">k</span>][<span class="ruby-identifier">k2</span>] = <span class="ruby-identifier">v2</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@params</span>[<span class="ruby-identifier">k</span>][<span class="ruby-identifier">k2</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">end</span> <span class="ruby-keyword">else</span> <span class="ruby-ivar">@params</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">v</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@params</span>[<span class="ruby-identifier">k</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">end</span> <span class="ruby-keyword">end</span> <span class="ruby-identifier">deprecated_parameters</span> = { <span class="ruby-string">"ncxindent"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"epubmaker:ncxindent"</span>, <span class="ruby-string">"flattoc"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"epubmaker:flattoc"</span>, <span class="ruby-string">"flattocindent"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"epubmaker:flattocindent"</span>, <span class="ruby-string">"hook_beforeprocess"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"epubmaker:hook_beforeprocess"</span>, <span class="ruby-string">"hook_afterfrontmatter"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"epubmaker:hook_afterfrontmatter"</span>, <span class="ruby-string">"hook_afterbody"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"epubmaker:hook_afterbody"</span>, <span class="ruby-string">"hook_afterbackmatter"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"epubmaker:hook_afterbackmatter"</span>, <span class="ruby-string">"hook_aftercopyimage"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"epubmaker:hook_aftercopyimage"</span>, <span class="ruby-string">"hook_prepack"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"epubmaker:hook_prepack"</span>, <span class="ruby-string">"rename_for_legacy"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"epubmaker:rename_for_legacy"</span>, <span class="ruby-string">"zip_stage1"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"epubmaker:zip_stage1"</span>, <span class="ruby-string">"zip_stage2"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"epubmaker:zip_stage2"</span>, <span class="ruby-string">"zip_addpath"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"epubmaker:zip_addpath"</span>, <span class="ruby-string">"verify_target_images"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"epubmaker:verify_target_images"</span>, <span class="ruby-string">"force_include_images"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"epubmaker:force_include_images"</span>, <span class="ruby-string">"cover_linear"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"epubmaker:cover_linear"</span>, } <span class="ruby-identifier">deprecated_parameters</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>, <span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@params</span>[<span class="ruby-identifier">k</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-identifier">sa</span> = <span class="ruby-identifier">v</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">":"</span>, <span class="ruby-value">2</span>) <span class="ruby-identifier">warn</span> <span class="ruby-node">"Parameter #{k} is deprecated. Use:\n#{sa[0]}:\n #{sa[1]}: ...\n\n"</span> <span class="ruby-ivar">@params</span>[<span class="ruby-identifier">sa</span>[<span class="ruby-value">0</span>]][<span class="ruby-identifier">sa</span>[<span class="ruby-value">1</span>]] = <span class="ruby-ivar">@params</span>[<span class="ruby-identifier">k</span>] <span class="ruby-ivar">@params</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">k</span>) <span class="ruby-keyword">end</span> <span class="ruby-keyword">end</span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"htmlversion"</span>] = <span class="ruby-value">5</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"epubversion"</span>] <span class="ruby-operator">>=</span> <span class="ruby-value">3</span> <span class="ruby-node">%w[bookname title]</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">raise</span> <span class="ruby-node">"Key #{k} must have a value. Abort."</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@params</span>[<span class="ruby-identifier">k</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">end</span> <span class="ruby-comment"># array</span> <span class="ruby-node">%w[subject aut a-adp a-ann a-arr a-art a-asn a-aqt a-aft a-aui a-ant a-bkp a-clb a-cmm a-dsr a-edt a-ill a-lyr a-mdc a-mus a-nrt a-oth a-pht a-prt a-red a-rev a-spn a-ths a-trc a-trl adp ann arr art asn aut aqt aft aui ant bkp clb cmm dsr edt ill lyr mdc mus nrt oth pht pbl prt red rev spn ths trc trl stylesheet rights]</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@params</span>[<span class="ruby-identifier">item</span>] = [<span class="ruby-ivar">@params</span>[<span class="ruby-identifier">item</span>]] <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@params</span>[<span class="ruby-identifier">item</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-ivar">@params</span>[<span class="ruby-identifier">item</span>].<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">String</span>) <span class="ruby-keyword">end</span> <span class="ruby-comment"># optional</span> <span class="ruby-comment"># type, format, identifier, source, relation, coverpage, aut</span>
<span class=“ruby-keyword”>end</span></pre>
</div><!-- complement-source --> </div> </div><!-- complement-method --> <div id="method-i-support_legacy_maker" class="method-detail "> <div class="method-heading"> <span class="method-name">support_legacy_maker</span><span class="method-args">()</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <div class="method-source-code" id="support_legacy_maker-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 295</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>support_legacy_maker</span>
<span class="ruby-comment"># legacy review-epubmaker support</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"flag_legacy_coverfile"</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@params</span>[<span class="ruby-string">"coverfile"</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-ivar">@params</span>[<span class="ruby-string">"coverfile"</span>]) <span class="ruby-ivar">@params</span>[<span class="ruby-string">"cover"</span>] = <span class="ruby-node">"#{@params["bookname"]}-cover.#{@params["htmlext"]}"</span> <span class="ruby-ivar">@epub</span>.<span class="ruby-identifier">legacy_cover_and_title_file</span>(<span class="ruby-ivar">@params</span>[<span class="ruby-string">"coverfile"</span>], <span class="ruby-ivar">@params</span>[<span class="ruby-string">"cover"</span>]) <span class="ruby-ivar">@params</span>[<span class="ruby-string">"flag_legacy_coverfile"</span>] = <span class="ruby-keyword">true</span> <span class="ruby-identifier">warn</span> <span class="ruby-string">"Parameter 'coverfile' is obsolete. Please use 'cover' and make complete html file with header and footer."</span> <span class="ruby-keyword">end</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"flag_legacy_titlepagefile"</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@params</span>[<span class="ruby-string">"titlepagefile"</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-ivar">@params</span>[<span class="ruby-string">"titlepagefile"</span>]) <span class="ruby-ivar">@params</span>[<span class="ruby-string">"titlefile"</span>] = <span class="ruby-node">"#{@params["bookname"]}-title.#{@params["htmlext"]}"</span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"titlepage"</span>] = <span class="ruby-keyword">true</span> <span class="ruby-ivar">@epub</span>.<span class="ruby-identifier">legacy_cover_and_title_file</span>(<span class="ruby-ivar">@params</span>[<span class="ruby-string">"titlepagefile"</span>], <span class="ruby-ivar">@params</span>[<span class="ruby-string">"titlefile"</span>]) <span class="ruby-ivar">@params</span>[<span class="ruby-string">"flag_legacy_titlepagefile"</span>] = <span class="ruby-keyword">true</span> <span class="ruby-identifier">warn</span> <span class="ruby-string">"Parameter 'titlepagefile' is obsolete. Please use 'titlefile' and make complete html file with header and footer."</span> <span class="ruby-keyword">end</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"flag_legacy_backcoverfile"</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@params</span>[<span class="ruby-string">"backcoverfile"</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-ivar">@params</span>[<span class="ruby-string">"backcoverfile"</span>]) <span class="ruby-ivar">@params</span>[<span class="ruby-string">"backcover"</span>] = <span class="ruby-node">"#{@params["bookname"]}-backcover.#{@params["htmlext"]}"</span> <span class="ruby-ivar">@epub</span>.<span class="ruby-identifier">legacy_cover_and_title_file</span>(<span class="ruby-ivar">@params</span>[<span class="ruby-string">"backcoverfile"</span>], <span class="ruby-ivar">@params</span>[<span class="ruby-string">"backcover"</span>]) <span class="ruby-ivar">@params</span>[<span class="ruby-string">"flag_legacy_backcoverfile"</span>] = <span class="ruby-keyword">true</span> <span class="ruby-identifier">warn</span> <span class="ruby-string">"Parameter 'backcoverfile' is obsolete. Please use 'backcover' and make complete html file with header and footer."</span> <span class="ruby-keyword">end</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"flag_legacy_pubhistory"</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@params</span>[<span class="ruby-string">"pubhistory"</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"history"</span>] = [[]] <span class="ruby-ivar">@params</span>[<span class="ruby-string">"pubhistory"</span>].<span class="ruby-identifier">split</span>(<span class="ruby-string">"\n"</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">date</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"history"</span>][<span class="ruby-value">0</span>].<span class="ruby-identifier">push</span>(<span class="ruby-identifier">date</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/(\d+)年(\d+)月(\d+)日/</span>, <span class="ruby-string">'\1-\2-\3'</span>)) <span class="ruby-keyword">end</span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"flag_legacy_pubhistory"</span>] = <span class="ruby-keyword">true</span> <span class="ruby-identifier">warn</span> <span class="ruby-string">"Parameter 'pubhistory' is obsolete. Please use 'history' array."</span> <span class="ruby-keyword">end</span>
<span class=“ruby-keyword”>end</span></pre>
</div><!-- support_legacy_maker-source --> </div> </div><!-- support_legacy_maker-method --> </section><!-- private-instance-method-details --> </section><!-- 5Buntitled-5D -->
</div><!– documentation –>
<footer id=“validator-badges”>
<p><a href="http://validator.w3.org/check/referer">[Validate]</a> <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 4.0.0. <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
</footer>