review 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +1 -2
- data/ChangeLog +65 -0
- data/Gemfile +5 -0
- data/README.rdoc +6 -1
- data/Rakefile +14 -28
- data/bin/review-check +9 -21
- data/bin/review-compile +45 -12
- data/bin/review-epubmaker +477 -220
- data/bin/review-epubmaker-ng +5 -14
- data/bin/review-index +4 -2
- data/bin/review-init +94 -0
- data/bin/review-pdfmaker +70 -287
- data/bin/review-preproc +5 -2
- data/bin/review-vol +4 -11
- data/debian/changelog +3 -3
- data/debian/copyright +5 -3
- data/debian/docs +1 -0
- data/doc/format.rdoc +57 -11
- data/doc/quickstart.rdoc +4 -4
- data/doc/sample.yaml +11 -7
- data/lib/epubmaker.rb +1 -1
- data/lib/epubmaker/epubv2.rb +26 -27
- data/lib/epubmaker/epubv3.rb +13 -13
- data/lib/epubmaker/producer.rb +1 -1
- data/lib/review.rb +3 -4
- data/lib/review/book.rb +17 -581
- data/lib/review/book/base.rb +247 -0
- data/lib/review/book/chapter.rb +81 -0
- data/lib/review/book/compilable.rb +163 -0
- data/lib/review/book/index.rb +339 -0
- data/lib/review/book/page_metric.rb +38 -0
- data/lib/review/book/parameters.rb +97 -0
- data/lib/review/book/part.rb +44 -0
- data/lib/review/book/volume.rb +65 -0
- data/lib/review/builder.rb +34 -40
- data/lib/review/compiler.rb +32 -13
- data/lib/review/configure.rb +38 -0
- data/lib/review/ewbbuilder.rb +23 -21
- data/lib/review/extentions.rb +3 -0
- data/lib/review/extentions/object.rb +9 -0
- data/lib/review/{compat.rb → extentions/string.rb} +11 -0
- data/lib/review/htmlbuilder.rb +162 -74
- data/lib/review/htmlutils.rb +28 -1
- data/lib/review/i18n.yaml +11 -0
- data/lib/review/idgxmlbuilder.rb +119 -35
- data/lib/review/inaobuilder.rb +355 -0
- data/lib/review/latexbuilder.rb +133 -59
- data/lib/review/latexutils.rb +15 -6
- data/lib/review/makerhelper.rb +59 -0
- data/lib/review/markdownbuilder.rb +129 -0
- data/lib/review/preprocessor.rb +20 -7
- data/lib/review/review.tex.erb +250 -0
- data/lib/review/textutils.rb +28 -3
- data/lib/review/tocparser.rb +20 -12
- data/lib/review/tocprinter.rb +7 -3
- data/lib/review/topbuilder.rb +44 -27
- data/lib/review/version.rb +3 -0
- data/review.gemspec +20 -117
- data/test/book_test_helper.rb +35 -0
- data/test/sample-book/README.md +5 -0
- data/test/sample-book/src/CHAPS +2 -0
- data/test/sample-book/src/PREDEF +1 -0
- data/test/sample-book/src/Rakefile +26 -0
- data/test/sample-book/src/_cover.html +3 -0
- data/test/sample-book/src/ch01.re +71 -0
- data/test/sample-book/src/ch02.re +3 -0
- data/test/sample-book/src/config.yml +55 -0
- data/test/sample-book/src/images/ch01-imgsample.jpg +0 -0
- data/test/sample-book/src/images/cover.jpg +0 -0
- data/test/sample-book/src/main.css +251 -0
- data/test/sample-book/src/preface.re +15 -0
- data/test/sample-book/src/sty/jumoline.sty +310 -0
- data/test/sample-book/src/sty/samplemacro.sty +21 -0
- data/test/sample-book/src/vendor/jumoline/README +29 -0
- data/test/sample-book/src/vendor/jumoline/jumoline.dtx +2988 -0
- data/test/sample-book/src/vendor/jumoline/jumoline.ins +6 -0
- data/test/test_book.rb +26 -646
- data/test/test_book_chapter.rb +418 -0
- data/test/test_book_parameter.rb +42 -0
- data/test/test_book_part.rb +53 -0
- data/test/test_builder.rb +17 -10
- data/test/test_compiler.rb +46 -0
- data/test/test_epubmaker.rb +1 -1
- data/test/test_epubmaker_cmd.rb +36 -0
- data/test/test_helper.rb +17 -0
- data/test/test_htmlbuilder.rb +156 -24
- data/test/test_htmlutils.rb +4 -0
- data/test/test_i18n.rb +6 -2
- data/test/test_idgxmlbuilder.rb +33 -11
- data/test/test_inaobuilder.rb +247 -0
- data/test/test_index.rb +31 -0
- data/test/test_latexbuilder.rb +115 -35
- data/test/test_makerhelper.rb +50 -0
- data/test/test_pdfmaker_cmd.rb +36 -0
- data/test/test_preprocessor.rb +7 -7
- data/test/test_topbuilder.rb +6 -7
- data/test/test_uuid.rb +1 -0
- metadata +117 -12
- data/lib/review/index.rb +0 -323
- data/lib/review/volume.rb +0 -66
data/lib/review/textutils.rb
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
# $Id: textutils.rb 2192 2005-11-13 11:55:42Z aamine $
|
2
|
+
require 'nkf'
|
2
3
|
|
3
4
|
module ReVIEW
|
4
|
-
|
5
5
|
module TextUtils
|
6
|
-
|
7
6
|
def detab(str, ts = 8)
|
8
7
|
add = 0
|
9
8
|
len = nil
|
@@ -36,6 +35,32 @@ module ReVIEW
|
|
36
35
|
blocked_lines.map{|l| l.join("")}
|
37
36
|
end
|
38
37
|
|
39
|
-
|
38
|
+
def convert_inencoding(str, enc)
|
39
|
+
case enc
|
40
|
+
when /^EUC$/i
|
41
|
+
NKF.nkf("-E -w -m0x", str)
|
42
|
+
when /^SJIS$/i
|
43
|
+
NKF.nkf("-S -w -m0x", str)
|
44
|
+
when /^JIS$/i
|
45
|
+
NKF.nkf("-J -w -m0x", str)
|
46
|
+
when /^UTF-8$/i
|
47
|
+
NKF.nkf("-W -w -m0x", str)
|
48
|
+
else
|
49
|
+
NKF.nkf("-w -m0 -m0x", str)
|
50
|
+
end
|
51
|
+
end
|
40
52
|
|
53
|
+
def convert_outencoding(str, enc)
|
54
|
+
case enc
|
55
|
+
when /^EUC$/i
|
56
|
+
NKF.nkf("-W -e -m0x", str)
|
57
|
+
when /^SJIS$/i
|
58
|
+
NKF.nkf("-W -s -m0x", str)
|
59
|
+
when /^JIS$/i
|
60
|
+
NKF.nkf("-W -j -m0x", str)
|
61
|
+
else
|
62
|
+
str
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
41
66
|
end
|
data/lib/review/tocparser.rb
CHANGED
@@ -12,13 +12,12 @@
|
|
12
12
|
|
13
13
|
require 'review/preprocessor'
|
14
14
|
require 'review/book'
|
15
|
-
require 'review/
|
15
|
+
require 'review/textbuilder'
|
16
16
|
require 'forwardable'
|
17
17
|
|
18
18
|
module ReVIEW
|
19
19
|
|
20
20
|
class TOCParser
|
21
|
-
|
22
21
|
def TOCParser.parse(chap)
|
23
22
|
chap.open {|f|
|
24
23
|
stream = Preprocessor::Strip.new(f)
|
@@ -34,11 +33,13 @@ module ReVIEW
|
|
34
33
|
path = []
|
35
34
|
|
36
35
|
while line = f.gets
|
37
|
-
line.sub!(/\A\xEF\xBB\xBF
|
36
|
+
line.sub!(/\A\xEF\xBB\xBF/u, '') # remove BOM
|
38
37
|
case line
|
38
|
+
when /\A\#@/
|
39
|
+
;
|
39
40
|
when /\A\s*\z/
|
40
41
|
;
|
41
|
-
when /\A(={2,})[\[\s]/
|
42
|
+
when /\A(={2,})[\[\s\{]/
|
42
43
|
lev = $1.size
|
43
44
|
error! filename, f.lineno, "section level too deep: #{lev}" if lev > 5
|
44
45
|
if path.empty?
|
@@ -47,7 +48,7 @@ module ReVIEW
|
|
47
48
|
roots.push path.first
|
48
49
|
end
|
49
50
|
next if get_label(line) =~ /\A\[\// # ex) "[/column]"
|
50
|
-
new = Section.new(lev, get_label(line))
|
51
|
+
new = Section.new(lev, get_label(line).gsub(/\A\{.*?\}\s?/, ""))
|
51
52
|
until path.last.level < new.level
|
52
53
|
path.pop
|
53
54
|
end
|
@@ -92,7 +93,14 @@ module ReVIEW
|
|
92
93
|
end
|
93
94
|
|
94
95
|
def get_label(line)
|
95
|
-
line.strip.sub(/\A=+\s*/, '')
|
96
|
+
line = line.strip.sub(/\A=+\s*/, '')
|
97
|
+
compile_label(line)
|
98
|
+
end
|
99
|
+
|
100
|
+
def compile_label(line)
|
101
|
+
b = ReVIEW::TEXTBuilder.new
|
102
|
+
b.bind(ReVIEW::Compiler.new(b), nil, nil)
|
103
|
+
b.compile_inline(line)
|
96
104
|
end
|
97
105
|
|
98
106
|
def error!(filename, lineno, msg)
|
@@ -216,8 +224,8 @@ module ReVIEW
|
|
216
224
|
|
217
225
|
def volume
|
218
226
|
return @volume if @volume
|
219
|
-
return Volume.dummy unless @path
|
220
|
-
@volume = Volume.count_file(@path)
|
227
|
+
return Book::Volume.dummy unless @path
|
228
|
+
@volume = Book::Volume.count_file(@path)
|
221
229
|
@volume.lines = estimated_lines()
|
222
230
|
@volume
|
223
231
|
end
|
@@ -310,19 +318,19 @@ module ReVIEW
|
|
310
318
|
end
|
311
319
|
end
|
312
320
|
|
313
|
-
class Book # reopen
|
321
|
+
class Book::Base # reopen
|
314
322
|
include TOCRoot
|
315
323
|
end
|
316
324
|
|
317
|
-
class ChapterSet # reopen
|
325
|
+
class Book::ChapterSet # reopen
|
318
326
|
include TOCRoot
|
319
327
|
end
|
320
328
|
|
321
|
-
class Part
|
329
|
+
class Book::Part
|
322
330
|
include TOCRoot
|
323
331
|
end
|
324
332
|
|
325
|
-
class Chapter # reopen
|
333
|
+
class Book::Chapter # reopen
|
326
334
|
def toc
|
327
335
|
@toc ||= TOCParser.parse(self)
|
328
336
|
unless @toc.size == 1
|
data/lib/review/tocprinter.rb
CHANGED
@@ -66,8 +66,10 @@ module ReVIEW
|
|
66
66
|
def print_children(node)
|
67
67
|
return unless print?(node.level + 1)
|
68
68
|
node.each_section_with_index do |section, idx|
|
69
|
-
|
70
|
-
|
69
|
+
unless section.blank?
|
70
|
+
print_node idx+1, section
|
71
|
+
print_children section
|
72
|
+
end
|
71
73
|
end
|
72
74
|
end
|
73
75
|
|
@@ -124,7 +126,9 @@ module ReVIEW
|
|
124
126
|
end
|
125
127
|
end
|
126
128
|
end
|
127
|
-
puts HTMLLayout.new(
|
129
|
+
puts HTMLLayout.new({ :body => html,
|
130
|
+
:title => "目次",
|
131
|
+
:template => File.join(book.basedir, "layouts", "layout.erb")}).result
|
128
132
|
end
|
129
133
|
|
130
134
|
private
|
data/lib/review/topbuilder.rb
CHANGED
@@ -10,6 +10,7 @@
|
|
10
10
|
|
11
11
|
require 'review/builder'
|
12
12
|
require 'review/textutils'
|
13
|
+
require 'review/compiler'
|
13
14
|
|
14
15
|
module ReVIEW
|
15
16
|
|
@@ -17,7 +18,7 @@ module ReVIEW
|
|
17
18
|
|
18
19
|
include TextUtils
|
19
20
|
|
20
|
-
[:ttbold, :hint, :maru, :keytop, :labelref, :ref, :pageref, :balloon].each {|e|
|
21
|
+
[:ttbold, :hint, :maru, :keytop, :labelref, :ref, :pageref, :balloon, :strong].each {|e|
|
21
22
|
Compiler.definline(e)
|
22
23
|
}
|
23
24
|
Compiler.defsingle(:dtp, 1)
|
@@ -61,6 +62,7 @@ module ReVIEW
|
|
61
62
|
"emlist" => "インラインリスト",
|
62
63
|
"cmd" => "コマンド",
|
63
64
|
"quote" => "引用",
|
65
|
+
"centering" => "中央揃え",
|
64
66
|
"flushright" => "右寄せ",
|
65
67
|
"note" => "ノート",
|
66
68
|
"memo" => "メモ",
|
@@ -142,7 +144,7 @@ module ReVIEW
|
|
142
144
|
when 1
|
143
145
|
if @chapter.number.to_s =~ /\A\d+\Z/
|
144
146
|
prefix = "第#{@chapter.number}章 "
|
145
|
-
elsif
|
147
|
+
elsif @chapter.number.present?
|
146
148
|
prefix = "#{@chapter.number} "
|
147
149
|
end
|
148
150
|
@section = 0
|
@@ -151,22 +153,22 @@ module ReVIEW
|
|
151
153
|
@subsubsubsection = 0
|
152
154
|
when 2
|
153
155
|
@section += 1
|
154
|
-
prefix =
|
156
|
+
prefix = @chapter.number.present? ? "#{@chapter.number}.#{@section} " : ""
|
155
157
|
@subsection = 0
|
156
158
|
@subsubsection = 0
|
157
159
|
@subsubsubsection = 0
|
158
160
|
when 3
|
159
161
|
@subsection += 1
|
160
|
-
prefix =
|
162
|
+
prefix = @chapter.number.present? ? "#{@chapter.number}.#{@section}.#{@subsection} " : ""
|
161
163
|
@subsubsection = 0
|
162
164
|
@subsubsubsection = 0
|
163
165
|
when 4
|
164
166
|
@subsubsection += 1
|
165
|
-
prefix =
|
167
|
+
prefix = @chapter.number.present? ? "#{@chapter.number}.#{@section}.#{@subsection}.#{@subsubsection} " : ""
|
166
168
|
@subsubsubsection = 0
|
167
169
|
when 5
|
168
170
|
@subsubsubsection += 1
|
169
|
-
prefix =
|
171
|
+
prefix = @chapter.number.present? ? "#{@chapter.number}.#{@section}.#{@subsection}.#{@subsubsection}.#{@subsubsubsection} " : ""
|
170
172
|
else
|
171
173
|
raise "caption level too deep or unsupported: #{level}"
|
172
174
|
end
|
@@ -234,9 +236,9 @@ module ReVIEW
|
|
234
236
|
def inline_list(id)
|
235
237
|
chapter, id = extract_chapter_id(id)
|
236
238
|
if get_chap(chapter).nil?
|
237
|
-
|
239
|
+
%Q[#{I18n.t("list")}#{I18n.t("format_number_without_chapter", [@chapter.list(id).number])}]
|
238
240
|
else
|
239
|
-
|
241
|
+
%Q[#{I18n.t("list")}#{I18n.t("format_number", [get_chap(chapter), @chapter.list(id).number])}]
|
240
242
|
end
|
241
243
|
|
242
244
|
end
|
@@ -245,14 +247,14 @@ module ReVIEW
|
|
245
247
|
blank
|
246
248
|
puts "◆→開始:#{@titles["list"]}←◆"
|
247
249
|
if get_chap.nil?
|
248
|
-
puts %Q[#{I18n.t("list")}#{I18n.t("format_number_without_chapter", [@chapter.list(id).number])}
|
250
|
+
puts %Q[#{I18n.t("list")}#{I18n.t("format_number_without_chapter", [@chapter.list(id).number])}#{I18n.t("caption_prefix_idgxml")}#{compile_inline(caption)}]
|
249
251
|
else
|
250
|
-
puts %Q[#{I18n.t("list")}#{I18n.t("format_number", [get_chap, @chapter.list(id).number])}
|
252
|
+
puts %Q[#{I18n.t("list")}#{I18n.t("format_number", [get_chap, @chapter.list(id).number])}#{I18n.t("caption_prefix_idgxml")}#{compile_inline(caption)}]
|
251
253
|
end
|
252
254
|
blank
|
253
255
|
end
|
254
256
|
|
255
|
-
def list_body(lines)
|
257
|
+
def list_body(id, lines)
|
256
258
|
lines.each do |line|
|
257
259
|
puts detab(line)
|
258
260
|
end
|
@@ -332,9 +334,9 @@ module ReVIEW
|
|
332
334
|
blank
|
333
335
|
puts "◆→開始:#{@titles["image"]}←◆"
|
334
336
|
if get_chap.nil?
|
335
|
-
puts "#{I18n.t("image")}#{I18n.t("format_number_without_chapter", [@chapter.image(id).number])}
|
337
|
+
puts "#{I18n.t("image")}#{I18n.t("format_number_without_chapter", [@chapter.image(id).number])}#{I18n.t("caption_prefix_idgxml")}#{compile_inline(caption)}"
|
336
338
|
else
|
337
|
-
puts "#{I18n.t("image")}#{I18n.t("format_number", [get_chap, @chapter.image(id).number])}
|
339
|
+
puts "#{I18n.t("image")}#{I18n.t("format_number", [get_chap, @chapter.image(id).number])}#{I18n.t("caption_prefix_idgxml")}#{compile_inline(caption)}"
|
338
340
|
end
|
339
341
|
blank
|
340
342
|
if @chapter.image(id).bound?
|
@@ -359,9 +361,9 @@ module ReVIEW
|
|
359
361
|
blank
|
360
362
|
puts "◆→開始:#{@titles["table"]}←◆"
|
361
363
|
if get_chap.nil?
|
362
|
-
puts "#{I18n.t("table")}#{I18n.t("format_number_without_chapter", [@chapter.table(id).number])}
|
364
|
+
puts "#{I18n.t("table")}#{I18n.t("format_number_without_chapter", [@chapter.table(id).number])}#{I18n.t("caption_prefix_idgxml")}#{compile_inline(caption)}"
|
363
365
|
else
|
364
|
-
puts "#{I18n.t("table")}#{I18n.t("format_number", [get_chap, @chapter.table(id).number])}
|
366
|
+
puts "#{I18n.t("table")}#{I18n.t("format_number", [get_chap, @chapter.table(id).number])}#{I18n.t("caption_prefix_idgxml")}#{compile_inline(caption)}"
|
365
367
|
end
|
366
368
|
blank
|
367
369
|
end
|
@@ -386,7 +388,10 @@ module ReVIEW
|
|
386
388
|
blank
|
387
389
|
end
|
388
390
|
|
389
|
-
def comment(
|
391
|
+
def comment(lines, comment = nil)
|
392
|
+
lines ||= []
|
393
|
+
lines.unshift comment unless comment.blank?
|
394
|
+
str = lines.join("")
|
390
395
|
puts "◆→DTP連絡:#{str}←◆"
|
391
396
|
end
|
392
397
|
|
@@ -394,7 +399,7 @@ module ReVIEW
|
|
394
399
|
puts "【注#{@chapter.footnote(id).number}】#{compile_inline(str)}"
|
395
400
|
end
|
396
401
|
|
397
|
-
|
402
|
+
def inline_fn(id)
|
398
403
|
"【注#{@chapter.footnote(id).number}】"
|
399
404
|
end
|
400
405
|
|
@@ -449,7 +454,7 @@ module ReVIEW
|
|
449
454
|
"#{str}◆→DTP連絡:「#{str}」に網カケ←◆"
|
450
455
|
end
|
451
456
|
|
452
|
-
|
457
|
+
def inline_i(str)
|
453
458
|
"▲#{str}☆"
|
454
459
|
end
|
455
460
|
|
@@ -457,6 +462,8 @@ module ReVIEW
|
|
457
462
|
"★#{str}☆"
|
458
463
|
end
|
459
464
|
|
465
|
+
alias :inline_strong inline_b
|
466
|
+
|
460
467
|
def inline_tt(str)
|
461
468
|
"△#{str}☆"
|
462
469
|
end
|
@@ -475,13 +482,13 @@ module ReVIEW
|
|
475
482
|
"@#{str}@◆→@〜@部分に下線←◆"
|
476
483
|
end
|
477
484
|
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
+
def inline_icon(id)
|
486
|
+
begin
|
487
|
+
return "◆→画像 #{@chapter.image(id).path.sub(/\A\.\//, "")}←◆"
|
488
|
+
rescue
|
489
|
+
warn "no such icon image: #{id}"
|
490
|
+
return "◆→画像 #{id}←◆"
|
491
|
+
end
|
485
492
|
end
|
486
493
|
|
487
494
|
def inline_bou(str)
|
@@ -594,6 +601,10 @@ module ReVIEW
|
|
594
601
|
base_parablock "flushright", lines, nil
|
595
602
|
end
|
596
603
|
|
604
|
+
def centering(lines)
|
605
|
+
base_parablock "centering", lines, nil
|
606
|
+
end
|
607
|
+
|
597
608
|
def note(lines, caption = nil)
|
598
609
|
base_parablock "note", lines, caption
|
599
610
|
end
|
@@ -676,7 +687,7 @@ module ReVIEW
|
|
676
687
|
warn "no such image: #{id}"
|
677
688
|
puts "◆→画像 #{id}←◆"
|
678
689
|
end
|
679
|
-
puts "図 #{compile_inline(caption)}" if
|
690
|
+
puts "図 #{compile_inline(caption)}" if caption.present?
|
680
691
|
blank
|
681
692
|
end
|
682
693
|
|
@@ -705,6 +716,11 @@ module ReVIEW
|
|
705
716
|
""
|
706
717
|
end
|
707
718
|
|
719
|
+
def inline_del(str)
|
720
|
+
# FIXME
|
721
|
+
""
|
722
|
+
end
|
723
|
+
|
708
724
|
def inline_code(str)
|
709
725
|
%Q[△#{str}☆]
|
710
726
|
end
|
@@ -726,7 +742,8 @@ module ReVIEW
|
|
726
742
|
def inline_chapref(id)
|
727
743
|
chs = ["", "「", "」"]
|
728
744
|
unless ReVIEW.book.param["chapref"].nil?
|
729
|
-
_chs =
|
745
|
+
_chs = convert_inencoding(ReVIEW.book.param["chapref"],
|
746
|
+
ReVIEW.book.param["inencoding"]).split(",")
|
730
747
|
if _chs.size != 3
|
731
748
|
error "--chapsplitter must have exactly 3 parameters with comma."
|
732
749
|
else
|
data/review.gemspec
CHANGED
@@ -1,126 +1,29 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "review/version"
|
5
4
|
|
6
|
-
Gem::Specification.new do |
|
7
|
-
|
8
|
-
|
5
|
+
Gem::Specification.new do |gem|
|
6
|
+
gem.name = "review"
|
7
|
+
gem.version = Review::VERSION
|
8
|
+
gem.platform = Gem::Platform::RUBY
|
9
|
+
gem.license = "LGPL"
|
10
|
+
gem.authors = ["kmuto", "takahashim"]
|
11
|
+
gem.email = "kmuto@debian.org"
|
12
|
+
gem.homepage = "http://github.com/kmuto/review"
|
13
|
+
gem.summary = "ReVIEW: a easy-to-use digital publishing system"
|
14
|
+
gem.description = "ReVIEW is a digital publishing system for books and ebooks. It supports InDesign, EPUB and LaTeX."
|
15
|
+
gem.required_rubygems_version = Gem::Requirement.new(">= 0") if gem.respond_to? :required_rubygems_version=
|
16
|
+
gem.date = "2013-03-29"
|
9
17
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
s.email = "kmuto@debian.org"
|
15
|
-
s.executables = ["review-check", "review-checkdep", "review-compile", "review-epubmaker", "review-epubmaker-ng", "review-index", "review-pdfmaker", "review-preproc", "review-validate", "review-vol"]
|
16
|
-
s.extra_rdoc_files = [
|
18
|
+
gem.files = `git ls-files`.split("\n")
|
19
|
+
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
20
|
+
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
21
|
+
gem.extra_rdoc_files = [
|
17
22
|
"ChangeLog",
|
18
23
|
"README.rdoc"
|
19
24
|
]
|
20
|
-
|
21
|
-
".travis.yml",
|
22
|
-
"COPYING",
|
23
|
-
"ChangeLog",
|
24
|
-
"README.rdoc",
|
25
|
-
"Rakefile",
|
26
|
-
"VERSION",
|
27
|
-
"bin/review-check",
|
28
|
-
"bin/review-checkdep",
|
29
|
-
"bin/review-compile",
|
30
|
-
"bin/review-epubmaker",
|
31
|
-
"bin/review-epubmaker-ng",
|
32
|
-
"bin/review-index",
|
33
|
-
"bin/review-pdfmaker",
|
34
|
-
"bin/review-preproc",
|
35
|
-
"bin/review-validate",
|
36
|
-
"bin/review-vol",
|
37
|
-
"debian/README.Debian",
|
38
|
-
"debian/README.source",
|
39
|
-
"debian/changelog",
|
40
|
-
"debian/compat",
|
41
|
-
"debian/control",
|
42
|
-
"debian/copyright",
|
43
|
-
"debian/docs",
|
44
|
-
"debian/manpage.1.ex",
|
45
|
-
"debian/patches/path.diff",
|
46
|
-
"debian/patches/series",
|
47
|
-
"debian/review.install",
|
48
|
-
"debian/review.links",
|
49
|
-
"debian/rules",
|
50
|
-
"debian/source/format",
|
51
|
-
"doc/format.rdoc",
|
52
|
-
"doc/format_idg.rdoc",
|
53
|
-
"doc/libepubmaker/sample.yaml",
|
54
|
-
"doc/quickstart.rdoc",
|
55
|
-
"doc/ruby-uuid/README",
|
56
|
-
"doc/ruby-uuid/README.ja",
|
57
|
-
"doc/sample.css",
|
58
|
-
"doc/sample.yaml",
|
59
|
-
"lib/epubmaker.rb",
|
60
|
-
"lib/epubmaker/content.rb",
|
61
|
-
"lib/epubmaker/epubv2.rb",
|
62
|
-
"lib/epubmaker/epubv3.rb",
|
63
|
-
"lib/epubmaker/producer.rb",
|
64
|
-
"lib/epubmaker/resource.rb",
|
65
|
-
"lib/lineinput.rb",
|
66
|
-
"lib/review.rb",
|
67
|
-
"lib/review/book.rb",
|
68
|
-
"lib/review/builder.rb",
|
69
|
-
"lib/review/compat.rb",
|
70
|
-
"lib/review/compiler.rb",
|
71
|
-
"lib/review/epubbuilder.rb",
|
72
|
-
"lib/review/ewbbuilder.rb",
|
73
|
-
"lib/review/exception.rb",
|
74
|
-
"lib/review/htmlbuilder.rb",
|
75
|
-
"lib/review/htmllayout.rb",
|
76
|
-
"lib/review/htmlutils.rb",
|
77
|
-
"lib/review/i18n.rb",
|
78
|
-
"lib/review/i18n.yaml",
|
79
|
-
"lib/review/idgxmlbuilder.rb",
|
80
|
-
"lib/review/index.rb",
|
81
|
-
"lib/review/latexbuilder.rb",
|
82
|
-
"lib/review/latexindex.rb",
|
83
|
-
"lib/review/latexutils.rb",
|
84
|
-
"lib/review/preprocessor.rb",
|
85
|
-
"lib/review/textbuilder.rb",
|
86
|
-
"lib/review/textutils.rb",
|
87
|
-
"lib/review/tocparser.rb",
|
88
|
-
"lib/review/tocprinter.rb",
|
89
|
-
"lib/review/topbuilder.rb",
|
90
|
-
"lib/review/unfold.rb",
|
91
|
-
"lib/review/volume.rb",
|
92
|
-
"lib/uuid.rb",
|
93
|
-
"review.gemspec",
|
94
|
-
"test/CHAPS",
|
95
|
-
"test/bib.re",
|
96
|
-
"test/test.re",
|
97
|
-
"test/test_book.rb",
|
98
|
-
"test/test_builder.rb",
|
99
|
-
"test/test_epubmaker.rb",
|
100
|
-
"test/test_helper.rb",
|
101
|
-
"test/test_htmlbuilder.rb",
|
102
|
-
"test/test_htmlutils.rb",
|
103
|
-
"test/test_i18n.rb",
|
104
|
-
"test/test_idgxmlbuilder.rb",
|
105
|
-
"test/test_latexbuilder.rb",
|
106
|
-
"test/test_lineinput.rb",
|
107
|
-
"test/test_preprocessor.rb",
|
108
|
-
"test/test_textutils.rb",
|
109
|
-
"test/test_topbuilder.rb",
|
110
|
-
"test/test_uuid.rb"
|
111
|
-
]
|
112
|
-
s.homepage = "http://github.com/kmuto/review"
|
113
|
-
s.require_paths = ["lib"]
|
114
|
-
s.rubygems_version = "1.8.10"
|
115
|
-
s.summary = "ReVIEW: a easy-to-use digital publishing system"
|
116
|
-
|
117
|
-
if s.respond_to? :specification_version then
|
118
|
-
s.specification_version = 3
|
25
|
+
gem.require_paths = ["lib"]
|
119
26
|
|
120
|
-
|
121
|
-
else
|
122
|
-
end
|
123
|
-
else
|
124
|
-
end
|
27
|
+
gem.add_development_dependency("rake", ["0.8.7"])
|
125
28
|
end
|
126
29
|
|