gepub 0.3.0 → 0.4.0
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/README.rdoc +1 -1
- data/VERSION +1 -1
- data/bin/gepuber +1 -1
- data/gepub.gemspec +7 -4
- data/lib/gepub/gepuber.rb +36 -45
- data/spec/fixtures/testdata/0.html +12 -0
- data/spec/fixtures/testdata/1.html +10 -0
- data/spec/gepuber_spec.rb +52 -0
- metadata +7 -5
data/README.rdoc
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
data/bin/gepuber
CHANGED
data/gepub.gemspec
CHANGED
@@ -5,12 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{gepub}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.4.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["KOJIMA Satoshi"]
|
12
|
-
s.date = %q{2011-04-
|
13
|
-
s.default_executable = %q{gepuber}
|
12
|
+
s.date = %q{2011-04-21}
|
14
13
|
s.description = %q{an easy-to-use (and easy-to-implement) EPUB generator.}
|
15
14
|
s.email = %q{skoji@skoji.jp}
|
16
15
|
s.executables = ["gepuber"]
|
@@ -31,16 +30,20 @@ Gem::Specification.new do |s|
|
|
31
30
|
"lib/gepub/generator.rb",
|
32
31
|
"lib/gepub/gepuber.rb",
|
33
32
|
"lib/gepub/item.rb",
|
33
|
+
"spec/fixtures/testdata/0.html",
|
34
|
+
"spec/fixtures/testdata/1.html",
|
34
35
|
"spec/gepub_spec.rb",
|
36
|
+
"spec/gepuber_spec.rb",
|
35
37
|
"spec/spec_helper.rb"
|
36
38
|
]
|
37
39
|
s.homepage = %q{http://github.com/skoji/gepub}
|
38
40
|
s.require_paths = ["lib"]
|
39
|
-
s.rubygems_version = %q{1.
|
41
|
+
s.rubygems_version = %q{1.7.2}
|
40
42
|
s.summary = %q{a good-enough EPUB generator.}
|
41
43
|
s.test_files = [
|
42
44
|
"examples/example.rb",
|
43
45
|
"spec/gepub_spec.rb",
|
46
|
+
"spec/gepuber_spec.rb",
|
44
47
|
"spec/spec_helper.rb"
|
45
48
|
]
|
46
49
|
|
data/lib/gepub/gepuber.rb
CHANGED
@@ -1,63 +1,54 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
|
3
3
|
module GEPUB
|
4
|
-
class Gepuber
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|arg|
|
11
|
-
@book.send(name.to_s + "=" , arg)
|
12
|
-
}
|
13
|
-
}
|
14
|
-
end
|
4
|
+
class Gepuber < GEPUB::Book
|
5
|
+
class FileProvider
|
6
|
+
include Enumerable
|
7
|
+
def initialize(pattern)
|
8
|
+
@list = Dir.glob(pattern)
|
9
|
+
end
|
15
10
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
11
|
+
def each (&block)
|
12
|
+
@list.each {
|
13
|
+
|f|
|
14
|
+
File.open(f, 'rb') {
|
15
|
+
|fio|
|
16
|
+
yield f, fio
|
17
|
+
}
|
22
18
|
}
|
23
|
-
|
19
|
+
end
|
24
20
|
end
|
25
21
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
@
|
22
|
+
attr_accessor :texts, :resources, :epubname, :coverimg, :table_of_contents, :provider
|
23
|
+
|
24
|
+
def initialize(param)
|
25
|
+
super('', 'OEBPS')
|
26
|
+
param.each {
|
27
|
+
|k,v|
|
28
|
+
self.send "#{k}=", v
|
29
|
+
}
|
30
|
+
@texts ||= ['[0-9]*.html']
|
31
|
+
@resources ||= ['*.css', 'img/*']
|
35
32
|
@coverimg ||= 'cover.jpg'
|
36
|
-
@
|
33
|
+
@table_of_contents ||= {}
|
37
34
|
@epubname ||= 'gepuber_generated'
|
35
|
+
@provider ||= FileProvider
|
38
36
|
end
|
39
37
|
|
40
38
|
def create(destbasedir = ".")
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
item = @book.add_item(f, fio)
|
47
|
-
@book.spine << item
|
48
|
-
@book.add_nav(item, @toc[f]) if !@toc[f].nil?
|
49
|
-
}
|
39
|
+
@provider.new(@texts).each {
|
40
|
+
|f, fio|
|
41
|
+
item = add_item(f, fio)
|
42
|
+
@spine << item
|
43
|
+
add_nav(item, @toc[f]) if !@toc[f].nil?
|
50
44
|
}
|
51
45
|
|
52
|
-
@resources.each {
|
53
|
-
|f|
|
54
|
-
|
55
|
-
|
56
|
-
item = @book.add_item(f, fio)
|
57
|
-
@book.specify_cover_image(item) if File.basename(f) == @coverimg
|
58
|
-
}
|
46
|
+
@provider.new(@resources).each {
|
47
|
+
|f, fio|
|
48
|
+
item = add_item(f, fio)
|
49
|
+
specify_cover_image(item) if File.basename(f) == @coverimg
|
59
50
|
}
|
60
|
-
|
51
|
+
generate_epub(File.join(destbasedir, @epubname + '.epub'))
|
61
52
|
end
|
62
53
|
end
|
63
54
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
3
|
+
<head>
|
4
|
+
<title>gepuber test book</title>
|
5
|
+
<link rel="stylesheet" type="text/css" href="gepuber.css"></link>
|
6
|
+
</head>
|
7
|
+
<body>
|
8
|
+
<div>
|
9
|
+
<img class="cover" src="img/cover.jpg" alt="cover" />
|
10
|
+
</div>
|
11
|
+
</body>
|
12
|
+
</html>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
3
|
+
<head>
|
4
|
+
<title>gepuber test book: page 1</title>
|
5
|
+
<link rel="stylesheet" type="text/css" href="gepuber.css"></link>
|
6
|
+
</head>
|
7
|
+
<body>
|
8
|
+
<p>contents comes here</p>
|
9
|
+
</body>
|
10
|
+
</html>
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# need to install 'epubcheck'.
|
3
|
+
|
4
|
+
require File.dirname(__FILE__) + '/spec_helper.rb'
|
5
|
+
require 'rubygems'
|
6
|
+
require 'xml/libxml'
|
7
|
+
|
8
|
+
|
9
|
+
describe GEPUB::Gepuber do
|
10
|
+
it "should be initialized with empty conf" do
|
11
|
+
gepuber = GEPUB::Gepuber.new({})
|
12
|
+
gepuber.texts.should == ['[0-9]*.html']
|
13
|
+
gepuber.resources.should == ['*.css', 'img/*']
|
14
|
+
gepuber.title.should == ""
|
15
|
+
gepuber.table_of_contents.should == {}
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should read config hash" do
|
19
|
+
conf =
|
20
|
+
{
|
21
|
+
locale: 'ja',
|
22
|
+
title: 'theTitle',
|
23
|
+
author: 'theAuthor',
|
24
|
+
publisher: 'thePublisher',
|
25
|
+
date: '2011-03-11',
|
26
|
+
identifier: 'http://skoji.jp/gepuber/2011-03-11.0.0',
|
27
|
+
epubname: 'gepub_00',
|
28
|
+
table_of_contents: {
|
29
|
+
'1_.html' => '1st toc',
|
30
|
+
'3_.html' => '3rd toc',
|
31
|
+
'9_.html' => 'last toc'
|
32
|
+
},
|
33
|
+
coverimg: 'cover.gif',
|
34
|
+
texts: [ '*.html' ],
|
35
|
+
resources: ['*.css','*.gif']
|
36
|
+
}
|
37
|
+
|
38
|
+
gepuber = GEPUB::Gepuber.new(conf )
|
39
|
+
gepuber.title.should == "theTitle"
|
40
|
+
gepuber.locale.should == "ja"
|
41
|
+
gepuber.author.should == "theAuthor"
|
42
|
+
gepuber.publisher.should == "thePublisher"
|
43
|
+
gepuber.date.should == "2011-03-11"
|
44
|
+
gepuber.identifier.should == 'http://skoji.jp/gepuber/2011-03-11.0.0'
|
45
|
+
gepuber.epubname.should == 'gepub_00'
|
46
|
+
gepuber.coverimg.should == 'cover.gif'
|
47
|
+
gepuber.table_of_contents.should == { '1_.html' => '1st toc', '3_.html' => '3rd toc', '9_.html' => 'last toc'}
|
48
|
+
gepuber.texts.should == ['*.html']
|
49
|
+
gepuber.resources.should == ['*.css', '*.gif']
|
50
|
+
|
51
|
+
end
|
52
|
+
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: gepub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.
|
5
|
+
version: 0.4.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- KOJIMA Satoshi
|
@@ -10,8 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-04-
|
14
|
-
default_executable: gepuber
|
13
|
+
date: 2011-04-21 00:00:00 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
16
|
name: libxml-ruby
|
@@ -101,9 +100,11 @@ files:
|
|
101
100
|
- lib/gepub/generator.rb
|
102
101
|
- lib/gepub/gepuber.rb
|
103
102
|
- lib/gepub/item.rb
|
103
|
+
- spec/fixtures/testdata/0.html
|
104
|
+
- spec/fixtures/testdata/1.html
|
104
105
|
- spec/gepub_spec.rb
|
106
|
+
- spec/gepuber_spec.rb
|
105
107
|
- spec/spec_helper.rb
|
106
|
-
has_rdoc: true
|
107
108
|
homepage: http://github.com/skoji/gepub
|
108
109
|
licenses: []
|
109
110
|
|
@@ -127,11 +128,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
128
|
requirements: []
|
128
129
|
|
129
130
|
rubyforge_project:
|
130
|
-
rubygems_version: 1.
|
131
|
+
rubygems_version: 1.7.2
|
131
132
|
signing_key:
|
132
133
|
specification_version: 3
|
133
134
|
summary: a good-enough EPUB generator.
|
134
135
|
test_files:
|
135
136
|
- examples/example.rb
|
136
137
|
- spec/gepub_spec.rb
|
138
|
+
- spec/gepuber_spec.rb
|
137
139
|
- spec/spec_helper.rb
|