Sha256: d795e22be6a19cf0cbf4d9e1aa5c1ccf6111eb181a8685768a6ae07a9fbaa56b
Contents?: true
Size: 1.33 KB
Versions: 4
Compression:
Stored size: 1.33 KB
Contents
# frozen_string_literal: true module Kitabu module TOC class Epub attr_accessor :navigation def initialize(navigation) @navigation = navigation end def to_html data = OpenStruct.new(navigation: navigation).instance_eval { binding } ERB.new(template).result(data) end def template (+<<-HTML).strip_heredoc.force_encoding("utf-8") <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="epub.css"/> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> <title>Table of Contents</title> </head> <body> <div id="toc"> <ul> <% navigation.each do |nav| %> <li> <a href="<%= nav[:content] %>"><%= nav[:label] %></a> </li> <% end %> </ul> </div> </body> </html> HTML end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
kitabu-3.0.3 | lib/kitabu/toc/epub.rb |
kitabu-3.0.2 | lib/kitabu/toc/epub.rb |
kitabu-3.0.1 | lib/kitabu/toc/epub.rb |
kitabu-3.0.0 | lib/kitabu/toc/epub.rb |