27 return '<a href="' + data[0] + '">' + data[1] + '</a>'
30 def output_dir=(value)
46 def write_books(fd, book_ids)
48 book = @store.load_book(id)
52 (path, mimeType) = book.cover.write_image(@output_dir, 'image' + @imageCount.to_s)
53 image = '<img class="cover-thumb" src="' + path + '"/>'
55 image = '(No cover image)'
58 fd.puts ' <div><table>'
59 fd.puts ' <tr><td><a href="' + book.path + '">' + image + '</a></td>'
61 heading = book.heading()
62 description = book.description()
64 fd.puts ' <td><span class="popup">' + heading + '<span class="pop-inner"><p>' + heading + '</p><p>' + description + '</p></span></span></td></tr>'
66 fd.puts ' <td>' + heading + '</td></tr>'
69 fd.puts ' </table></div>'
74 fd.puts ' <p class="navigator">' + navig_link(@back) + ' ' + navig_link(@up) + ' ' + navig_link(@forward) + '</p>'
78 fd.puts ' <h1 class="header">' + @title + '</h1>'
80 fd.puts ' <p class="navigator">' + navig_link(@back) + ' ' + navig_link(@up) + ' ' + navig_link(@forward) + '</p>'
83 def write_html(book_ids)
86 if ! Dir.exist?(@output_dir)
87 Dir.mkdir(@output_dir)
90 open(@output_dir + '/index.html', 'w') do |fd|
93 fd.puts ' <meta charset="utf-8"/>'
94 fd.puts ' <title>' + @title + '</title>'
104 write_books(fd, book_ids)
113 def write_special(fd)
119 def write_style_sheet(fd)
124 display: inline-block;
127 border 3px solid #73ad21;
134 img.cover-thumb { max-height: 200px; max-width: 200px; }
137 span.popup:hover { text-decoration: none; background: #cfffff; z-index: 6; }
138 span.popup span.pop-inner {
144 padding: 3px 3px 3px 3px;
147 span.popup:hover span.pop-inner {
150 margin: 20px 0 0 0px;