review 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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