<!DOCTYPE html>
<html> <head> <meta content=“text/html; charset=UTF-8” http-equiv=“Content-Type”>
<title>class EPUBMaker::Producer - review-2.1.0 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-isbn_hyphen">#isbn_hyphen</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> </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="../Encoding.html">Encoding</a> <li><a href="../Hash.html">Hash</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/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/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/Converter.html">ReVIEW::Converter</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/IDGXMLBuilder.html">ReVIEW::IDGXMLBuilder</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/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/MD2INAOBuilder.html">ReVIEW::MD2INAOBuilder</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/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/WEBMaker.html">ReVIEW::WEBMaker</a> <li><a href="../ReVIEW/WEBTOCPrinter.html">ReVIEW::WEBTOCPrinter</a> <li><a href="../ReVIEW/WrongInput.html">ReVIEW::WrongInput</a> <li><a href="../ReVIEW/YAMLLoader.html">ReVIEW::YAMLLoader</a> <li><a href="../String.html">String</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 31</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 #{file}."</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">loader</span> = <span class="ruby-constant">ReVIEW</span><span class="ruby-operator">::</span><span class="ruby-constant">YAMLLoader</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">loader</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 47</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-constant">ReVIEW</span><span class="ruby-operator">::</span><span class="ruby-constant">Configure</span>.<span class="ruby-identifier">new</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">if</span> <span class="ruby-identifier">params</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 185</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 131</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 110</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 118</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 59</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>coverimage</span>
<span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">params</span>[<span class="ruby-string">"coverimage"</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-identifier">start_with?</span>(<span class="ruby-string">'image'</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 144</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-identifier">start_with?</span>(<span class="ruby-string">'.'</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-isbn_hyphen" class="method-detail "> <div class="method-heading"> <span class="method-name">isbn_hyphen</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="isbn_hyphen-source"> <pre><span class="ruby-comment"># File lib/epubmaker/producer.rb, line 195</span>
<span class=“ruby-keyword”>def</span> <span class=“ruby-identifier”>isbn_hyphen</span>
<span class="ruby-identifier">str</span> = <span class="ruby-ivar">@params</span>[<span class="ruby-string">"isbn"</span>].<span class="ruby-identifier">to_s</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">str</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/\A\d{10}\Z/</span> <span class="ruby-node">"#{str[0..0]}-#{str[1..5]}-#{str[6..8]}-#{str[9..9]}"</span> <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">str</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/\A\d{13}\Z/</span> <span class="ruby-node">"#{str[0..2]}-#{str[3..3]}-#{str[4..8]}-#{str[9..11]}-#{str[12..12]}"</span> <span class="ruby-keyword">else</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">end</span>
<span class=“ruby-keyword”>end</span></pre>
</div><!-- isbn_hyphen-source --> </div> </div><!-- isbn_hyphen-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 38</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 #{file}."</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">loader</span> = <span class="ruby-constant">ReVIEW</span><span class="ruby-operator">::</span><span class="ruby-constant">YAMLLoader</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">merge_params</span>(<span class="ruby-ivar">@params</span>.<span class="ruby-identifier">deep_merge</span>(<span class="ruby-identifier">loader</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 70</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-identifier">deep_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 91</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 137</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 104</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 97</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 168</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 125</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 210</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-constant">ReVIEW</span><span class="ruby-operator">::</span><span class="ruby-constant">Configure</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">merge</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">"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">3</span>, <span class="ruby-string">"htmlversion"</span> =<span class="ruby-operator">></span> <span class="ruby-value">5</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">"colophon_order"</span> =<span class="ruby-operator">></span> <span class="ruby-node">%w[aut csl trl dsr ill edt pbl prt pht]</span>, <span class="ruby-string">"direction"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"ltr"</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">"externallink"</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">true</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-ivar">@params</span> = <span class="ruby-identifier">defaults</span>.<span class="ruby-identifier">deep_merge</span>(<span class="ruby-ivar">@params</span>) <span class="ruby-ivar">@params</span>[<span class="ruby-string">"title"</span>] = <span class="ruby-ivar">@params</span>[<span class="ruby-string">"booktitle"</span>] <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"title"</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-ivar">@params</span>.<span class="ruby-identifier">maker</span> = <span class="ruby-string">"epubmaker"</span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"cover"</span>] = <span class="ruby-node">"#{@params["bookname"]}.#{@params["htmlext"]}"</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@params</span>[<span class="ruby-string">"cover"</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">unless</span> <span class="ruby-ivar">@params</span>[<span class="ruby-identifier">k</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-keyword">next</span> <span class="ruby-keyword">unless</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-ivar">@params</span>[<span class="ruby-identifier">item</span>]] <span class="ruby-keyword">if</span> <span class="ruby-ivar">@params</span>[<span class="ruby-identifier">item</span>].<span class="ruby-identifier">kind_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 310</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>