xpub 0.0.2 → 0.0.3

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
  SHA1:
3
- metadata.gz: 877ab04ae6dcc87b84f58981a8b4f4cf4db2b13c
4
- data.tar.gz: 97eb7fb47e86d13a1771ad5adc36ed0e772e2c24
3
+ metadata.gz: 340f22ebfe3786f4c573a588ed8b06a387878963
4
+ data.tar.gz: 1f13447525369f0263468cc8f77f25b81c2d3892
5
5
  SHA512:
6
- metadata.gz: 37a38c380d0590f97bb65a496ad9da5eb35c189b652b86c24f2699ed7fbd298fb71a0d6e8f50c91d0b1c47d5935d6ce41c8e8c1eb20c220c654845f90e0e2c08
7
- data.tar.gz: 09a15c7aa078c85c4cf10309aa1c3e9ca5935883217a6bd54c8c78cbd4aa8c59cdf76f346396ca4b52a33d1392dbad2f0dd71159f0efd306320653e776a5c58b
6
+ metadata.gz: 31a0c70456c76295b43f1d8935fcda4c7d55af8d060a11c1b713558f98f32f9548bdd099d903b84406ed312ee4cb6ecd96c72c9e5cddf9cb93898dec4cec7cb8
7
+ data.tar.gz: 9014abe8a5e25cf605aa057007b6b61bcfd0af1412309e29a91b8179041c7e7c571c4d88472d9e3088e0da5ce72dede5861dd1aa007955662fac7c40bcb11ea0
data/bin/xpub CHANGED
@@ -10,6 +10,9 @@ require 'pathname'
10
10
  require 'shellwords'
11
11
  require 'erb'
12
12
  require 'time'
13
+ require 'singleton'
14
+ require 'dsl_accessor'
15
+ require 'levenshtein'
13
16
 
14
17
  require 'xpub/version.rb'
15
18
 
@@ -21,10 +24,13 @@ opt = OptionParser.new do |opt|
21
24
  opt.on_head('[cmd]',
22
25
  ' init Xpubファイルの生成',
23
26
  ' build ビルド',
24
- ' clean テンポラリフォルダと出力フォルダをクリア')
27
+ ' clean テンポラリフォルダと出力フォルダをクリア',
28
+ ' check ソースコードを検証'
29
+ )
25
30
  opt.on('-v', '出力を詳細にする') { |v| option[:v] = v }
26
31
  opt.on('--book=VALUE', 'ビルドするbookを指定する') { |v| option[:book] = v }
27
32
  opt.on('--builder=VALUE', 'ビルドするbuilderを指定する') { |v| option[:builder] = v }
33
+ opt.on('--checker=VALUE', 'チェックするcheckerを指定する') { |v| option[:checker] = v }
28
34
  opt.on('--pandoc-json-output', 'ビルド時にpandocのjsonを出力') { |v| option['pandoc-json-output'] = v }
29
35
  opt.permute!(ARGV)
30
36
  end
@@ -43,6 +49,7 @@ require "xpub/dsl/book"
43
49
  require "xpub/dsl/src_file"
44
50
  require "xpub/dsl/builder"
45
51
  require "xpub/dsl/page"
52
+ require "xpub/dsl/checker"
46
53
 
47
54
  if File.file?("#{curDir}/Xpub") && ARGV[0] != "init"
48
55
  load "#{curDir}/Xpub"
@@ -67,6 +74,9 @@ elsif ARGV[0] == "init"
67
74
  end
68
75
  puts "init...".color :green
69
76
  FileUtils.cp_r(Dir.glob(File.dirname(__FILE__) + "/../skel/*"),"./")
77
+ elsif ARGV[0] == "check"
78
+ puts "check...".color :green
79
+ Xpub::BookManager.instance.check option
70
80
  else
71
81
  puts opt.help
72
82
  exit
@@ -1,138 +1,34 @@
1
- require 'singleton'
2
-
3
1
  module Xpub
4
2
  class CallBook
5
3
  attr_reader :name, :src_files, :resource_files, :creators, :contributors, :identifiers
6
4
 
5
+ dsl_accessor :title, :instance=>true, :default => "UNTITLED"
6
+ dsl_accessor :subtitle, :instance=>true
7
+ dsl_accessor :short, :instance=>true
8
+ dsl_accessor :collection, :instance=>true
9
+ dsl_accessor :edition, :instance=>true
10
+ dsl_accessor :extended, :instance=>true
11
+ dsl_accessor :publisher, :instance=>true
12
+ dsl_accessor :rights, :instance=>true
13
+ dsl_accessor :publication, :instance=>true
14
+ dsl_accessor :modification, :instance=>true
15
+ dsl_accessor :lang, :instance=>true, :default => "ja"
16
+ dsl_accessor :description, :instance=>true
17
+
7
18
  def initialize name
8
19
  @name = name
9
- @title = "UNTITLED"
10
- @subtitle = nil
11
- @short = nil
12
- @collection = nil
13
- @edition = nil
14
- @extended = nil
15
- @publisher = nil
16
- @rights = nil
17
- @publication = nil
18
- @modification = nil
19
- @lang = "ja"
20
20
  @creators = []
21
21
  @contributors = []
22
22
  @identifiers = []
23
- @description = nil
24
-
25
23
  @src_files = []
26
24
  @resource_files = []
27
25
  @builders = []
26
+ @checkers = []
28
27
  end
29
28
 
30
-
31
29
  def validate
32
30
  end
33
31
 
34
- def _set_or_get values
35
- # 引数が 2 つ以上ならエラー
36
- raise ArgumentError, "wrong number of arguments (#{ values.length} for 0..1)" if values.length > 1
37
- values.empty?
38
- end
39
-
40
- def title *values
41
- if _set_or_get values
42
- @title
43
- else
44
- @title = values[0]
45
- end
46
- end
47
-
48
- def subtitle *values
49
- if _set_or_get values
50
- @subtitle
51
- else
52
- @subtitle = values[0]
53
- end
54
- end
55
-
56
- def short *values
57
- if _set_or_get values
58
- @short
59
- else
60
- @short = values[0]
61
- end
62
- end
63
-
64
- def collection *values
65
- if _set_or_get values
66
- @collection
67
- else
68
- @collection = values[0]
69
- end
70
- end
71
-
72
- def edition *values
73
- if _set_or_get values
74
- @edition
75
- else
76
- @edition = values[0]
77
- end
78
- end
79
-
80
- def extended *values
81
- if _set_or_get values
82
- @extended
83
- else
84
- @extended = values[0]
85
- end
86
- end
87
-
88
- def publisher *values
89
- if _set_or_get values
90
- @publisher
91
- else
92
- @publisher = values[0]
93
- end
94
- end
95
-
96
- def rights *values
97
- if _set_or_get values
98
- @rights
99
- else
100
- @rights = values[0]
101
- end
102
- end
103
-
104
- def publication *values
105
- if _set_or_get values
106
- @publication
107
- else
108
- @publication = values[0]
109
- end
110
- end
111
-
112
- def modification *values
113
- if _set_or_get values
114
- @modification
115
- else
116
- @modification = values[0]
117
- end
118
- end
119
-
120
- def lang *values
121
- if _set_or_get values
122
- @lang
123
- else
124
- @lang = values[0]
125
- end
126
- end
127
-
128
- def description *values
129
- if _set_or_get values
130
- @description
131
- else
132
- @description = values[0]
133
- end
134
- end
135
-
136
32
  def build option
137
33
  puts "build #{@name} book.".color :green
138
34
  @builders.each { |b|
@@ -142,30 +38,25 @@ module Xpub
142
38
  }
143
39
  end
144
40
 
41
+ def check option
42
+ puts "check #{@name} book.".color :green
43
+ @checkers.each { |c|
44
+ if !option[:checker] || option[:checker] == c.name
45
+ c.check option
46
+ end
47
+ }
48
+ end
49
+
145
50
  class CallAuthor
146
51
  attr_reader :name
52
+ dsl_accessor :role, :instance=>true
147
53
 
148
54
  def initialize name
149
55
  @name = name
150
- @role = nil
151
56
  end
152
57
 
153
58
  def validate
154
59
  end
155
-
156
- def _set_or_get values
157
- # 引数が 2 つ以上ならエラー
158
- raise ArgumentError, "wrong number of arguments (#{ values.length} for 0..1)" if values.length > 1
159
- values.empty?
160
- end
161
-
162
- def role *values
163
- if _set_or_get values
164
- @role
165
- else
166
- @role = values[0]
167
- end
168
- end
169
60
  end
170
61
 
171
62
  def creator name, &block
@@ -188,37 +79,15 @@ module Xpub
188
79
 
189
80
  class CallIdentifier
190
81
  attr_reader :identifier
82
+ dsl_accessor :scheme, :instance=>true
83
+ dsl_accessor :type_value, :instance=>true
191
84
 
192
85
  def initialize identifier
193
86
  @identifier = identifier
194
- @scheme = nil
195
- @type_value = nil
196
87
  end
197
88
 
198
89
  def validate
199
90
  end
200
-
201
- def _set_or_get values
202
- # 引数が 2 つ以上ならエラー
203
- raise ArgumentError, "wrong number of arguments (#{ values.length} for 0..1)" if values.length > 1
204
- values.empty?
205
- end
206
-
207
- def scheme *values
208
- if _set_or_get values
209
- @scheme
210
- else
211
- @scheme = values[0]
212
- end
213
- end
214
-
215
- def type_value *values
216
- if _set_or_get values
217
- @type_value
218
- else
219
- @type_value = values[0]
220
- end
221
- end
222
91
  end
223
92
 
224
93
  def identifier identifier, &block
@@ -246,8 +115,8 @@ module Xpub
246
115
  @books = []
247
116
  end
248
117
 
249
- def add c
250
- @books << c
118
+ def add b
119
+ @books << b
251
120
  end
252
121
 
253
122
  def build option
@@ -257,5 +126,13 @@ module Xpub
257
126
  end
258
127
  }
259
128
  end
129
+
130
+ def check option
131
+ @books.each { |book|
132
+ if !option[:book] || option[:book] == book.name
133
+ book.check option
134
+ end
135
+ }
136
+ end
260
137
  end
261
138
  end
@@ -1,20 +1,13 @@
1
1
  module Xpub
2
2
  class CallBook
3
3
  class CallBuilder
4
- attr_reader :name, :theme, :output
4
+ attr_reader :name
5
+ dsl_accessor :theme, :instance=>true, :default => "default"
6
+ dsl_accessor :output, :instance=>true
5
7
 
6
8
  def initialize name, book
7
9
  @name = name
8
10
  @book = book
9
- @theme = "default"
10
- end
11
-
12
- def output output
13
- @output = output
14
- end
15
-
16
- def theme theme
17
- @theme = theme
18
11
  end
19
12
 
20
13
  def build
@@ -52,7 +45,6 @@ module Xpub
52
45
  end
53
46
 
54
47
  def cmd_exec cmd, args, option
55
-
56
48
  cmd_line = cmd + " " + args.map { |arg|
57
49
  Shellwords.shellescape(arg)
58
50
  }.join(" ")
@@ -70,49 +62,26 @@ module Xpub
70
62
  end
71
63
 
72
64
  class CallEpubBuilder < CallBuilder
65
+ dsl_accessor :template, :instance=>true, :default => "template.html"
66
+ dsl_accessor :filter, :instance=>true, :default => "pandoc-filter.rb"
67
+ dsl_accessor :stylesheet, :instance=>true, :default => "epub.css"
68
+ dsl_accessor :metadata, :instance=>true, :default => "metadata.dat"
69
+ dsl_accessor :page_progression_direction, :instance=>true, :default => "rtl"
70
+ dsl_accessor :cover_image, :instance=>true
71
+ dsl_accessor :pandoc_cmd, :instance=>true, :default => "pandoc"
72
+
73
73
  def initialize name, book
74
74
  @vars = []
75
75
  @meta = []
76
- @template = "template.html"
77
- @filter = "pandoc-filter.rb"
78
- @stylesheet = "epub.css"
79
- @metadata = "metadata.dat"
80
- @page_progression_direction = "rtl"
81
- @cover_image = nil
82
-
83
76
  if book.title != ""
84
77
  @vars << ["title", book.title]
85
78
  end
86
79
  super name, book
87
80
  end
88
81
 
89
- def page_progression_direction param
90
- @page_progression_direction = param
91
- end
92
-
93
- def template param
94
- @template = param
95
- end
96
-
97
- def filter param
98
- @filter = param
99
- end
100
-
101
- def stylesheet param
102
- @stylesheet = param
103
- end
104
-
105
- def metadata param
106
- @metadata = param
107
- end
108
-
109
- def cover_image param
110
- @cover_image = param
111
- end
112
-
113
82
  def meta_option
114
83
  result = []
115
- @meta.concat([["page-progression-direction", @page_progression_direction]]).each { |m|
84
+ @meta.concat([["page-progression-direction", page_progression_direction]]).each { |m|
116
85
  result << "-M"
117
86
  result << "#{m[0]}=#{m[1]}"
118
87
  }
@@ -129,15 +98,15 @@ module Xpub
129
98
  end
130
99
 
131
100
  def template_option
132
- "--template=#{Dir::getwd}/theme/#{@theme}/#{@name}/#{@template}"
101
+ "--template=#{Dir::getwd}/theme/#{theme}/#{@name}/#{template}"
133
102
  end
134
103
 
135
104
  def filter_option
136
- "--filter=#{Dir::getwd}/theme/#{@theme}/#{@name}/#{@filter}"
105
+ "--filter=#{Dir::getwd}/theme/#{theme}/#{@name}/#{filter}"
137
106
  end
138
107
 
139
108
  def stylesheet_option
140
- "--epub-stylesheet=#{Dir::getwd}/theme/#{@theme}/#{@name}/#{@stylesheet}"
109
+ "--epub-stylesheet=#{Dir::getwd}/theme/#{theme}/#{@name}/#{stylesheet}"
141
110
  end
142
111
 
143
112
  def metadata_option
@@ -145,11 +114,11 @@ module Xpub
145
114
  end
146
115
 
147
116
  def metadata_path
148
- tmp_path("#{@book.name}.#{@metadata}")
117
+ tmp_path("#{@book.name}.#{metadata}")
149
118
  end
150
119
 
151
120
  def metadata_template_path
152
- "#{Dir::getwd}/theme/#{@theme}/#{@name}/#{@metadata}.erb"
121
+ "#{Dir::getwd}/theme/#{theme}/#{@name}/#{metadata}.erb"
153
122
  end
154
123
 
155
124
  def epub_path
@@ -164,10 +133,6 @@ module Xpub
164
133
  copy_to_tmp files
165
134
  end
166
135
 
167
- def pandoc_cmd
168
- "pandoc"
169
- end
170
-
171
136
  def pandoc_option option
172
137
  option = [
173
138
  "--epub-chapter-level=1",
@@ -180,8 +145,8 @@ module Xpub
180
145
  stylesheet_option,
181
146
  metadata_option
182
147
  ]
183
- if @cover_image
184
- option << "--epub-cover-image=" + src_path(@cover_image)
148
+ if cover_image
149
+ option << "--epub-cover-image=" + src_path(cover_image)
185
150
  end
186
151
  option
187
152
  end
@@ -208,12 +173,15 @@ module Xpub
208
173
  end
209
174
 
210
175
  class CallLatexBuilder < CallBuilder
211
- attr_reader :template
176
+ dsl_accessor :template, :instance=>true, :default => "template.tex"
177
+ dsl_accessor :filter, :instance=>true, :default => "pandoc-filter.rb"
178
+ dsl_accessor :extractbb_cmd, :instance=>true, :default => "extractbb"
179
+ dsl_accessor :pandoc_cmd, :instance=>true, :default => "pandoc"
180
+ dsl_accessor :latex_cmd, :instance=>true, :default => "uplatex"
181
+ dsl_accessor :dvipdfm_cmd, :instance=>true, :default => "dvipdfmx"
212
182
 
213
183
  def initialize name, book
214
184
  @vars = []
215
- @template = "template.tex"
216
- @filter = "pandoc-filter.rb"
217
185
  @hyoushi = []
218
186
  @urahyoushi = []
219
187
  super name, book
@@ -243,13 +211,6 @@ module Xpub
243
211
  @vars << [:postchaptername, param]
244
212
  end
245
213
 
246
- def template param
247
- @template = param
248
- end
249
-
250
- def filter param
251
- @filter = param
252
- end
253
214
 
254
215
  def vars_option
255
216
  result = []
@@ -261,11 +222,11 @@ module Xpub
261
222
  end
262
223
 
263
224
  def template_option
264
- "--template=#{Dir::getwd}/theme/#{@theme}/#{@name}/#{@template}"
225
+ "--template=#{Dir::getwd}/theme/#{theme}/#{@name}/#{template}"
265
226
  end
266
227
 
267
228
  def filter_option
268
- "--filter=#{Dir::getwd}/theme/#{@theme}/#{@name}/#{@filter}"
229
+ "--filter=#{Dir::getwd}/theme/#{theme}/#{@name}/#{filter}"
269
230
  end
270
231
 
271
232
  def tex_path
@@ -281,17 +242,13 @@ module Xpub
281
242
  end
282
243
 
283
244
  def pdf_path
284
- if @output
285
- output_path(@output) + '.pdf'
245
+ if output
246
+ output_path(output) + '.pdf'
286
247
  else
287
248
  output_path(@book.name) + '.pdf'
288
249
  end
289
250
  end
290
251
 
291
- def extractbb_cmd
292
- "extractbb"
293
- end
294
-
295
252
  def _build_resource files, option
296
253
  copy_to_tmp files
297
254
  files.each { |file|
@@ -306,10 +263,6 @@ module Xpub
306
263
  _build_resource @book.resource_files, option
307
264
  end
308
265
 
309
- def pandoc_cmd
310
- "pandoc"
311
- end
312
-
313
266
  def pandoc_option option
314
267
  [
315
268
  "--chapters",
@@ -321,14 +274,6 @@ module Xpub
321
274
  ]
322
275
  end
323
276
 
324
- def latex_cmd
325
- "uplatex"
326
- end
327
-
328
- def dvipdfm_cmd
329
- "dvipdfmx"
330
- end
331
-
332
277
  def build option
333
278
  FileUtils.mkdir_p(tmp_path "") unless FileTest.exist?(tmp_path "")
334
279
  if option['pandoc-json-output']
@@ -352,6 +297,7 @@ module Xpub
352
297
  end
353
298
  end
354
299
  end
300
+
355
301
  def epub_builder name, &block
356
302
  call = CallEpubBuilder.new name, self
357
303
  if block
@@ -0,0 +1,69 @@
1
+ module Xpub
2
+ class CallBook
3
+ class CallChecker
4
+ def initialize name, book
5
+ @name = name
6
+ @book = book
7
+ end
8
+
9
+ def validate
10
+ end
11
+
12
+ def _check option, pattern
13
+ words = {}
14
+ @book.src_files.each do |file|
15
+ f = open file.full_path
16
+ f.each_with_index do |line, index|
17
+ line.match(pattern) do |md|
18
+ if words[md[1]]
19
+ words[md[1]] << { :file => file.file, :line => (index + 1) }
20
+ else
21
+ words[md[1]] = [{ :file => file.file, :line => (index + 1) }]
22
+ end
23
+ end
24
+ end
25
+ f.close
26
+ end
27
+
28
+ words.sort.each do |word, infos|
29
+ if word
30
+ puts word.color :red
31
+ infos.each { |info|
32
+ puts " #{info[:file]}(#{info[:line]})"
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
38
+
39
+ class CallNumberChecker < CallChecker
40
+ def check option
41
+ _check option, /([0-9一二三四五六七八九十百千万億兆京〇零]+)/
42
+ end
43
+ end
44
+
45
+ class CallKanaChecker < CallChecker
46
+ def check option
47
+ _check option, /([\p{Katakana}ー-]+)/
48
+ end
49
+ end
50
+
51
+ def number_checker name, &block
52
+ call = CallNumberChecker.new name, self
53
+ if block
54
+ call.instance_eval &block
55
+ end
56
+ call.validate
57
+ @checkers << call
58
+ end
59
+
60
+ def kana_checker name, &block
61
+ call = CallKanaChecker.new name, self
62
+ if block
63
+ call.instance_eval &block
64
+ end
65
+ call.validate
66
+ @checkers << call
67
+ end
68
+ end
69
+ end
@@ -24,23 +24,9 @@ module Xpub
24
24
  end
25
25
 
26
26
  class CallImgPageLatexOp < CallLatexOp
27
- def initialize name, book, builder
28
- @topoffset = "0in"
29
- @leftoffset = "0in"
30
- super name, book, builder
31
- end
32
-
33
- def topoffset param
34
- @topoffset = param
35
- end
36
-
37
- def leftoffset param
38
- @leftoffset = param
39
- end
40
-
41
- def file param
42
- @file = param
43
- end
27
+ dsl_accessor :topoffset, :instance=>true, :default => "0in"
28
+ dsl_accessor :leftoffset, :instance=>true, :default => "0in"
29
+ dsl_accessor :file, :instance=>true
44
30
 
45
31
  def latex book, builder
46
32
  <<"EOS"
@@ -49,34 +35,23 @@ module Xpub
49
35
  \\vspace*{-1truein}
50
36
  \\vspace*{-\\hoffset}
51
37
  \\vspace*{-\\oddsidemargin}
52
- \\vspace*{#{@leftoffset}}
53
- \\noindent\\hspace*{-1in}\\hspace*{-\\voffset}\\hspace*{-\\topmargin}\\hspace*{-\\headheight}\\hspace*{-\\headsep}\\hspace*{#{@topoffset}}
54
- \\includegraphics[width=\\paperheight,height=\\paperwidth]{#{@file}}
38
+ \\vspace*{#{leftoffset}}
39
+ \\noindent\\hspace*{-1in}\\hspace*{-\\voffset}\\hspace*{-\\topmargin}\\hspace*{-\\headheight}\\hspace*{-\\headsep}\\hspace*{#{topoffset}}
40
+ \\includegraphics[width=\\paperheight,height=\\paperwidth]{#{file}}
55
41
  \\clearpage\n
56
42
  EOS
57
43
  end
58
44
  end
59
45
 
60
46
  class CallEmptyPageLatexOp < CallLatexOp
61
- def initialize name, book, builder
62
- @no_page_number = false
63
- super name, book, builder
64
- end
65
-
66
- def no_page_number
67
- @no_page_number = true
68
- end
47
+ dsl_accessor :no_page_number, :instance=>true, :default => false
69
48
 
70
49
  def latex book, builder
71
- (@no_page_number ? "\\thispagestyle{empty}" : "") + " \\clearpage\n"
50
+ (no_page_number ? "\\thispagestyle{empty}" : "") + " \\clearpage\n"
72
51
  end
73
52
  end
74
53
 
75
54
  class CallInnerTitlePageLatexOp < CallLatexOp
76
- def initialize name, book, builder
77
- super name, book, builder
78
- end
79
-
80
55
  def latex book, builder
81
56
  <<"EOS"
82
57
  \\makeatletter
@@ -1,3 +1,3 @@
1
1
  module Xpub
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -22,4 +22,5 @@ Gem::Specification.new do |spec|
22
22
  spec.add_development_dependency "rake", "~> 10.0"
23
23
 
24
24
  spec.add_dependency 'rainbow', '~> 2.0.0'
25
+ spec.add_dependency 'dsl_accessor', '~> 0.4.4'
25
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xpub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yoshihisa AMAKATA
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-01 00:00:00.000000000 Z
11
+ date: 2015-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 2.0.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: dsl_accessor
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.4.4
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.4.4
55
69
  description: Xpub is EPUB and PDF publisher.
56
70
  email:
57
71
  - amakata@gmail.com
@@ -69,6 +83,7 @@ files:
69
83
  - lib/xpub.rb
70
84
  - lib/xpub/dsl/book.rb
71
85
  - lib/xpub/dsl/builder.rb
86
+ - lib/xpub/dsl/checker.rb
72
87
  - lib/xpub/dsl/page.rb
73
88
  - lib/xpub/dsl/src_file.rb
74
89
  - lib/xpub/version.rb