epuber 0.7.4 → 0.8.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.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -2
  3. data/README.md +2 -1
  4. data/epuber.gemspec +10 -12
  5. data/lib/epuber/book/contributor.rb +0 -1
  6. data/lib/epuber/book/file_request.rb +1 -1
  7. data/lib/epuber/book/target.rb +20 -23
  8. data/lib/epuber/book/toc_item.rb +2 -4
  9. data/lib/epuber/book.rb +19 -19
  10. data/lib/epuber/checker/bookspec_checker.rb +26 -0
  11. data/lib/epuber/checker/text_checker.rb +2 -1
  12. data/lib/epuber/checker.rb +16 -2
  13. data/lib/epuber/checker_transformer_base.rb +2 -5
  14. data/lib/epuber/command/build.rb +34 -24
  15. data/lib/epuber/command/init.rb +23 -23
  16. data/lib/epuber/command/server.rb +2 -2
  17. data/lib/epuber/command.rb +17 -20
  18. data/lib/epuber/compiler/compilation_context.rb +10 -8
  19. data/lib/epuber/compiler/file_database.rb +0 -2
  20. data/lib/epuber/compiler/file_finders/abstract.rb +33 -23
  21. data/lib/epuber/compiler/file_finders/imaginary.rb +40 -35
  22. data/lib/epuber/compiler/file_resolver.rb +77 -88
  23. data/lib/epuber/compiler/file_stat.rb +4 -4
  24. data/lib/epuber/compiler/file_types/abstract_file.rb +3 -4
  25. data/lib/epuber/compiler/file_types/bade_file.rb +12 -7
  26. data/lib/epuber/compiler/file_types/coffee_script_file.rb +1 -1
  27. data/lib/epuber/compiler/file_types/generated_file.rb +1 -1
  28. data/lib/epuber/compiler/file_types/image_file.rb +4 -2
  29. data/lib/epuber/compiler/file_types/nav_file.rb +0 -1
  30. data/lib/epuber/compiler/file_types/opf_file.rb +0 -1
  31. data/lib/epuber/compiler/file_types/source_file.rb +8 -3
  32. data/lib/epuber/compiler/file_types/xhtml_file.rb +67 -13
  33. data/lib/epuber/compiler/generator.rb +1 -2
  34. data/lib/epuber/compiler/meta_inf_generator.rb +1 -1
  35. data/lib/epuber/compiler/nav_generator.rb +5 -6
  36. data/lib/epuber/compiler/opf_generator.rb +22 -23
  37. data/lib/epuber/compiler/problem.rb +12 -21
  38. data/lib/epuber/compiler/xhtml_processor.rb +61 -31
  39. data/lib/epuber/compiler.rb +66 -19
  40. data/lib/epuber/config.rb +13 -7
  41. data/lib/epuber/dsl/attribute.rb +16 -17
  42. data/lib/epuber/dsl/attribute_support.rb +3 -3
  43. data/lib/epuber/dsl/object.rb +17 -15
  44. data/lib/epuber/dsl/tree_object.rb +2 -3
  45. data/lib/epuber/epubcheck.rb +15 -0
  46. data/lib/epuber/helper.rb +0 -1
  47. data/lib/epuber/lockfile.rb +7 -9
  48. data/lib/epuber/plugin.rb +1 -2
  49. data/lib/epuber/ruby_extensions/match_data.rb +1 -1
  50. data/lib/epuber/ruby_extensions/thread.rb +1 -0
  51. data/lib/epuber/server/base.styl +0 -1
  52. data/lib/epuber/server/basic.styl +1 -30
  53. data/lib/epuber/server/handlers.rb +1 -1
  54. data/lib/epuber/server.rb +67 -66
  55. data/lib/epuber/third_party/bower.rb +5 -5
  56. data/lib/epuber/transformer/text_transformer.rb +4 -2
  57. data/lib/epuber/transformer.rb +2 -2
  58. data/lib/epuber/user_interface.rb +49 -38
  59. data/lib/epuber/vendor/hash_binding.rb +9 -2
  60. data/lib/epuber/vendor/ruby_templater.rb +1 -5
  61. data/lib/epuber/vendor/version.rb +10 -10
  62. data/lib/epuber/version.rb +1 -1
  63. metadata +67 -69
  64. data/lib/epuber/server/fonts/AvenirNext/AvenirNext-Bold.ttf +0 -0
  65. data/lib/epuber/server/fonts/AvenirNext/AvenirNext-BoldItalic.ttf +0 -0
  66. data/lib/epuber/server/fonts/AvenirNext/AvenirNext-Italic.ttf +0 -0
  67. data/lib/epuber/server/fonts/AvenirNext/AvenirNext-Regular.ttf +0 -0
@@ -8,7 +8,7 @@ require_relative 'command'
8
8
 
9
9
  module Epuber
10
10
  class UserInterface
11
- Location = Struct.new(:path, :lineno)
11
+ Location = Struct.new(:path, :lineno, :column, keyword_init: true)
12
12
 
13
13
  class << self
14
14
  # @return [Epuber::Command]
@@ -35,7 +35,10 @@ module Epuber
35
35
  def self.error(message, location: nil)
36
36
  _clear_processing_line_for_new_output do
37
37
  $stdout.puts(_format_message(:error, message, location: location))
38
- _print_backtrace(location.try(:backtrace_locations) || message.try(:backtrace_locations) || caller_locations, location: location) if current_command && current_command.verbose?
38
+ if current_command&.verbose?
39
+ _print_backtrace(location.try(:backtrace_locations) || message.try(:backtrace_locations) || caller_locations,
40
+ location: location)
41
+ end
39
42
  end
40
43
  end
41
44
 
@@ -48,10 +51,6 @@ module Epuber
48
51
  end
49
52
  end
50
53
 
51
-
52
-
53
-
54
-
55
54
  # @param [#to_s] problem some problem, object just have to know to convert self into string with method #to_s
56
55
  #
57
56
  def self.print_processing_problem(problem)
@@ -63,16 +62,16 @@ module Epuber
63
62
  # @param [String] info_text
64
63
  #
65
64
  def self.print_processing_debug_info(info_text)
66
- if current_command && current_command.verbose?
67
- _clear_processing_line_for_new_output do
68
- message = if @current_file.nil?
69
- "▸ #{info_text}"
70
- else
71
- "▸ #{@current_file.source_path}: #{info_text}"
72
- end
73
-
74
- $stdout.puts(message.ansi.send(_color_from_level(:debug)))
75
- end
65
+ return unless current_command&.verbose?
66
+
67
+ _clear_processing_line_for_new_output do
68
+ message = if @current_file.nil?
69
+ "▸ #{info_text}"
70
+ else
71
+ "▸ #{@current_file.source_path}: #{info_text}"
72
+ end
73
+
74
+ $stdout.puts(message.ansi.send(_color_from_level(:debug)))
76
75
  end
77
76
  end
78
77
 
@@ -107,14 +106,18 @@ module Epuber
107
106
  @current_file = nil
108
107
  end
109
108
 
109
+ def self.puts(message)
110
+ _clear_processing_line_for_new_output do
111
+ $stdout.puts(message)
112
+ end
113
+ end
114
+
110
115
  # @param [Compiler::FileTypes::AbstractFile] file
111
116
  # @param [String] step_name
112
117
  # @param [Fixnum] time
113
118
  #
114
119
  def self.print_step_processing_time(step_name, time = nil)
115
- if !current_command || !current_command.debug_steps_times
116
- return yield
117
- end
120
+ return yield if !current_command || !current_command.debug_steps_times
118
121
 
119
122
  remove_processing_file_line
120
123
 
@@ -137,8 +140,6 @@ module Epuber
137
140
  returned_value
138
141
  end
139
142
 
140
- private
141
-
142
143
  def self._clear_processing_line_for_new_output
143
144
  last_line = remove_processing_file_line
144
145
 
@@ -154,12 +155,12 @@ module Epuber
154
155
  #
155
156
  def self._color_from_level(level)
156
157
  case level
157
- when :error; :red
158
- when :warning; :yellow
159
- when :normal; :white
160
- when :debug; :blue
161
- else
162
- raise "Unknown output level #{level}"
158
+ when :error then :red
159
+ when :warning then :yellow
160
+ when :normal then :white
161
+ when :debug then :blue
162
+ else
163
+ raise "Unknown output level #{level}"
163
164
  end
164
165
  end
165
166
 
@@ -170,13 +171,13 @@ module Epuber
170
171
  def self._location_from_obj(obj)
171
172
  case obj
172
173
  when ::Thread::Backtrace::Location
173
- Location.new(obj.path, obj.lineno)
174
+ Location.new(path: obj.path, lineno: obj.lineno)
174
175
  when ::Nokogiri::XML::Node
175
- Location.new(obj.document.file_path, obj.line)
176
+ Location.new(path: obj.document.file_path, lineno: obj.line)
176
177
  when Location
177
178
  obj
178
179
  when Epuber::Compiler::FileTypes::AbstractFile
179
- Location.new(obj.source_path, nil)
180
+ Location.new(path: obj.source_path)
180
181
  end
181
182
  end
182
183
 
@@ -191,12 +192,22 @@ module Epuber
191
192
 
192
193
  comps = []
193
194
  comps << message.to_s
194
- if !location.nil? && !(message.is_a?(Epuber::Compiler::Problem) || message.is_a?(Epuber::Checker::TextChecker::MatchProblem))
195
- if location.lineno
196
- comps << " (in file #{location.path} line #{location.lineno})"
197
- else
198
- comps << " (in file #{location.path})"
199
- end
195
+ message_already_formatted = (
196
+ message.is_a?(Epuber::Compiler::Problem) || message.is_a?(Epuber::Checker::TextChecker::MatchProblem)
197
+ )
198
+ if !location.nil? && !message_already_formatted
199
+ path = location.path
200
+
201
+ # calculate relative path when path is absolute and in project
202
+ path = path[Config.instance.project_path.size + 1..-1] if path.start_with?(Config.instance.project_path)
203
+
204
+ line_parts = [
205
+ " (in file #{path}",
206
+ ]
207
+ line_parts << "line #{location.lineno}" if location.lineno
208
+ line_parts << "column #{location.column}" if location.column
209
+
210
+ comps << "#{line_parts.join(' ')})"
200
211
  end
201
212
 
202
213
  comps.join("\n").ansi.send(_color_from_level(level))
@@ -209,13 +220,13 @@ module Epuber
209
220
  #
210
221
  def self._format_backtrace(locations, location: nil)
211
222
  index = locations.index(location) || 0
212
- locations[index, locations.size].map { |loc| loc.to_s }
223
+ locations[index, locations.size].map(&:to_s)
213
224
  end
214
225
 
215
226
  # @param [Thread::Backtrace::Location] location location of the error
216
227
  #
217
228
  def self._print_backtrace(locations, location: nil)
218
- puts(_format_backtrace(locations, location: location)) if current_command.verbose?
229
+ $stdout.puts(_format_backtrace(locations, location: location)) if current_command.verbose?
219
230
  end
220
231
  end
221
232
 
@@ -8,19 +8,26 @@ module Epuber
8
8
  @vars = vars
9
9
  end
10
10
 
11
+ # @return [Boolean]
12
+ #
13
+ def respond_to_missing?(name, _include_private = false)
14
+ @vars.key?(name) || super
15
+ end
16
+
11
17
  # @param [String] name
12
18
  #
13
19
  def method_missing(name)
14
20
  raise NameError, "Not found value for key #{name}" unless @vars.key?(name)
21
+
15
22
  @vars[name]
16
23
  end
17
24
 
18
- # rubocop:disable Style/AccessorMethodName
25
+ # rubocop:disable Naming/AccessorMethodName
19
26
 
20
27
  def get_binding
21
28
  binding
22
29
  end
23
30
 
24
- # rubocop:enable Style/AccessorMethodName
31
+ # rubocop:enable Naming/AccessorMethodName
25
32
  end
26
33
  end
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # rubocop:disable Lint/Eval
4
-
5
3
  require_relative 'hash_binding'
6
4
 
7
5
  module Epuber
@@ -62,9 +60,7 @@ module Epuber
62
60
  def render
63
61
  hash_binding = HashBinding.new(locals)
64
62
  eval_string = %(%(#{source_text}))
65
- eval(eval_string, hash_binding.get_binding)
63
+ eval(eval_string, hash_binding.get_binding) # rubocop:disable Security/Eval
66
64
  end
67
65
  end
68
66
  end
69
-
70
- # rubocop:enable Lint/Eval
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Most of this code is taken from github.com/CocoaPods/Core/blob/master/lib/cocoapods-core/vendor/version.rb
4
4
 
5
- def is_number(other)
5
+ def number?(other)
6
6
  other.is_a?(Numeric) || other.is_a?(Integer) || other.is_a?(Float)
7
7
  end
8
8
 
@@ -10,7 +10,7 @@ module Epuber
10
10
  class Version
11
11
  include Comparable
12
12
 
13
- VERSION_RE ||= /\A[0-9]+(\.[0-9a-zA-Z]+)*\z/
13
+ VERSION_RE ||= /\A[0-9]+(\.[0-9a-zA-Z]+)*\z/.freeze
14
14
 
15
15
  # True if the +version+ string matches RubyGems' requirements.
16
16
  #
@@ -18,15 +18,13 @@ module Epuber
18
18
  version.to_s =~ VERSION_RE
19
19
  end
20
20
 
21
- attr_reader :version, :segments
21
+ attr_reader :version
22
22
 
23
23
 
24
24
  # @param [String, Numeric] version input primitive value for version
25
25
  #
26
26
  def initialize(version)
27
- unless self.class.correct?(version)
28
- raise StandardError, "Malformed version number string #{version}"
29
- end
27
+ raise StandardError, "Malformed version number string #{version}" unless self.class.correct?(version)
30
28
 
31
29
  @version = version.to_s.strip
32
30
  end
@@ -42,7 +40,7 @@ module Epuber
42
40
  # @return [String]
43
41
  #
44
42
  def to_s
45
- "#{segments.join('.')}"
43
+ segments.join('.').to_s
46
44
  end
47
45
 
48
46
  # Compares this version with +other+ returning -1, 0, or 1 if the
@@ -53,6 +51,7 @@ module Epuber
53
51
  #
54
52
  def <=>(other)
55
53
  return unless other.is_a?(Version) || other.is_a?(String) || other.is_a?(Float) || other.is_a?(Integer)
54
+
56
55
  other = other.is_a?(Version) ? other : Version.new(other)
57
56
 
58
57
  return 0 if @version == other.version
@@ -67,12 +66,13 @@ module Epuber
67
66
  i = 0
68
67
 
69
68
  while i <= limit
70
- lhs, rhs = lhsegments[i] || 0, rhsegments[i] || 0
69
+ lhs = lhsegments[i] || 0
70
+ rhs = rhsegments[i] || 0
71
71
  i += 1
72
72
 
73
73
  next if lhs == rhs
74
- return -1 if lhs.is_a?(String) && is_number(rhs)
75
- return 1 if is_number(lhs) && rhs.is_a?(String)
74
+ return -1 if lhs.is_a?(String) && number?(rhs)
75
+ return 1 if number?(lhs) && rhs.is_a?(String)
76
76
 
77
77
  return lhs <=> rhs
78
78
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Epuber
4
- VERSION = '0.7.4'
4
+ VERSION = '0.8.0'
5
5
 
6
6
  HOME_URL = 'https://github.com/epuber-io/epuber'
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epuber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.4
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roman Kříž
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-27 00:00:00.000000000 Z
11
+ date: 2023-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -45,27 +45,21 @@ dependencies:
45
45
  - !ruby/object:Gem::Version
46
46
  version: '2.7'
47
47
  - !ruby/object:Gem::Dependency
48
- name: nokogiri
48
+ name: claide
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '1.8'
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: 1.8.2
53
+ version: '1.0'
57
54
  type: :runtime
58
55
  prerelease: false
59
56
  version_requirements: !ruby/object:Gem::Requirement
60
57
  requirements:
61
58
  - - "~>"
62
59
  - !ruby/object:Gem::Version
63
- version: '1.8'
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: 1.8.2
60
+ version: '1.0'
67
61
  - !ruby/object:Gem::Dependency
68
- name: mime-types
62
+ name: listen
69
63
  requirement: !ruby/object:Gem::Requirement
70
64
  requirements:
71
65
  - - "~>"
@@ -79,33 +73,39 @@ dependencies:
79
73
  - !ruby/object:Gem::Version
80
74
  version: '3.0'
81
75
  - !ruby/object:Gem::Dependency
82
- name: claide
76
+ name: mime-types
83
77
  requirement: !ruby/object:Gem::Requirement
84
78
  requirements:
85
79
  - - "~>"
86
80
  - !ruby/object:Gem::Version
87
- version: '1.0'
81
+ version: '3.0'
88
82
  type: :runtime
89
83
  prerelease: false
90
84
  version_requirements: !ruby/object:Gem::Requirement
91
85
  requirements:
92
86
  - - "~>"
93
87
  - !ruby/object:Gem::Version
94
- version: '1.0'
88
+ version: '3.0'
95
89
  - !ruby/object:Gem::Dependency
96
- name: listen
90
+ name: nokogiri
97
91
  requirement: !ruby/object:Gem::Requirement
98
92
  requirements:
99
93
  - - "~>"
100
94
  - !ruby/object:Gem::Version
101
- version: '3.0'
95
+ version: '1.8'
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: 1.8.2
102
99
  type: :runtime
103
100
  prerelease: false
104
101
  version_requirements: !ruby/object:Gem::Requirement
105
102
  requirements:
106
103
  - - "~>"
107
104
  - !ruby/object:Gem::Version
108
- version: '3.0'
105
+ version: '1.8'
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: 1.8.2
109
109
  - !ruby/object:Gem::Dependency
110
110
  name: os
111
111
  requirement: !ruby/object:Gem::Requirement
@@ -140,20 +140,6 @@ dependencies:
140
140
  - - "<"
141
141
  - !ruby/object:Gem::Version
142
142
  version: '4.0'
143
- - !ruby/object:Gem::Dependency
144
- name: sinatra-websocket
145
- requirement: !ruby/object:Gem::Requirement
146
- requirements:
147
- - - "~>"
148
- - !ruby/object:Gem::Version
149
- version: '0.3'
150
- type: :runtime
151
- prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- requirements:
154
- - - "~>"
155
- - !ruby/object:Gem::Version
156
- version: '0.3'
157
143
  - !ruby/object:Gem::Dependency
158
144
  name: sinatra-contrib
159
145
  requirement: !ruby/object:Gem::Requirement
@@ -174,6 +160,20 @@ dependencies:
174
160
  - - "<"
175
161
  - !ruby/object:Gem::Version
176
162
  version: '4.0'
163
+ - !ruby/object:Gem::Dependency
164
+ name: sinatra-websocket
165
+ requirement: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - "~>"
168
+ - !ruby/object:Gem::Version
169
+ version: '0.3'
170
+ type: :runtime
171
+ prerelease: false
172
+ version_requirements: !ruby/object:Gem::Requirement
173
+ requirements:
174
+ - - "~>"
175
+ - !ruby/object:Gem::Version
176
+ version: '0.3'
177
177
  - !ruby/object:Gem::Dependency
178
178
  name: thin
179
179
  requirement: !ruby/object:Gem::Requirement
@@ -243,25 +243,25 @@ dependencies:
243
243
  - !ruby/object:Gem::Version
244
244
  version: '6.0'
245
245
  - !ruby/object:Gem::Dependency
246
- name: epuber-stylus
246
+ name: bade
247
247
  requirement: !ruby/object:Gem::Requirement
248
248
  requirements:
249
249
  - - "~>"
250
250
  - !ruby/object:Gem::Version
251
- version: '1.1'
251
+ version: '0.3'
252
252
  - - ">="
253
253
  - !ruby/object:Gem::Version
254
- version: 1.1.1
254
+ version: 0.3.1
255
255
  type: :runtime
256
256
  prerelease: false
257
257
  version_requirements: !ruby/object:Gem::Requirement
258
258
  requirements:
259
259
  - - "~>"
260
260
  - !ruby/object:Gem::Version
261
- version: '1.1'
261
+ version: '0.3'
262
262
  - - ">="
263
263
  - !ruby/object:Gem::Version
264
- version: 1.1.1
264
+ version: 0.3.1
265
265
  - !ruby/object:Gem::Dependency
266
266
  name: coffee-script
267
267
  requirement: !ruby/object:Gem::Requirement
@@ -277,87 +277,87 @@ dependencies:
277
277
  - !ruby/object:Gem::Version
278
278
  version: '2.4'
279
279
  - !ruby/object:Gem::Dependency
280
- name: bade
280
+ name: epuber-stylus
281
281
  requirement: !ruby/object:Gem::Requirement
282
282
  requirements:
283
283
  - - "~>"
284
284
  - !ruby/object:Gem::Version
285
- version: '0.3'
285
+ version: '1.1'
286
286
  - - ">="
287
287
  - !ruby/object:Gem::Version
288
- version: 0.3.1
288
+ version: 1.1.1
289
289
  type: :runtime
290
290
  prerelease: false
291
291
  version_requirements: !ruby/object:Gem::Requirement
292
292
  requirements:
293
293
  - - "~>"
294
294
  - !ruby/object:Gem::Version
295
- version: '0.3'
295
+ version: '1.1'
296
296
  - - ">="
297
297
  - !ruby/object:Gem::Version
298
- version: 0.3.1
298
+ version: 1.1.1
299
299
  - !ruby/object:Gem::Dependency
300
- name: rspec
300
+ name: fakefs
301
301
  requirement: !ruby/object:Gem::Requirement
302
302
  requirements:
303
- - - "~>"
303
+ - - ">="
304
304
  - !ruby/object:Gem::Version
305
- version: '3.2'
305
+ version: '1.3'
306
+ - - "<"
307
+ - !ruby/object:Gem::Version
308
+ version: '3.0'
306
309
  type: :development
307
310
  prerelease: false
308
311
  version_requirements: !ruby/object:Gem::Requirement
309
312
  requirements:
310
- - - "~>"
313
+ - - ">="
311
314
  - !ruby/object:Gem::Version
312
- version: '3.2'
315
+ version: '1.3'
316
+ - - "<"
317
+ - !ruby/object:Gem::Version
318
+ version: '3.0'
313
319
  - !ruby/object:Gem::Dependency
314
- name: rubocop
320
+ name: rake
315
321
  requirement: !ruby/object:Gem::Requirement
316
322
  requirements:
317
323
  - - "~>"
318
324
  - !ruby/object:Gem::Version
319
- version: '1.14'
325
+ version: '13.0'
320
326
  type: :development
321
327
  prerelease: false
322
328
  version_requirements: !ruby/object:Gem::Requirement
323
329
  requirements:
324
330
  - - "~>"
325
331
  - !ruby/object:Gem::Version
326
- version: '1.14'
332
+ version: '13.0'
327
333
  - !ruby/object:Gem::Dependency
328
- name: rake
334
+ name: rspec
329
335
  requirement: !ruby/object:Gem::Requirement
330
336
  requirements:
331
337
  - - "~>"
332
338
  - !ruby/object:Gem::Version
333
- version: '13.0'
339
+ version: '3.2'
334
340
  type: :development
335
341
  prerelease: false
336
342
  version_requirements: !ruby/object:Gem::Requirement
337
343
  requirements:
338
344
  - - "~>"
339
345
  - !ruby/object:Gem::Version
340
- version: '13.0'
346
+ version: '3.2'
341
347
  - !ruby/object:Gem::Dependency
342
- name: fakefs
348
+ name: rubocop
343
349
  requirement: !ruby/object:Gem::Requirement
344
350
  requirements:
345
- - - ">="
346
- - !ruby/object:Gem::Version
347
- version: '1.3'
348
- - - "<"
351
+ - - "~>"
349
352
  - !ruby/object:Gem::Version
350
- version: '3.0'
353
+ version: '1.14'
351
354
  type: :development
352
355
  prerelease: false
353
356
  version_requirements: !ruby/object:Gem::Requirement
354
357
  requirements:
355
- - - ">="
356
- - !ruby/object:Gem::Version
357
- version: '1.3'
358
- - - "<"
358
+ - - "~>"
359
359
  - !ruby/object:Gem::Version
360
- version: '3.0'
360
+ version: '1.14'
361
361
  description:
362
362
  email:
363
363
  - samnung@gmail.com
@@ -378,6 +378,7 @@ files:
378
378
  - lib/epuber/book/target.rb
379
379
  - lib/epuber/book/toc_item.rb
380
380
  - lib/epuber/checker.rb
381
+ - lib/epuber/checker/bookspec_checker.rb
381
382
  - lib/epuber/checker/text_checker.rb
382
383
  - lib/epuber/checker_transformer_base.rb
383
384
  - lib/epuber/command.rb
@@ -418,6 +419,7 @@ files:
418
419
  - lib/epuber/dsl/attribute_support.rb
419
420
  - lib/epuber/dsl/object.rb
420
421
  - lib/epuber/dsl/tree_object.rb
422
+ - lib/epuber/epubcheck.rb
421
423
  - lib/epuber/helper.rb
422
424
  - lib/epuber/lockfile.rb
423
425
  - lib/epuber/plugin.rb
@@ -432,10 +434,6 @@ files:
432
434
  - lib/epuber/server/basic.styl
433
435
  - lib/epuber/server/book_content.styl
434
436
  - lib/epuber/server/default_cover.png
435
- - lib/epuber/server/fonts/AvenirNext/AvenirNext-Bold.ttf
436
- - lib/epuber/server/fonts/AvenirNext/AvenirNext-BoldItalic.ttf
437
- - lib/epuber/server/fonts/AvenirNext/AvenirNext-Italic.ttf
438
- - lib/epuber/server/fonts/AvenirNext/AvenirNext-Regular.ttf
439
437
  - lib/epuber/server/handlers.rb
440
438
  - lib/epuber/server/keyboard_control.coffee
441
439
  - lib/epuber/server/pages/book.bade
@@ -615,7 +613,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
615
613
  - !ruby/object:Gem::Version
616
614
  version: '0'
617
615
  requirements: []
618
- rubygems_version: 3.4.21
616
+ rubygems_version: 3.4.22
619
617
  signing_key:
620
618
  specification_version: 4
621
619
  summary: Epuber is simple tool to compile and pack source files into EPUB format.