review 1.0.0 → 1.1.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 (100) hide show
  1. data/.travis.yml +1 -2
  2. data/ChangeLog +65 -0
  3. data/Gemfile +5 -0
  4. data/README.rdoc +6 -1
  5. data/Rakefile +14 -28
  6. data/bin/review-check +9 -21
  7. data/bin/review-compile +45 -12
  8. data/bin/review-epubmaker +477 -220
  9. data/bin/review-epubmaker-ng +5 -14
  10. data/bin/review-index +4 -2
  11. data/bin/review-init +94 -0
  12. data/bin/review-pdfmaker +70 -287
  13. data/bin/review-preproc +5 -2
  14. data/bin/review-vol +4 -11
  15. data/debian/changelog +3 -3
  16. data/debian/copyright +5 -3
  17. data/debian/docs +1 -0
  18. data/doc/format.rdoc +57 -11
  19. data/doc/quickstart.rdoc +4 -4
  20. data/doc/sample.yaml +11 -7
  21. data/lib/epubmaker.rb +1 -1
  22. data/lib/epubmaker/epubv2.rb +26 -27
  23. data/lib/epubmaker/epubv3.rb +13 -13
  24. data/lib/epubmaker/producer.rb +1 -1
  25. data/lib/review.rb +3 -4
  26. data/lib/review/book.rb +17 -581
  27. data/lib/review/book/base.rb +247 -0
  28. data/lib/review/book/chapter.rb +81 -0
  29. data/lib/review/book/compilable.rb +163 -0
  30. data/lib/review/book/index.rb +339 -0
  31. data/lib/review/book/page_metric.rb +38 -0
  32. data/lib/review/book/parameters.rb +97 -0
  33. data/lib/review/book/part.rb +44 -0
  34. data/lib/review/book/volume.rb +65 -0
  35. data/lib/review/builder.rb +34 -40
  36. data/lib/review/compiler.rb +32 -13
  37. data/lib/review/configure.rb +38 -0
  38. data/lib/review/ewbbuilder.rb +23 -21
  39. data/lib/review/extentions.rb +3 -0
  40. data/lib/review/extentions/object.rb +9 -0
  41. data/lib/review/{compat.rb → extentions/string.rb} +11 -0
  42. data/lib/review/htmlbuilder.rb +162 -74
  43. data/lib/review/htmlutils.rb +28 -1
  44. data/lib/review/i18n.yaml +11 -0
  45. data/lib/review/idgxmlbuilder.rb +119 -35
  46. data/lib/review/inaobuilder.rb +355 -0
  47. data/lib/review/latexbuilder.rb +133 -59
  48. data/lib/review/latexutils.rb +15 -6
  49. data/lib/review/makerhelper.rb +59 -0
  50. data/lib/review/markdownbuilder.rb +129 -0
  51. data/lib/review/preprocessor.rb +20 -7
  52. data/lib/review/review.tex.erb +250 -0
  53. data/lib/review/textutils.rb +28 -3
  54. data/lib/review/tocparser.rb +20 -12
  55. data/lib/review/tocprinter.rb +7 -3
  56. data/lib/review/topbuilder.rb +44 -27
  57. data/lib/review/version.rb +3 -0
  58. data/review.gemspec +20 -117
  59. data/test/book_test_helper.rb +35 -0
  60. data/test/sample-book/README.md +5 -0
  61. data/test/sample-book/src/CHAPS +2 -0
  62. data/test/sample-book/src/PREDEF +1 -0
  63. data/test/sample-book/src/Rakefile +26 -0
  64. data/test/sample-book/src/_cover.html +3 -0
  65. data/test/sample-book/src/ch01.re +71 -0
  66. data/test/sample-book/src/ch02.re +3 -0
  67. data/test/sample-book/src/config.yml +55 -0
  68. data/test/sample-book/src/images/ch01-imgsample.jpg +0 -0
  69. data/test/sample-book/src/images/cover.jpg +0 -0
  70. data/test/sample-book/src/main.css +251 -0
  71. data/test/sample-book/src/preface.re +15 -0
  72. data/test/sample-book/src/sty/jumoline.sty +310 -0
  73. data/test/sample-book/src/sty/samplemacro.sty +21 -0
  74. data/test/sample-book/src/vendor/jumoline/README +29 -0
  75. data/test/sample-book/src/vendor/jumoline/jumoline.dtx +2988 -0
  76. data/test/sample-book/src/vendor/jumoline/jumoline.ins +6 -0
  77. data/test/test_book.rb +26 -646
  78. data/test/test_book_chapter.rb +418 -0
  79. data/test/test_book_parameter.rb +42 -0
  80. data/test/test_book_part.rb +53 -0
  81. data/test/test_builder.rb +17 -10
  82. data/test/test_compiler.rb +46 -0
  83. data/test/test_epubmaker.rb +1 -1
  84. data/test/test_epubmaker_cmd.rb +36 -0
  85. data/test/test_helper.rb +17 -0
  86. data/test/test_htmlbuilder.rb +156 -24
  87. data/test/test_htmlutils.rb +4 -0
  88. data/test/test_i18n.rb +6 -2
  89. data/test/test_idgxmlbuilder.rb +33 -11
  90. data/test/test_inaobuilder.rb +247 -0
  91. data/test/test_index.rb +31 -0
  92. data/test/test_latexbuilder.rb +115 -35
  93. data/test/test_makerhelper.rb +50 -0
  94. data/test/test_pdfmaker_cmd.rb +36 -0
  95. data/test/test_preprocessor.rb +7 -7
  96. data/test/test_topbuilder.rb +6 -7
  97. data/test/test_uuid.rb +1 -0
  98. metadata +117 -12
  99. data/lib/review/index.rb +0 -323
  100. data/lib/review/volume.rb +0 -66
@@ -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
- end
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
@@ -12,13 +12,12 @@
12
12
 
13
13
  require 'review/preprocessor'
14
14
  require 'review/book'
15
- require 'review/volume'
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/, '') # remove BOM
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
@@ -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
- print_node idx+1, section
70
- print_children section
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(html, "目次", File.join(book.basedir, "layouts", "layout.erb")).result
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
@@ -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 !@chapter.number.nil? && !@chapter.number.to_s.empty?
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 = (!@chapter.number.nil? && !@chapter.number.to_s.empty?) ? "#{@chapter.number}.#{@section} " : ""
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 = (!@chapter.number.nil? && !@chapter.number.to_s.empty?) ? "#{@chapter.number}.#{@section}.#{@subsection} " : ""
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 = (!@chapter.number.nil? && !@chapter.number.to_s.empty?) ? "#{@chapter.number}.#{@section}.#{@subsection}.#{@subsubsection} " : ""
167
+ prefix = @chapter.number.present? ? "#{@chapter.number}.#{@section}.#{@subsection}.#{@subsubsection} " : ""
166
168
  @subsubsubsection = 0
167
169
  when 5
168
170
  @subsubsubsection += 1
169
- prefix = (!@chapter.number.nil? && !@chapter.number.to_s.empty?) ? "#{@chapter.number}.#{@section}.#{@subsection}.#{@subsubsection}.#{@subsubsubsection} " : ""
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
- puts %Q[#{I18n.t("list")}#{I18n.t("format_number_without_chapter", [@chapter.list(id).number])}]
239
+ %Q[#{I18n.t("list")}#{I18n.t("format_number_without_chapter", [@chapter.list(id).number])}]
238
240
  else
239
- puts %Q[#{I18n.t("list")}#{I18n.t("format_number", [get_chap(chapter), @chapter.list(id).number])}]
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])} #{compile_inline(caption)}]
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])} #{compile_inline(caption)}]
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])} #{compile_inline(caption)}"
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])} #{compile_inline(caption)}"
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])} #{compile_inline(caption)}"
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])} #{compile_inline(caption)}"
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(str)
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
- def inline_fn(id)
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
- def inline_i(str)
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
- def inline_icon(id)
479
- begin
480
- return "◆→画像 #{@chapter.image(id).path.sub(/\A\.\//, "")}←◆"
481
- rescue
482
- warn "no such icon image: #{id}"
483
- return "◆→画像 #{id}←◆"
484
- end
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 !caption.nil? && !caption.empty?
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 = NKF.nkf("-w", ReVIEW.book.param["chapref"]).split(",")
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
@@ -0,0 +1,3 @@
1
+ module Review
2
+ VERSION = "1.1.0"
3
+ end
@@ -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 |s|
7
- s.name = "review"
8
- s.version = "1.0.0"
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
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["kmuto", "takahashim"]
12
- s.date = "2012-01-30"
13
- s.description = "ReVIEW is a digital publishing system for books and ebooks. It supports InDesign, EPUB and LaTeX."
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
- s.files = [
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
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
121
- else
122
- end
123
- else
124
- end
27
+ gem.add_development_dependency("rake", ["0.8.7"])
125
28
  end
126
29