gepub 0.6.9.2 → 0.7.0beta1

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/spec/package_spec.rb CHANGED
@@ -37,13 +37,13 @@ describe GEPUB::Package do
37
37
  end
38
38
  context 'generate new opf' do
39
39
  it 'should generate opf' do
40
- opf = GEPUB::Package.new('OEBPS/package.opf') {
41
- |opf|
42
- opf.set_main_id('http://example.jp', 'BookID', 'url')
43
- opf['xml:lang'] = 'ja'
40
+ opf = GEPUB::Package.new('OEBPS/package.package') {
41
+ |package|
42
+ package.primary_identifier('http://example.jp', 'BookID', 'url')
43
+ package['xml:lang'] = 'ja'
44
44
 
45
45
  # metadata add: style 1
46
- opf.metadata.add_title('EPUB3 Sample', nil, GEPUB::TITLE_TYPE::MAIN) {
46
+ package.metadata.add_title('EPUB3 Sample', nil, GEPUB::TITLE_TYPE::MAIN) {
47
47
  |title|
48
48
  title.display_seq = 1
49
49
  title.file_as = 'Sample EPUB3'
@@ -53,17 +53,17 @@ describe GEPUB::Package do
53
53
  'th' => 'EPUB3 ตัวอย่าง (ญี่ปุ่น)')
54
54
  }
55
55
  # metadata add: style2
56
- opf.metadata.add_title('これでEPUB3もばっちり', nil, GEPUB::TITLE_TYPE::SUBTITLE).set_display_seq(2).add_alternates('en' => 'you need nothing but this book!')
57
- opf.metadata.add_creator('小嶋智').set_display_seq(1).add_alternates('en' => 'KOJIMA Satoshi')
58
- opf.metadata.add_contributor('電書部').set_display_seq(1).add_alternates('en' => 'Denshobu')
59
- opf.metadata.add_contributor('アサガヤデンショ').set_display_seq(2).add_alternates('en' => 'Asagaya Densho')
60
- opf.metadata.add_contributor('湘南電書鼎談').set_display_seq(3).add_alternates('en' => 'Shonan Densho Teidan')
61
- opf.metadata.add_contributor('電子雑誌トルタル').set_display_seq(4).add_alternates('en' => 'eMagazine Torutaru')
62
- opf.add_item('img/image1.jpg')
63
- opf.add_item('img/cover.jpg').add_property('cover-image')
64
- opf.ordered {
65
- opf.add_item('text/chapter1.xhtml')
66
- opf.add_item('text/chapter2.xhtml')
56
+ package.metadata.add_title('これでEPUB3もばっちり', nil, GEPUB::TITLE_TYPE::SUBTITLE).display_seq(2).add_alternates('en' => 'you need nothing but this book!')
57
+ package.metadata.add_creator('小嶋智').display_seq(1).add_alternates('en' => 'KOJIMA Satoshi')
58
+ package.metadata.add_contributor('電書部').display_seq(1).add_alternates('en' => 'Denshobu')
59
+ package.metadata.add_contributor('アサガヤデンショ').display_seq(2).add_alternates('en' => 'Asagaya Densho')
60
+ package.metadata.add_contributor('湘南電書鼎談').display_seq(3).add_alternates('en' => 'Shonan Densho Teidan')
61
+ package.metadata.add_contributor('電子雑誌トルタル').display_seq(4).add_alternates('en' => 'eMagazine Torutaru')
62
+ package.add_item('img/image1.jpg')
63
+ package.add_item('img/cover.jpg').add_property('cover-image')
64
+ package.ordered {
65
+ package.add_item('text/chapter1.xhtml')
66
+ package.add_item('text/chapter2.xhtml')
67
67
  }
68
68
  }
69
69
  xml = Nokogiri::XML::Document.parse opf.opf_xml
@@ -76,24 +76,24 @@ describe GEPUB::Package do
76
76
  end
77
77
 
78
78
  it 'should generate package with prefix attribute' do
79
- package = GEPUB::Package.new('OEBPS/package.opf') do
79
+ opf = GEPUB::Package.new('OEBPS/package.opf') do
80
80
  |package|
81
- package.set_primary_identifier('http://example.jp', 'BookID', 'url')
81
+ package.primary_identifier('http://example.jp', 'BookID', 'url')
82
82
  package['xml:lang'] = 'ja'
83
83
  package.enable_rendition
84
84
  end
85
- xml = Nokogiri::XML::Document.parse package.opf_xml
85
+ xml = Nokogiri::XML::Document.parse opf.opf_xml
86
86
  expect(xml.root['prefix']).to eq('rendition: http://www.idpf.org/vocab/rendition/#')
87
87
  end
88
88
 
89
89
  it 'should generate package with rendition attributes' do
90
- package = GEPUB::Package.new('OEBPS/package.opf') do
90
+ opf = GEPUB::Package.new('OEBPS/package.opf') do
91
91
  |package|
92
92
  package.rendition_layout = 'pre-paginated'
93
93
  package.rendition_orientation = 'portlait'
94
94
  package.rendition_spread = 'landscape'
95
95
  end
96
- xml = Nokogiri::XML::Document.parse package.opf_xml
96
+ xml = Nokogiri::XML::Document.parse opf.opf_xml
97
97
  expect(xml.root['prefix']).to eq('rendition: http://www.idpf.org/vocab/rendition/#')
98
98
  expect(xml.at_xpath("//xmlns:meta[@property='rendition:layout']").content).to eq('pre-paginated')
99
99
  expect(xml.at_xpath("//xmlns:meta[@property='rendition:orientation']").content).to eq('portlait')
@@ -101,23 +101,23 @@ describe GEPUB::Package do
101
101
  end
102
102
 
103
103
  it 'should handle ibooks version' do
104
- package = GEPUB::Package.new('OEBPS/package.opf') do
104
+ opf = GEPUB::Package.new('OEBPS/package.opf') do
105
105
  |package|
106
106
  package.ibooks_version = '1.1.1'
107
107
  end
108
- xml = Nokogiri::XML::Document.parse package.opf_xml
108
+ xml = Nokogiri::XML::Document.parse opf.opf_xml
109
109
  expect(xml.root['prefix']).to eq('ibooks: http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0/')
110
110
  expect(xml.at_xpath("//xmlns:meta[@property='ibooks:version']").content).to eq('1.1.1')
111
111
  end
112
112
 
113
113
  it 'should generate opf2.0' do
114
114
  opf = GEPUB::Package.new('OEBPS/package.opf', { 'version' => '2.0'}) {
115
- |opf|
116
- opf.set_primary_identifier('http://example.jp', 'BookID', 'url')
117
- opf['xml:lang'] = 'ja'
115
+ |package|
116
+ package.primary_identifier('http://example.jp', 'BookID', 'url')
117
+ package['xml:lang'] = 'ja'
118
118
 
119
119
  # metadata add: style 1
120
- opf.metadata.add_title('EPUB3 Sample', nil, GEPUB::TITLE_TYPE::MAIN) {
120
+ package.metadata.add_title('EPUB3 Sample', nil, GEPUB::TITLE_TYPE::MAIN) {
121
121
  |title|
122
122
  title.display_seq = 1
123
123
  title.file_as = 'Sample EPUB3'
@@ -127,16 +127,16 @@ describe GEPUB::Package do
127
127
  'th' => 'EPUB3 ตัวอย่าง (ญี่ปุ่น)')
128
128
  }
129
129
  # metadata add: style2
130
- opf.metadata.add_title('これでEPUB3もばっちり', nil, GEPUB::TITLE_TYPE::SUBTITLE).set_display_seq(2).add_alternates('en' => 'you need nothing but this book!')
131
- opf.metadata.add_creator('小嶋智').set_display_seq(1).add_alternates('en' => 'KOJIMA Satoshi')
132
- opf.metadata.add_contributor('電書部').set_display_seq(1).add_alternates('en' => 'Denshobu')
133
- opf.metadata.add_contributor('アサガヤデンショ').set_display_seq(2).add_alternates('en' => 'Asagaya Densho')
134
- opf.metadata.add_contributor('湘南電書鼎談').set_display_seq(3).add_alternates('en' => 'Shonan Densho Teidan')
135
- opf.metadata.add_contributor('電子雑誌トルタル').set_display_seq(4).add_alternates('en' => 'eMagazine Torutaru')
136
- opf.add_item('img/image1.jpg')
137
- opf.ordered {
138
- opf.add_item('text/chapter1.xhtml')
139
- opf.add_item('text/chapter2.xhtml')
130
+ package.metadata.add_title('これでEPUB3もばっちり', nil, GEPUB::TITLE_TYPE::SUBTITLE).display_seq(2).add_alternates('en' => 'you need nothing but this book!')
131
+ package.metadata.add_creator('小嶋智').display_seq(1).add_alternates('en' => 'KOJIMA Satoshi')
132
+ package.metadata.add_contributor('電書部').display_seq(1).add_alternates('en' => 'Denshobu')
133
+ package.metadata.add_contributor('アサガヤデンショ').display_seq(2).add_alternates('en' => 'Asagaya Densho')
134
+ package.metadata.add_contributor('湘南電書鼎談').display_seq(3).add_alternates('en' => 'Shonan Densho Teidan')
135
+ package.metadata.add_contributor('電子雑誌トルタル').display_seq(4).add_alternates('en' => 'eMagazine Torutaru')
136
+ package.add_item('img/image1.jpg')
137
+ package.ordered {
138
+ package.add_item('text/chapter1.xhtml')
139
+ package.add_item('text/chapter2.xhtml')
140
140
  }
141
141
  }
142
142
  xml = Nokogiri::XML::Document.parse opf.opf_xml
data/spec/spec_helper.rb CHANGED
@@ -31,7 +31,14 @@ RSpec.configure do |config|
31
31
  result
32
32
  end
33
33
 
34
-
34
+ def epubcheck(epubname)
35
+ jar = File.join(File.dirname(__FILE__), 'fixtures/epubcheck-3.0.1/epubcheck-3.0.1.jar')
36
+ stdout = capture(:stdout) do
37
+ puts %x(java -jar #{jar} #{epubname})
38
+ end
39
+ expect(stdout).to include("No errors or warnings detected.")
40
+ end
41
+
35
42
  end
36
43
 
37
44
  require 'rspec/core/formatters/base_text_formatter'
@@ -39,12 +46,12 @@ module RSpec
39
46
  module Core
40
47
  module Formatters
41
48
  class DocumentationFormatter < BaseTextFormatter
42
- # def green(text); color(text, "\e[42m") end
43
- def red(text); color(text, "\e[41m") end
44
- # def magenta(text); color(text, "\e[45m") end
45
- end
46
- end
47
- end
49
+ # def green(text); color(text, "\e[42m") end
50
+ def red(text); color(text, "\e[41m") end
51
+ # def magenta(text); color(text, "\e[45m") end
52
+ end
53
+ end
54
+ end
48
55
  end
49
56
  $:.unshift(File.dirname(__FILE__) + '/../lib')
50
57
  require 'gepub'
data/spec/spine_spec.rb CHANGED
@@ -10,7 +10,7 @@ describe GEPUB::Spine do
10
10
  end
11
11
  it 'should be parsed' do
12
12
  expect(@spine.toc).to eq('ncx')
13
- @spine.page_progression_direction == 'ltr'
13
+ expect(@spine.page_progression_direction).to eq('ltr')
14
14
  expect(@spine.itemref_list.size).to eq(4)
15
15
  expect(@spine.itemref_list[0].idref).to eq('cover')
16
16
  expect(@spine.itemref_list[0].linear).to eq('no')
metadata CHANGED
@@ -1,43 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gepub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.9.2
4
+ version: 0.7.0beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - KOJIMA Satoshi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-16 00:00:00.000000000 Z
11
+ date: 2014-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rspec
14
+ name: nokogiri
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.14'
20
- type: :development
19
+ version: 1.6.1
20
+ type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.14'
26
+ version: 1.6.1
27
27
  - !ruby/object:Gem::Dependency
28
- name: nokogiri
28
+ name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 1.6.1
34
- type: :runtime
33
+ version: '0'
34
+ type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 1.6.1
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rubyzip
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -74,6 +88,7 @@ files:
74
88
  - examples/builder_example.rb
75
89
  - examples/generate_example.rb
76
90
  - examples/image1.jpg
91
+ - examples/new_book_example.rb
77
92
  - gepub.gemspec
78
93
  - lib/gepub.rb
79
94
  - lib/gepub/bindings.rb
@@ -81,11 +96,13 @@ files:
81
96
  - lib/gepub/builder.rb
82
97
  - lib/gepub/builder_mixin.rb
83
98
  - lib/gepub/datemeta.rb
99
+ - lib/gepub/dsl_util.rb
84
100
  - lib/gepub/item.rb
85
101
  - lib/gepub/manifest.rb
86
102
  - lib/gepub/meta.rb
87
103
  - lib/gepub/meta_array.rb
88
104
  - lib/gepub/metadata.rb
105
+ - lib/gepub/mime.rb
89
106
  - lib/gepub/package.rb
90
107
  - lib/gepub/rendition.rb
91
108
  - lib/gepub/resource_builder.rb
@@ -145,9 +162,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
145
162
  version: '0'
146
163
  required_rubygems_version: !ruby/object:Gem::Requirement
147
164
  requirements:
148
- - - ">="
165
+ - - ">"
149
166
  - !ruby/object:Gem::Version
150
- version: '0'
167
+ version: 1.3.1
151
168
  requirements: []
152
169
  rubyforge_project: gepub
153
170
  rubygems_version: 2.2.0