gepub 1.0.11 → 1.0.12
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.
- checksums.yaml +4 -4
- data/.github/workflows/gempush.yml +0 -12
- data/.github/workflows/test.yml +4 -11
- data/.rubocop.yml +5 -0
- data/README.md +1 -1
- data/Rakefile +1 -1
- data/gepub.gemspec +3 -1
- data/lib/gepub/book.rb +3 -0
- data/lib/gepub/book_add_item.rb +2 -0
- data/lib/gepub/item.rb +12 -4
- data/lib/gepub/metadata_add.rb +36 -34
- data/lib/gepub/version.rb +1 -1
- data/tools/generate_function.rb +39 -35
- metadata +33 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fb1c03b3da62d08f1ba3098494831c199f51dce6157ac83f757ae361274373ca
|
4
|
+
data.tar.gz: e7d95774470bc40930f5eac2cba5dbe7ad10c9e9c4a113cc35660cee49d7cb9a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 72e09291759ff4e826db2d53424bc06c60ef0b4c1b70870c64975c31b9bc09ca69974f1d3a9e01e49a93772d0036ad0ba3d4b46067444d9c731c3dddd4572112
|
7
|
+
data.tar.gz: 2d5eb3487b3db35d5a30db928bff337cafa569c64b4d5b98764fcea8275ebaf585417458ce2ff61f6a2f67356e629ca6763f92aa434b740ce5e983518d013046
|
@@ -16,18 +16,6 @@ jobs:
|
|
16
16
|
with:
|
17
17
|
ruby-version: 2.6.x
|
18
18
|
|
19
|
-
- name: Publish to GPR
|
20
|
-
run: |
|
21
|
-
mkdir -p $HOME/.gem
|
22
|
-
touch $HOME/.gem/credentials
|
23
|
-
chmod 0600 $HOME/.gem/credentials
|
24
|
-
printf -- "---\n:github: Bearer ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
25
|
-
gem build *.gemspec
|
26
|
-
gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
|
27
|
-
env:
|
28
|
-
GEM_HOST_API_KEY: ${{secrets.GPR_AUTH_TOKEN}}
|
29
|
-
OWNER: skoji
|
30
|
-
|
31
19
|
- name: Publish to RubyGems
|
32
20
|
run: |
|
33
21
|
mkdir -p $HOME/.gem
|
data/.github/workflows/test.yml
CHANGED
@@ -4,26 +4,19 @@ jobs:
|
|
4
4
|
test:
|
5
5
|
strategy:
|
6
6
|
matrix:
|
7
|
-
ruby: [2.
|
7
|
+
ruby: [2.5, 2.6, 2.7, jruby]
|
8
8
|
platform: [ubuntu-latest, macos-latest, windows-latest]
|
9
|
-
exclude:
|
10
|
-
# TODO: https://github.com/sparklemotion/nokogiri/issues/1961
|
11
|
-
# exclude windows with ruby 2.7 ; nokogiri is not supported for the present
|
12
|
-
- ruby: 2.7
|
13
|
-
platform: windows-latest
|
14
9
|
runs-on: ${{ matrix.platform }}
|
15
10
|
env:
|
16
11
|
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
|
17
12
|
steps:
|
18
|
-
- uses: actions/checkout@
|
13
|
+
- uses: actions/checkout@v2
|
19
14
|
- name: Set up Ruby
|
20
|
-
uses:
|
15
|
+
uses: ruby/setup-ruby@v1
|
21
16
|
with:
|
22
17
|
ruby-version: ${{ matrix.ruby }}
|
23
18
|
- name: setup gems
|
24
|
-
run:
|
25
|
-
gem install bundler
|
26
|
-
bundle install
|
19
|
+
run: bundle install --jobs 4 --retry 3
|
27
20
|
- name: run test and publish code coverage
|
28
21
|
if: runner.os == 'Linux' && matrix.ruby == '2.7' && env.CC_TEST_REPORTER_ID != ''
|
29
22
|
uses: paambaati/codeclimate-action@v2.3.0
|
data/.rubocop.yml
ADDED
data/README.md
CHANGED
@@ -103,7 +103,7 @@ epubname = File.join(File.dirname(__FILE__), 'example_test.epub')
|
|
103
103
|
# auto-generated nav file will not appear on spine.
|
104
104
|
book.generate_epub(epubname)
|
105
105
|
```
|
106
|
-
* [examples in this repository](https://github.com/skoji/gepub/tree/
|
106
|
+
* [examples in this repository](https://github.com/skoji/gepub/tree/main/examples/)
|
107
107
|
|
108
108
|
## INSTALL:
|
109
109
|
|
data/Rakefile
CHANGED
data/gepub.gemspec
CHANGED
@@ -17,7 +17,9 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.require_paths = ["lib"]
|
18
18
|
|
19
19
|
s.add_runtime_dependency "nokogiri", ">= 1.8.2", "< 1.11"
|
20
|
-
s.add_runtime_dependency "rubyzip", "> 1.1.1", "< 2.
|
20
|
+
s.add_runtime_dependency "rubyzip", "> 1.1.1", "< 2.4"
|
21
|
+
s.add_development_dependency "epubcheck-ruby"
|
21
22
|
s.add_development_dependency "rake"
|
22
23
|
s.add_development_dependency "rspec"
|
24
|
+
s.add_development_dependency "rubocop"
|
23
25
|
end
|
data/lib/gepub/book.rb
CHANGED
@@ -316,6 +316,9 @@ EOF
|
|
316
316
|
# build nav
|
317
317
|
builder = Nokogiri::XML::Builder.new {
|
318
318
|
|doc|
|
319
|
+
unless version.to_f < 3.0
|
320
|
+
doc.doc.create_internal_subset('html', nil, nil )
|
321
|
+
end
|
319
322
|
doc.html('xmlns' => "http://www.w3.org/1999/xhtml",'xmlns:epub' => "http://www.idpf.org/2007/ops") {
|
320
323
|
doc.head {
|
321
324
|
doc.title title
|
data/lib/gepub/book_add_item.rb
CHANGED
data/lib/gepub/item.rb
CHANGED
@@ -106,9 +106,10 @@ module GEPUB
|
|
106
106
|
else
|
107
107
|
prefix = "#{ns_prefix}:"
|
108
108
|
end
|
109
|
+
images = parsed.xpath("//#{prefix}img[starts-with(@src,'http')]")
|
109
110
|
videos = parsed.xpath("//#{prefix}video[starts-with(@src,'http')]") + parsed.xpath("//#{prefix}video/#{prefix}source[starts-with(@src,'http')]")
|
110
111
|
audios = parsed.xpath("//#{prefix}audio[starts-with(@src,'http')]") + parsed.xpath("//#{prefix}audio/#{prefix}source[starts-with(@src,'http')]")
|
111
|
-
if videos.size > 0 || audios.size > 0
|
112
|
+
if images.size > 0 || videos.size > 0 || audios.size > 0
|
112
113
|
self.add_property('remote-resources')
|
113
114
|
end
|
114
115
|
if parsed.xpath("//p:math", { 'p' => 'http://www.w3.org/1998/Math/MathML' }).size > 0
|
@@ -137,12 +138,19 @@ module GEPUB
|
|
137
138
|
self
|
138
139
|
end
|
139
140
|
|
140
|
-
# add content
|
141
|
+
# add content from io or file to the item
|
141
142
|
def add_content(io_or_filename)
|
142
|
-
io = io_or_filename
|
143
143
|
if io_or_filename.class == String
|
144
|
-
|
144
|
+
File.open(io_or_filename, mode='r') do |f|
|
145
|
+
add_content_io f
|
146
|
+
end
|
147
|
+
else
|
148
|
+
add_content_io io_or_filename
|
145
149
|
end
|
150
|
+
self
|
151
|
+
end
|
152
|
+
|
153
|
+
def add_content_io(io)
|
146
154
|
io.binmode
|
147
155
|
@content = io.read
|
148
156
|
if File.extname(self.href) =~ /x?html$/
|
data/lib/gepub/metadata_add.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
|
+
## this file is automatically generated by tools/generate_function.rb . do not edit this code directly.
|
2
|
+
|
1
3
|
module GEPUB
|
2
|
-
|
4
|
+
class Metadata
|
3
5
|
CONTENT_NODE_LIST = ['identifier', 'title', 'language', 'contributor', 'creator', 'coverage', 'date','description','format','publisher','relation','rights','source','subject','type'].each {
|
4
6
|
|node|
|
5
7
|
define_method(node + '_list') { @content_nodes[node].dup.sort_as_meta }
|
@@ -14,7 +16,7 @@ module GEPUB
|
|
14
16
|
|
15
17
|
define_method(node, ->(content=UNASSIGNED, deprecated_id=nil, id:nil,
|
16
18
|
title_type: nil,identifier_type: nil,display_seq: nil,file_as: nil,group_position: nil,role: nil,
|
17
|
-
|
19
|
+
lang: nil, alternates: {}) {
|
18
20
|
if unassigned?(content)
|
19
21
|
get_first_node(node)
|
20
22
|
else
|
@@ -48,7 +50,7 @@ module GEPUB
|
|
48
50
|
|
49
51
|
def add_title(content, deprecated_id = nil, deprecated_title_type = nil, id: nil,
|
50
52
|
title_type: nil,identifier_type: nil,display_seq: nil,file_as: nil,group_position: nil,role: nil,
|
51
|
-
|
53
|
+
lang: nil, alternates: {})
|
52
54
|
if deprecated_id
|
53
55
|
warn 'second argument for add_title is deprecated. use id: instead'
|
54
56
|
id = deprecated_id
|
@@ -58,15 +60,15 @@ module GEPUB
|
|
58
60
|
title_type = deprecated_title_type
|
59
61
|
end
|
60
62
|
meta = add_metadata('title', content, id: id,
|
61
|
-
|
62
|
-
|
63
|
+
title_type: title_type,identifier_type: identifier_type,display_seq: display_seq,file_as: file_as,group_position: group_position,role: role,
|
64
|
+
lang: lang, alternates: alternates)
|
63
65
|
yield meta if block_given?
|
64
66
|
meta
|
65
67
|
end
|
66
68
|
|
67
69
|
def add_person(name, content, deprecated_id = nil, deprecated_role = nil, id: nil,
|
68
|
-
|
69
|
-
|
70
|
+
title_type: nil,identifier_type: nil,display_seq: nil,file_as: nil,group_position: nil,role: nil,
|
71
|
+
lang: nil, alternates: {})
|
70
72
|
if deprecated_id
|
71
73
|
warn 'second argument for add_person is deprecated. use id: instead'
|
72
74
|
id = deprecated_id
|
@@ -76,15 +78,15 @@ module GEPUB
|
|
76
78
|
role = deprecated_role
|
77
79
|
end
|
78
80
|
meta = add_metadata(name, content, id: id,
|
79
|
-
|
80
|
-
|
81
|
+
title_type: title_type,identifier_type: identifier_type,display_seq: display_seq,file_as: file_as,group_position: group_position,role: role,
|
82
|
+
lang: lang, alternates: alternates)
|
81
83
|
yield meta if block_given?
|
82
84
|
meta
|
83
85
|
end
|
84
86
|
|
85
87
|
def add_creator(content, deprecated_id = nil, deprecated_role = nil, id: nil,
|
86
88
|
title_type: nil,identifier_type: nil,display_seq: nil,file_as: nil,group_position: nil,role: nil,
|
87
|
-
|
89
|
+
lang: nil, alternates: {})
|
88
90
|
if deprecated_id
|
89
91
|
warn 'second argument for add_creator is deprecated. use id: instead'
|
90
92
|
id = deprecated_id
|
@@ -93,17 +95,17 @@ module GEPUB
|
|
93
95
|
warn 'third argument for add_creator is deprecated. use role: instead'
|
94
96
|
role = deprecated_role
|
95
97
|
end
|
96
|
-
|
98
|
+
role = 'aut' if role.nil?
|
97
99
|
meta = add_person('creator', content, id: id,
|
98
|
-
|
99
|
-
|
100
|
+
title_type: title_type,identifier_type: identifier_type,display_seq: display_seq,file_as: file_as,group_position: group_position,role: role,
|
101
|
+
lang: lang, alternates: alternates)
|
100
102
|
yield meta if block_given?
|
101
103
|
meta
|
102
104
|
end
|
103
105
|
|
104
106
|
def add_contributor(content, deprecated_id = nil, deprecated_role = nil, id: nil,
|
105
107
|
title_type: nil,identifier_type: nil,display_seq: nil,file_as: nil,group_position: nil,role: nil,
|
106
|
-
|
108
|
+
lang: nil, alternates: {})
|
107
109
|
if deprecated_id
|
108
110
|
warn 'second argument for add_contributor is deprecated. use id: instead'
|
109
111
|
id = deprecated_id
|
@@ -113,30 +115,30 @@ module GEPUB
|
|
113
115
|
role = deprecated_role
|
114
116
|
end
|
115
117
|
meta = add_person('contributor', content, id: id,
|
116
|
-
|
117
|
-
|
118
|
+
title_type: title_type,identifier_type: identifier_type,display_seq: display_seq,file_as: file_as,group_position: group_position,role: role,
|
119
|
+
lang: lang, alternates: alternates)
|
118
120
|
yield meta if block_given?
|
119
121
|
meta
|
120
122
|
end
|
121
123
|
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
124
|
+
def add_metadata(name, content, id: nil, itemclass: Meta,
|
125
|
+
title_type: nil,identifier_type: nil,display_seq: nil,file_as: nil,group_position: nil,role: nil,
|
126
|
+
lang: nil, alternates: {}
|
127
|
+
)
|
128
|
+
meta = add_metadata_internal(name, content, id: id, itemclass: itemclass)
|
127
129
|
[{ value: title_type, name: 'title-type'},{ value: identifier_type, name: 'identifier-type'},{ value: display_seq, name: 'display-seq'},{ value: file_as, name: 'file-as'},{ value: group_position, name: 'group-position'},{ value: role, name: 'role'}].each do |refiner|
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
130
|
+
if refiner[:value]
|
131
|
+
meta.refine(refiner[:name], refiner[:value])
|
132
|
+
end
|
133
|
+
end
|
134
|
+
if lang
|
135
|
+
meta.lang = lang
|
136
|
+
end
|
137
|
+
if alternates
|
138
|
+
meta.add_alternates alternates
|
139
|
+
end
|
138
140
|
yield meta if block_given?
|
139
|
-
|
140
|
-
|
141
|
-
|
141
|
+
meta
|
142
|
+
end
|
143
|
+
end
|
142
144
|
end
|
data/lib/gepub/version.rb
CHANGED
data/tools/generate_function.rb
CHANGED
@@ -9,6 +9,8 @@ attrs << "property"
|
|
9
9
|
attrs_arguments_string = attrs.map { |attr| "#{attr}: nil" }.join(',')
|
10
10
|
attrs_internal_string = "{ " + attrs.map { |attr| "#{attr}: #{attr}"}.join(',') + " }"
|
11
11
|
File.write(File.join(File.dirname(__FILE__), "../lib/gepub/book_add_item.rb"), <<EOF)
|
12
|
+
## this file is automatically generated by tools/generate_function.rb . do not edit this code directly.
|
13
|
+
|
12
14
|
module GEPUB
|
13
15
|
class Book
|
14
16
|
# add an item(i.e. html, images, audios, etc) to Book.
|
@@ -35,7 +37,7 @@ require_relative '../lib/gepub/dsl_util.rb'
|
|
35
37
|
require_relative '../lib/gepub/meta.rb'
|
36
38
|
|
37
39
|
refiners = GEPUB::Meta::REFINERS.map do |refiner|
|
38
|
-
|
40
|
+
refiner.sub('-', '_')
|
39
41
|
end
|
40
42
|
|
41
43
|
refiners_arguments_string = refiners.map { |refiner| "#{refiner}: nil" }.join(',')
|
@@ -46,8 +48,10 @@ meta_attr_arguments_string = "lang: nil, alternates: {}"
|
|
46
48
|
meta_attr_arguments_set_string = "lang: lang, alternates: alternates"
|
47
49
|
|
48
50
|
File.write(File.join(File.dirname(__FILE__), "../lib/gepub/metadata_add.rb"), <<EOF)
|
51
|
+
## this file is automatically generated by tools/generate_function.rb . do not edit this code directly.
|
52
|
+
|
49
53
|
module GEPUB
|
50
|
-
|
54
|
+
class Metadata
|
51
55
|
CONTENT_NODE_LIST = ['identifier', 'title', 'language', 'contributor', 'creator', 'coverage', 'date','description','format','publisher','relation','rights','source','subject','type'].each {
|
52
56
|
|node|
|
53
57
|
define_method(node + '_list') { @content_nodes[node].dup.sort_as_meta }
|
@@ -62,7 +66,7 @@ module GEPUB
|
|
62
66
|
|
63
67
|
define_method(node, ->(content=UNASSIGNED, deprecated_id=nil, id:nil,
|
64
68
|
#{refiners_arguments_string},
|
65
|
-
|
69
|
+
#{meta_attr_arguments_string}) {
|
66
70
|
if unassigned?(content)
|
67
71
|
get_first_node(node)
|
68
72
|
else
|
@@ -96,7 +100,7 @@ module GEPUB
|
|
96
100
|
|
97
101
|
def add_title(content, deprecated_id = nil, deprecated_title_type = nil, id: nil,
|
98
102
|
#{refiners_arguments_string},
|
99
|
-
|
103
|
+
#{meta_attr_arguments_string})
|
100
104
|
if deprecated_id
|
101
105
|
warn 'second argument for add_title is deprecated. use id: instead'
|
102
106
|
id = deprecated_id
|
@@ -106,15 +110,15 @@ module GEPUB
|
|
106
110
|
title_type = deprecated_title_type
|
107
111
|
end
|
108
112
|
meta = add_metadata('title', content, id: id,
|
109
|
-
|
110
|
-
|
113
|
+
#{refiners_arguments_set_string},
|
114
|
+
#{meta_attr_arguments_set_string})
|
111
115
|
yield meta if block_given?
|
112
116
|
meta
|
113
117
|
end
|
114
118
|
|
115
119
|
def add_person(name, content, deprecated_id = nil, deprecated_role = nil, id: nil,
|
116
|
-
|
117
|
-
|
120
|
+
#{refiners_arguments_string},
|
121
|
+
#{meta_attr_arguments_string})
|
118
122
|
if deprecated_id
|
119
123
|
warn 'second argument for add_person is deprecated. use id: instead'
|
120
124
|
id = deprecated_id
|
@@ -124,15 +128,15 @@ module GEPUB
|
|
124
128
|
role = deprecated_role
|
125
129
|
end
|
126
130
|
meta = add_metadata(name, content, id: id,
|
127
|
-
|
128
|
-
|
131
|
+
#{refiners_arguments_set_string},
|
132
|
+
#{meta_attr_arguments_set_string})
|
129
133
|
yield meta if block_given?
|
130
134
|
meta
|
131
135
|
end
|
132
136
|
|
133
137
|
def add_creator(content, deprecated_id = nil, deprecated_role = nil, id: nil,
|
134
138
|
#{refiners_arguments_string},
|
135
|
-
|
139
|
+
#{meta_attr_arguments_string})
|
136
140
|
if deprecated_id
|
137
141
|
warn 'second argument for add_creator is deprecated. use id: instead'
|
138
142
|
id = deprecated_id
|
@@ -141,17 +145,17 @@ module GEPUB
|
|
141
145
|
warn 'third argument for add_creator is deprecated. use role: instead'
|
142
146
|
role = deprecated_role
|
143
147
|
end
|
144
|
-
|
148
|
+
role = 'aut' if role.nil?
|
145
149
|
meta = add_person('creator', content, id: id,
|
146
|
-
|
147
|
-
|
150
|
+
#{refiners_arguments_set_string},
|
151
|
+
#{meta_attr_arguments_set_string})
|
148
152
|
yield meta if block_given?
|
149
153
|
meta
|
150
154
|
end
|
151
155
|
|
152
156
|
def add_contributor(content, deprecated_id = nil, deprecated_role = nil, id: nil,
|
153
157
|
#{refiners_arguments_string},
|
154
|
-
|
158
|
+
#{meta_attr_arguments_string})
|
155
159
|
if deprecated_id
|
156
160
|
warn 'second argument for add_contributor is deprecated. use id: instead'
|
157
161
|
id = deprecated_id
|
@@ -161,32 +165,32 @@ module GEPUB
|
|
161
165
|
role = deprecated_role
|
162
166
|
end
|
163
167
|
meta = add_person('contributor', content, id: id,
|
164
|
-
|
165
|
-
|
168
|
+
#{refiners_arguments_set_string},
|
169
|
+
#{meta_attr_arguments_set_string})
|
166
170
|
yield meta if block_given?
|
167
171
|
meta
|
168
172
|
end
|
169
173
|
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
174
|
+
def add_metadata(name, content, id: nil, itemclass: Meta,
|
175
|
+
#{refiners_arguments_string},
|
176
|
+
#{meta_attr_arguments_string}
|
177
|
+
)
|
178
|
+
meta = add_metadata_internal(name, content, id: id, itemclass: itemclass)
|
175
179
|
#{refiners_string}.each do |refiner|
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
180
|
+
if refiner[:value]
|
181
|
+
meta.refine(refiner[:name], refiner[:value])
|
182
|
+
end
|
183
|
+
end
|
184
|
+
if lang
|
185
|
+
meta.lang = lang
|
186
|
+
end
|
187
|
+
if alternates
|
188
|
+
meta.add_alternates alternates
|
189
|
+
end
|
186
190
|
yield meta if block_given?
|
187
|
-
|
188
|
-
|
189
|
-
|
191
|
+
meta
|
192
|
+
end
|
193
|
+
end
|
190
194
|
end
|
191
195
|
EOF
|
192
196
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gepub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- KOJIMA Satoshi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
version: 1.1.1
|
40
40
|
- - "<"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: '2.
|
42
|
+
version: '2.4'
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -49,7 +49,21 @@ dependencies:
|
|
49
49
|
version: 1.1.1
|
50
50
|
- - "<"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: '2.
|
52
|
+
version: '2.4'
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: epubcheck-ruby
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '0'
|
60
|
+
type: :development
|
61
|
+
prerelease: false
|
62
|
+
version_requirements: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
53
67
|
- !ruby/object:Gem::Dependency
|
54
68
|
name: rake
|
55
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,6 +92,20 @@ dependencies:
|
|
78
92
|
- - ">="
|
79
93
|
- !ruby/object:Gem::Version
|
80
94
|
version: '0'
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: rubocop
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '0'
|
81
109
|
description: gepub is a generic EPUB parser/generator. Generates and parse EPUB2 and
|
82
110
|
EPUB3
|
83
111
|
email:
|
@@ -92,6 +120,7 @@ files:
|
|
92
120
|
- ".github/workflows/gempush.yml"
|
93
121
|
- ".github/workflows/test.yml"
|
94
122
|
- ".gitignore"
|
123
|
+
- ".rubocop.yml"
|
95
124
|
- Gemfile
|
96
125
|
- LICENSE.txt
|
97
126
|
- README.md
|