Class: Rpub::Epub::Toc

Inherits:
XmlFile show all
Defined in:
lib/rpub/epub/toc.rb

Instance Attribute Summary collapse

Attributes inherited from XmlFile

#xml

Instance Method Summary collapse

Methods inherited from XmlFile

#to_s

Constructor Details

#initialize(book) ⇒ Toc

Returns a new instance of Toc.



6
7
8
9
# File 'lib/rpub/epub/toc.rb', line 6

def initialize(book)
  @book = book
  super()
end

Instance Attribute Details

#bookObject (readonly)

Returns the value of attribute book.



4
5
6
# File 'lib/rpub/epub/toc.rb', line 4

def book
  @book
end

Instance Method Details

#renderObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/rpub/epub/toc.rb', line 11

def render
  xml.instruct!
  xml.declare! :DOCTYPE, :ncx, :PUBLIC, "-//W3C//DTD XHTML 1.1//EN", 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'
  xml.ncx :xmlns => 'http://www.daisy.org/z3986/2005/ncx/', :version => '2005-1' do
    xml.head do
      xml.meta :name => 'dtb:uid', :content => book.uid
      xml.meta :name => 'dtb:depth', :content => '1'
      xml.meta :name => 'dtb:totalPageCount', :content => '0'
      xml.meta :name => 'dtb:maxPageNumber', :content => '0'
    end
    xml.docTitle { xml.text book.title }
    xml.navMap do
      book.chapters.each_with_index do |chapter, n|
        xml.navPoint :id => chapter.xml_id, :playOrder => n do
          xml.navLabel { xml.text chapter.title }
          xml.content :src => chapter.filename
        end
      end
    end
  end
end