bookie 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +6 -0
- data/README.md +8 -4
- data/examples/preformatted.rb +5 -0
- data/lib/bookie.rb +3 -1
- data/lib/bookie/emitters.rb +25 -0
- data/lib/bookie/version.rb +1 -1
- metadata +13 -2
data/CHANGELOG.md
CHANGED
@@ -25,3 +25,9 @@ preformatted text. See examples/preformatted.rb for to see how it works.
|
|
25
25
|
Reinstated a skeletal HTML emitter because it's needed for EPub and Mobi. Added
|
26
26
|
pretty terrible Mobi support, will not really be useful until we flesh out
|
27
27
|
manifests and table of content generation, but looks okay on my Kindle!
|
28
|
+
|
29
|
+
## 0.0.6 (2011.04.26)
|
30
|
+
|
31
|
+
Added a minimal ePUB generator that seems to work at least for Adobe Digital
|
32
|
+
Editions and EPubReader. Still have not tested where it matters, the
|
33
|
+
iPad+iBooks.
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Bookie: An ebook publishing toolchain in
|
1
|
+
# Bookie: An ebook publishing toolchain written mostly in Ruby
|
2
2
|
|
3
3
|
While I have not looked especially far and wide, I haven't found a book
|
4
4
|
publishing toolchain that I like which both has a nice workflow AND does not
|
@@ -22,9 +22,13 @@ PDF generation is provided by [Prawn](http::/prawn.majesticseacreature.com),
|
|
22
22
|
ePUB from [eeepub](https://github.com/jugyo/eeepub), and MOBI via the command
|
23
23
|
line tool [kindlegen](http://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000234621).
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
PDF can be generated out of the box after installing the bookie gem. For ePUB,
|
26
|
+
it's necessary to have the GNU zip command line utility present (preinstalled on
|
27
|
+
OS X and many linux distros, but you may need msys on Windows, not sure.). For
|
28
|
+
MOBI, you need to install kindlegen manually.
|
29
|
+
|
30
|
+
A long term goal for this project would be to eliminate most or all of these
|
31
|
+
non-ruby dependencies, but I want to get a working toolchain together first.
|
28
32
|
|
29
33
|
## Contributing
|
30
34
|
|
data/examples/preformatted.rb
CHANGED
@@ -18,3 +18,8 @@ mobi_document = Bookie::Document.new(file, Bookie::Emitters::MOBI.new)
|
|
18
18
|
|
19
19
|
mobi_document.render(title: "Ruby's Method Lookup Path",
|
20
20
|
file: "output.mobi")
|
21
|
+
|
22
|
+
epub_document = Bookie::Document.new(file, Bookie::Emitters::EPUB.new)
|
23
|
+
|
24
|
+
epub_document.render(title: "Ruby's Method Lookup Path",
|
25
|
+
file: "output.epub")
|
data/lib/bookie.rb
CHANGED
data/lib/bookie/emitters.rb
CHANGED
@@ -34,6 +34,31 @@ module Bookie
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
+
class EPUB < HTML
|
38
|
+
def render(params)
|
39
|
+
t = Tempfile.new(params[:file])
|
40
|
+
t << %{<?xml version="1.0" encoding="UTF-8"?>
|
41
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
42
|
+
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
43
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
44
|
+
<body><h1>#{params[:title]}</h1>#{@body}</body>
|
45
|
+
</html>
|
46
|
+
}
|
47
|
+
t.close
|
48
|
+
FileUtils.mv(t.path, "#{t.path}.html")
|
49
|
+
|
50
|
+
epub = EeePub.make do
|
51
|
+
title params[:title]
|
52
|
+
identifier '', :scheme => 'URL'
|
53
|
+
uid ''
|
54
|
+
|
55
|
+
files [File.expand_path("#{t.path}.html")]
|
56
|
+
end
|
57
|
+
|
58
|
+
epub.save(params[:file])
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
37
62
|
class MOBI < HTML
|
38
63
|
def render(params)
|
39
64
|
t = Tempfile.new(params[:file])
|
data/lib/bookie/version.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: bookie
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Gregory Brown
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-04-
|
13
|
+
date: 2011-04-26 00:00:00 -04:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -24,6 +24,17 @@ dependencies:
|
|
24
24
|
version: 0.11.0
|
25
25
|
type: :runtime
|
26
26
|
version_requirements: *id001
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: eeepub
|
29
|
+
prerelease: false
|
30
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
31
|
+
none: false
|
32
|
+
requirements:
|
33
|
+
- - ~>
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: 0.6.0
|
36
|
+
type: :runtime
|
37
|
+
version_requirements: *id002
|
27
38
|
description: Eventually this may be a markdown to PDF, ePUB, MOBI processor. For now it's just something I'm playing around with, so use at your own risk
|
28
39
|
email:
|
29
40
|
- gregory.t.brown@gmail.com
|