gepub 1.0.11 → 1.0.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 294cefe070bfd2c4a87e0fd46c45f10f08f75857045ad62ed02b83694ca9e9ae
4
- data.tar.gz: 1df169f042577cd0ae74db3565e92f7f70b0b87fd9bafd7de5e3802574ab1578
3
+ metadata.gz: fb1c03b3da62d08f1ba3098494831c199f51dce6157ac83f757ae361274373ca
4
+ data.tar.gz: e7d95774470bc40930f5eac2cba5dbe7ad10c9e9c4a113cc35660cee49d7cb9a
5
5
  SHA512:
6
- metadata.gz: 403d05c6d0a0d0121526d5ce92c8e95dfcb11aae052c84af6bec3303f8039b56852cc64fd4e1d171c715ad2b728a6eee2cee6043cedca2576999c7ccf1f35ae8
7
- data.tar.gz: 89e1b455c6d1653fc4ec60ada97da3da50d508260ce5309ca3ec3aceabecd528b1941723ac5a4e594ec0bb34ea99d7ef64a5c4c573f22d5dc7627ea9e8d4b3f0
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
@@ -4,26 +4,19 @@ jobs:
4
4
  test:
5
5
  strategy:
6
6
  matrix:
7
- ruby: [2.4, 2.5, 2.6, 2.7, jruby]
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@master
13
+ - uses: actions/checkout@v2
19
14
  - name: Set up Ruby
20
- uses: eregon/use-ruby-action@master
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
@@ -0,0 +1,5 @@
1
+ AllCops:
2
+ DisabledByDefault: true
3
+
4
+ Style/Tab:
5
+ Enabled: true
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/master/examples/)
106
+ * [examples in this repository](https://github.com/skoji/gepub/tree/main/examples/)
107
107
 
108
108
  ## INSTALL:
109
109
 
data/Rakefile CHANGED
@@ -14,7 +14,7 @@ end
14
14
 
15
15
  # also generates 'lib/gepub/book_add_item.rb'
16
16
  file 'lib/gepub/metadata_add.rb' => 'tools/generate_function.rb' do
17
- sh %Q(ruby tools/generate_function.rb)
17
+ sh %Q(ruby tools/generate_function.rb)
18
18
  end
19
19
 
20
20
  desc 'auto generate code'
@@ -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.3"
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
@@ -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
@@ -1,3 +1,5 @@
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 Book
3
5
  # add an item(i.e. html, images, audios, etc) to Book.
@@ -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 form io or file to the item
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
- io = File.new(io_or_filename)
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$/
@@ -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
- class Metadata
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
- lang: nil, alternates: {}) {
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
- lang: nil, alternates: {})
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
- title_type: title_type,identifier_type: identifier_type,display_seq: display_seq,file_as: file_as,group_position: group_position,role: role,
62
- lang: lang, alternates: alternates)
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
- title_type: nil,identifier_type: nil,display_seq: nil,file_as: nil,group_position: nil,role: nil,
69
- lang: nil, alternates: {})
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
- title_type: title_type,identifier_type: identifier_type,display_seq: display_seq,file_as: file_as,group_position: group_position,role: role,
80
- lang: lang, alternates: alternates)
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
- lang: nil, alternates: {})
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
- role = 'aut' if role.nil?
98
+ role = 'aut' if role.nil?
97
99
  meta = add_person('creator', content, id: id,
98
- title_type: title_type,identifier_type: identifier_type,display_seq: display_seq,file_as: file_as,group_position: group_position,role: role,
99
- lang: lang, alternates: alternates)
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
- lang: nil, alternates: {})
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
- title_type: title_type,identifier_type: identifier_type,display_seq: display_seq,file_as: file_as,group_position: group_position,role: role,
117
- lang: lang, alternates: alternates)
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
- def add_metadata(name, content, id: nil, itemclass: Meta,
123
- title_type: nil,identifier_type: nil,display_seq: nil,file_as: nil,group_position: nil,role: nil,
124
- lang: nil, alternates: {}
125
- )
126
- meta = add_metadata_internal(name, content, id: id, itemclass: itemclass)
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
- if refiner[:value]
129
- meta.refine(refiner[:name], refiner[:value])
130
- end
131
- end
132
- if lang
133
- meta.lang = lang
134
- end
135
- if alternates
136
- meta.add_alternates alternates
137
- end
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
- meta
140
- end
141
- end
141
+ meta
142
+ end
143
+ end
142
144
  end
@@ -1,4 +1,4 @@
1
1
  module GEPUB
2
2
  # GEPUB gem version
3
- VERSION = "1.0.11"
3
+ VERSION = "1.0.12"
4
4
  end
@@ -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
- refiner.sub('-', '_')
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
- class Metadata
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
- #{meta_attr_arguments_string}) {
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
- #{meta_attr_arguments_string})
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
- #{refiners_arguments_set_string},
110
- #{meta_attr_arguments_set_string})
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
- #{refiners_arguments_string},
117
- #{meta_attr_arguments_string})
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
- #{refiners_arguments_set_string},
128
- #{meta_attr_arguments_set_string})
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
- #{meta_attr_arguments_string})
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
- role = 'aut' if role.nil?
148
+ role = 'aut' if role.nil?
145
149
  meta = add_person('creator', content, id: id,
146
- #{refiners_arguments_set_string},
147
- #{meta_attr_arguments_set_string})
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
- #{meta_attr_arguments_string})
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
- #{refiners_arguments_set_string},
165
- #{meta_attr_arguments_set_string})
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
- def add_metadata(name, content, id: nil, itemclass: Meta,
171
- #{refiners_arguments_string},
172
- #{meta_attr_arguments_string}
173
- )
174
- meta = add_metadata_internal(name, content, id: id, itemclass: itemclass)
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
- if refiner[:value]
177
- meta.refine(refiner[:name], refiner[:value])
178
- end
179
- end
180
- if lang
181
- meta.lang = lang
182
- end
183
- if alternates
184
- meta.add_alternates alternates
185
- end
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
- meta
188
- end
189
- end
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.11
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-02-24 00:00:00.000000000 Z
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.3'
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.3'
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