EeePub is a Ruby ePub generator
Ruby
Latest commit e120406 Mar 21, 2013 @jugyo Merge pull request #24 from oakstudios/master
Define guide
Permalink
Failed to load latest commit information.
examples
lib Define guide Mar 20, 2013
spec
.gitignore remake the gemspec May 7, 2011
Gemfile
LICENSE
README.md
Rakefile
eeepub.gemspec version bump to 0.8.1 Mar 5, 2013

README.md

EeePub

EeePub is a Ruby ePub generator.

Usage

epub = EeePub.make do
  title       'sample'
  creator     'jugyo'
  publisher   'jugyo.org'
  date        '2010-05-06'
  identifier  'http://example.com/book/foo', :scheme => 'URL'
  uid         'http://example.com/book/foo'

  files ['/path/to/foo.html', '/path/to/bar.html'] # or files [{'/path/to/foo.html' => 'dest/dir'}, {'/path/to/bar.html' => 'dest/dir'}]
  nav [
    {:label => '1. foo', :content => 'foo.html', :nav => [
      {:label => '1.1 foo-1', :content => 'foo.html#foo-1'}
    ]},
    {:label => '1. bar', :content => 'bar.html'}
  ]
end
epub.save('sample.epub')

Low Level API

Create NCX:

EeePub::NCX.new(
  :uid => 'xxxx',
  :title => 'sample',
  :nav => [
    {:label => '1. foo', :content => 'foo.html'},
    {:label => '2. bar', :content => 'bar.html'}
  ]
).save(File.join('sample', 'toc.ncx'))

Create OPF:

EeePub::OPF.new(
  :title => 'sample',
  :identifier => {:value => '0-0000000-0-0', :scheme => 'ISBN'},
  :manifest => ['foo.html', 'bar.html'],
  :ncx => 'toc.ncx'
).save(File.join('sample', 'content.opf'))

Create OCF and ePub file:

EeePub::OCF.new(
  :dir => 'sample',
  :container => 'content.opf'
).save('sample.epub')

Install

gem install eeepub

Requirements

  • builder
  • eBook Reader :)

Links

Copyright

Copyright (c) 2010 jugyo. See LICENSE for details.