review 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +36 -0
  3. data/.rubocop.yml +1 -0
  4. data/ChangeLog +102 -0
  5. data/README.rdoc +2 -2
  6. data/bin/review-check +18 -16
  7. data/bin/review-compile +49 -42
  8. data/bin/review-epubmaker +23 -993
  9. data/bin/review-epubmaker-legacy +1024 -0
  10. data/bin/review-index +17 -15
  11. data/bin/review-init +39 -9
  12. data/bin/review-pdfmaker +124 -89
  13. data/bin/review-preproc +16 -14
  14. data/bin/review-vol +17 -15
  15. data/debian/docs +1 -1
  16. data/doc/catalog.rdoc +34 -0
  17. data/doc/format.rdoc +16 -2
  18. data/doc/libepubmaker/{config.yaml → config.yml} +63 -19
  19. data/doc/quickstart.rdoc +1 -1
  20. data/doc/{sample.yaml → sample.yml} +0 -0
  21. data/lib/epubmaker.rb +1 -1
  22. data/lib/epubmaker/content.rb +9 -1
  23. data/lib/epubmaker/epubv2.rb +59 -7
  24. data/lib/epubmaker/epubv3.rb +14 -9
  25. data/lib/epubmaker/producer.rb +68 -27
  26. data/lib/epubmaker/resource.rb +3 -1
  27. data/lib/lineinput.rb +2 -2
  28. data/lib/review/book/base.rb +125 -24
  29. data/lib/review/book/chapter.rb +42 -0
  30. data/lib/review/book/compilable.rb +23 -4
  31. data/lib/review/book/image_finder.rb +64 -0
  32. data/lib/review/book/index.rb +64 -50
  33. data/lib/review/book/page_metric.rb +1 -1
  34. data/lib/review/builder.rb +19 -12
  35. data/lib/review/catalog.rb +47 -0
  36. data/lib/review/compiler.rb +3 -2
  37. data/lib/review/configure.rb +5 -3
  38. data/lib/review/epubmaker.rb +130 -46
  39. data/lib/review/ewbbuilder.rb +27 -31
  40. data/lib/review/extentions/string.rb +4 -4
  41. data/lib/review/htmlbuilder.rb +140 -79
  42. data/lib/review/htmllayout.rb +26 -4
  43. data/lib/review/htmlutils.rb +20 -1
  44. data/lib/review/i18n.rb +5 -2
  45. data/lib/review/{i18n.yaml → i18n.yml} +4 -2
  46. data/lib/review/idgxmlbuilder.rb +65 -39
  47. data/lib/review/latexbuilder.rb +72 -24
  48. data/lib/review/latexutils.rb +3 -1
  49. data/lib/review/makerhelper.rb +8 -2
  50. data/lib/review/preprocessor.rb +20 -20
  51. data/lib/review/review.tex.erb +4 -0
  52. data/lib/review/sec_counter.rb +9 -11
  53. data/lib/review/tocparser.rb +2 -2
  54. data/lib/review/tocprinter.rb +12 -12
  55. data/lib/review/topbuilder.rb +15 -15
  56. data/lib/review/version.rb +1 -1
  57. data/lib/uuid.rb +7 -7
  58. data/review.gemspec +2 -2
  59. data/rubocop-todo.yml +443 -0
  60. data/test/sample-book/src/config.yml +2 -2
  61. data/test/sample-book/src/{main.css → style.css} +0 -0
  62. data/test/test_book.rb +46 -48
  63. data/test/test_book_chapter.rb +25 -13
  64. data/test/test_builder.rb +3 -3
  65. data/test/test_catalog.rb +107 -0
  66. data/test/test_epubmaker.rb +6 -6
  67. data/test/test_htmlbuilder.rb +160 -39
  68. data/test/test_htmlutils.rb +22 -0
  69. data/test/test_i18n.rb +2 -2
  70. data/test/test_idgxmlbuilder.rb +33 -47
  71. data/test/test_image_finder.rb +82 -0
  72. data/test/test_inaobuilder.rb +1 -1
  73. data/test/test_latexbuilder.rb +35 -39
  74. data/test/test_lineinput.rb +2 -2
  75. data/test/test_markdownbuilder.rb +2 -2
  76. data/test/test_topbuilder.rb +39 -23
  77. metadata +23 -14
  78. data/bin/review-epubmaker-ng +0 -23
@@ -183,10 +183,10 @@ class LineInputTest < Test::Unit::TestCase
183
183
  data = ''
184
184
  li.until_terminator(%r<\A//\}>) {|l| data << l }
185
185
  assert_equal "jkl\nmno", data
186
- assert_equal 7, li.lineno
186
+ assert_equal 8, li.lineno
187
187
  end
188
188
 
189
- def test_until_terminator
189
+ def test_until_terminator2
190
190
  io = StringIO.new("abc\ndef\n//}\nghi\n//}")
191
191
  li = LineInput.new(io)
192
192
 
@@ -11,13 +11,13 @@ class MARKDOWNBuilderTest < Test::Unit::TestCase
11
11
 
12
12
  def setup
13
13
  @builder = MARKDOWNBuilder.new()
14
- @param = {
14
+ @config = {
15
15
  "secnolevel" => 2, # for IDGXMLBuilder, HTMLBuilder
16
16
  "inencoding" => "UTF-8",
17
17
  "outencoding" => "UTF-8",
18
18
  "stylesheet" => nil, # for HTMLBuilder
19
19
  }
20
- ReVIEW.book.param = @param
20
+ ReVIEW.book.config = @config
21
21
  @compiler = ReVIEW::Compiler.new(@builder)
22
22
  @chapter = Book::Chapter.new(Book::Base.new(nil), 1, '-', nil, StringIO.new)
23
23
  location = Location.new(nil, nil)
@@ -11,12 +11,12 @@ class TOPBuidlerTest < Test::Unit::TestCase
11
11
 
12
12
  def setup
13
13
  @builder = TOPBuilder.new()
14
- @param = {
14
+ @config = {
15
15
  "secnolevel" => 2,
16
16
  "inencoding" => "UTF-8",
17
17
  "outencoding" => "UTF-8"
18
18
  }
19
- ReVIEW.book.param = @param
19
+ ReVIEW.book.config = @config
20
20
  @compiler = ReVIEW::Compiler.new(@builder)
21
21
  @chapter = Book::Chapter.new(nil, 1, '-', nil, StringIO.new)
22
22
  location = Location.new(nil, nil)
@@ -36,7 +36,7 @@ class TOPBuidlerTest < Test::Unit::TestCase
36
36
  end
37
37
 
38
38
  def test_headline_level1_without_secno
39
- @param["secnolevel"] = 0
39
+ @config["secnolevel"] = 0
40
40
  @builder.headline(1,"test","this is test.")
41
41
  assert_equal %Q|■H1■this is test.\n|, @builder.raw_result
42
42
  end
@@ -52,7 +52,7 @@ class TOPBuidlerTest < Test::Unit::TestCase
52
52
  end
53
53
 
54
54
  def test_headline_level3_with_secno
55
- @param["secnolevel"] = 3
55
+ @config["secnolevel"] = 3
56
56
  @builder.headline(3,"test","this is test.")
57
57
  assert_equal %Q|■H3■1.0.1 this is test.\n|, @builder.raw_result
58
58
  end
@@ -185,7 +185,7 @@ class TOPBuidlerTest < Test::Unit::TestCase
185
185
  def test_image
186
186
  def @chapter.image(id)
187
187
  item = Book::ImageIndex::Item.new("sampleimg",1)
188
- item.instance_eval{@pathes=["./images/chap1-sampleimg.png"]}
188
+ item.instance_eval{@path="./images/chap1-sampleimg.png"}
189
189
  item
190
190
  end
191
191
 
@@ -196,7 +196,7 @@ class TOPBuidlerTest < Test::Unit::TestCase
196
196
  def test_image_with_metric
197
197
  def @chapter.image(id)
198
198
  item = Book::ImageIndex::Item.new("sampleimg",1)
199
- item.instance_eval{@pathes=["./images/chap1-sampleimg.png"]}
199
+ item.instance_eval{@path="./images/chap1-sampleimg.png"}
200
200
  item
201
201
  end
202
202
 
@@ -235,45 +235,61 @@ class TOPBuidlerTest < Test::Unit::TestCase
235
235
 
236
236
  def test_block_raw0
237
237
  @builder.raw("<>!\"\\n& ")
238
- expect =<<-EOS
239
- <>!"
240
- &
241
- EOS
238
+ expect = %Q(<>!\"\n& )
242
239
  assert_equal expect.chomp, @builder.raw_result
243
240
  end
244
241
 
245
242
  def test_block_raw1
246
243
  @builder.raw("|top|<>!\"\\n& ")
247
- expect =<<-EOS
248
- <>!"
249
- &
250
- EOS
244
+ expect = %Q(<>!\"\n& )
251
245
  assert_equal expect.chomp, @builder.raw_result
252
246
  end
253
247
 
254
248
  def test_block_raw2
255
249
  @builder.raw("|top, latex|<>!\"\\n& ")
256
- expect =<<-EOS
257
- <>!\"
258
- &
259
- EOS
250
+ expect = %Q(<>!\"\n& )
260
251
  assert_equal expect.chomp, @builder.raw_result
261
252
  end
262
253
 
263
254
  def test_block_raw3
264
255
  @builder.raw("|latex, idgxml|<>!\"\\n& ")
265
- expect =<<-EOS
266
- EOS
256
+ expect = ''
267
257
  assert_equal expect.chomp, @builder.raw_result
268
258
  end
269
259
 
270
260
  def test_block_raw4
271
261
  @builder.raw("|top <>!\"\\n& ")
262
+ expect = %Q(|top <>!\"\n& )
263
+ assert_equal expect.chomp, @builder.raw_result
264
+ end
265
+
266
+ def column_helper(review)
267
+ chap_singleton = class << @chapter; self; end
268
+ chap_singleton.send(:define_method, :content) { review }
269
+ @compiler.compile(@chapter)
270
+ end
271
+
272
+ def test_column_ref
273
+ review =<<-EOS
274
+ ===[column]{foo} test
275
+
276
+ inside column
277
+
278
+ === next level
279
+
280
+ this is @<column>{foo}.
281
+ EOS
272
282
  expect =<<-EOS
273
- |top <>!\"
274
- &
283
+ ◆→開始:コラム←◆
284
+ ■test
285
+ inside column
286
+ ◆→終了:コラム←◆
287
+
288
+ ■H3■next level
289
+ this is test.
275
290
  EOS
276
- assert_equal expect.chomp, @builder.raw_result
291
+
292
+ assert_equal expect, column_helper(review)
277
293
  end
278
294
 
279
295
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: review
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - kmuto
@@ -9,22 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-04-02 00:00:00.000000000 Z
12
+ date: 2014-06-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '='
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: 0.8.7
20
+ version: '0'
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - '='
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: 0.8.7
27
+ version: '0'
28
28
  description: Re:VIEW is a digital publishing system for books and ebooks. It supports
29
29
  InDesign, EPUB and LaTeX.
30
30
  email: kmuto@debian.org
@@ -33,7 +33,7 @@ executables:
33
33
  - review-checkdep
34
34
  - review-compile
35
35
  - review-epubmaker
36
- - review-epubmaker-ng
36
+ - review-epubmaker-legacy
37
37
  - review-index
38
38
  - review-init
39
39
  - review-pdfmaker
@@ -45,6 +45,8 @@ extra_rdoc_files:
45
45
  - ChangeLog
46
46
  - README.rdoc
47
47
  files:
48
+ - ".gitignore"
49
+ - ".rubocop.yml"
48
50
  - ".travis.yml"
49
51
  - COPYING
50
52
  - ChangeLog
@@ -55,7 +57,7 @@ files:
55
57
  - bin/review-checkdep
56
58
  - bin/review-compile
57
59
  - bin/review-epubmaker
58
- - bin/review-epubmaker-ng
60
+ - bin/review-epubmaker-legacy
59
61
  - bin/review-index
60
62
  - bin/review-init
61
63
  - bin/review-pdfmaker
@@ -76,14 +78,15 @@ files:
76
78
  - debian/review.links
77
79
  - debian/rules
78
80
  - debian/source/format
81
+ - doc/catalog.rdoc
79
82
  - doc/format.rdoc
80
83
  - doc/format_idg.rdoc
81
- - doc/libepubmaker/config.yaml
84
+ - doc/libepubmaker/config.yml
82
85
  - doc/quickstart.rdoc
83
86
  - doc/ruby-uuid/README
84
87
  - doc/ruby-uuid/README.ja
85
88
  - doc/sample.css
86
- - doc/sample.yaml
89
+ - doc/sample.yml
87
90
  - lib/epubmaker.rb
88
91
  - lib/epubmaker/content.rb
89
92
  - lib/epubmaker/epubv2.rb
@@ -96,12 +99,14 @@ files:
96
99
  - lib/review/book/base.rb
97
100
  - lib/review/book/chapter.rb
98
101
  - lib/review/book/compilable.rb
102
+ - lib/review/book/image_finder.rb
99
103
  - lib/review/book/index.rb
100
104
  - lib/review/book/page_metric.rb
101
105
  - lib/review/book/parameters.rb
102
106
  - lib/review/book/part.rb
103
107
  - lib/review/book/volume.rb
104
108
  - lib/review/builder.rb
109
+ - lib/review/catalog.rb
105
110
  - lib/review/compiler.rb
106
111
  - lib/review/configure.rb
107
112
  - lib/review/epubbuilder.rb
@@ -115,7 +120,7 @@ files:
115
120
  - lib/review/htmllayout.rb
116
121
  - lib/review/htmlutils.rb
117
122
  - lib/review/i18n.rb
118
- - lib/review/i18n.yaml
123
+ - lib/review/i18n.yml
119
124
  - lib/review/idgxmlbuilder.rb
120
125
  - lib/review/inaobuilder.rb
121
126
  - lib/review/latexbuilder.rb
@@ -135,6 +140,7 @@ files:
135
140
  - lib/review/version.rb
136
141
  - lib/uuid.rb
137
142
  - review.gemspec
143
+ - rubocop-todo.yml
138
144
  - test/CHAPS
139
145
  - test/bib.re
140
146
  - test/book_test_helper.rb
@@ -148,10 +154,10 @@ files:
148
154
  - test/sample-book/src/config.yml
149
155
  - test/sample-book/src/images/ch01-imgsample.jpg
150
156
  - test/sample-book/src/images/cover.jpg
151
- - test/sample-book/src/main.css
152
157
  - test/sample-book/src/preface.re
153
158
  - test/sample-book/src/sty/jumoline.sty
154
159
  - test/sample-book/src/sty/reviewmacro.sty
160
+ - test/sample-book/src/style.css
155
161
  - test/sample-book/src/vendor/jumoline/README
156
162
  - test/sample-book/src/vendor/jumoline/jumoline.dtx
157
163
  - test/sample-book/src/vendor/jumoline/jumoline.ins
@@ -161,6 +167,7 @@ files:
161
167
  - test/test_book_parameter.rb
162
168
  - test/test_book_part.rb
163
169
  - test/test_builder.rb
170
+ - test/test_catalog.rb
164
171
  - test/test_compiler.rb
165
172
  - test/test_epubmaker.rb
166
173
  - test/test_epubmaker_cmd.rb
@@ -169,6 +176,7 @@ files:
169
176
  - test/test_htmlutils.rb
170
177
  - test/test_i18n.rb
171
178
  - test/test_idgxmlbuilder.rb
179
+ - test/test_image_finder.rb
172
180
  - test/test_inaobuilder.rb
173
181
  - test/test_index.rb
174
182
  - test/test_latexbuilder.rb
@@ -218,10 +226,10 @@ test_files:
218
226
  - test/sample-book/src/config.yml
219
227
  - test/sample-book/src/images/ch01-imgsample.jpg
220
228
  - test/sample-book/src/images/cover.jpg
221
- - test/sample-book/src/main.css
222
229
  - test/sample-book/src/preface.re
223
230
  - test/sample-book/src/sty/jumoline.sty
224
231
  - test/sample-book/src/sty/reviewmacro.sty
232
+ - test/sample-book/src/style.css
225
233
  - test/sample-book/src/vendor/jumoline/README
226
234
  - test/sample-book/src/vendor/jumoline/jumoline.dtx
227
235
  - test/sample-book/src/vendor/jumoline/jumoline.ins
@@ -231,6 +239,7 @@ test_files:
231
239
  - test/test_book_parameter.rb
232
240
  - test/test_book_part.rb
233
241
  - test/test_builder.rb
242
+ - test/test_catalog.rb
234
243
  - test/test_compiler.rb
235
244
  - test/test_epubmaker.rb
236
245
  - test/test_epubmaker_cmd.rb
@@ -239,6 +248,7 @@ test_files:
239
248
  - test/test_htmlutils.rb
240
249
  - test/test_i18n.rb
241
250
  - test/test_idgxmlbuilder.rb
251
+ - test/test_image_finder.rb
242
252
  - test/test_inaobuilder.rb
243
253
  - test/test_index.rb
244
254
  - test/test_latexbuilder.rb
@@ -250,4 +260,3 @@ test_files:
250
260
  - test/test_textutils.rb
251
261
  - test/test_topbuilder.rb
252
262
  - test/test_uuid.rb
253
- has_rdoc:
@@ -1,23 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # encoding: utf-8
3
- #
4
- # Copyright (c) 2010-2013 Kenshi Muto and Masayoshi Takahashi
5
- #
6
- # This program is free software.
7
- # You can distribute or modify this program under the terms of
8
- # the GNU LGPL, Lesser General Public License version 2.1.
9
- # For details of the GNU LGPL, see the file "COPYING".
10
- #
11
- require 'pathname'
12
- bindir = Pathname.new(__FILE__).realpath.dirname
13
- $LOAD_PATH.unshift((bindir + '../lib').realpath)
14
- require 'review/epubmaker'
15
-
16
- rv = ReVIEW::EPUBMaker.new
17
- if ARGV.size < 1 || !File.exist?(ARGV[0])
18
- STDERR.puts "Usage: #{$0} YAML_filename [export_filename]"
19
- exit 0
20
- end
21
-
22
- bookname = (ARGV.size > 1) ? ARGV[1] : nil
23
- rv.produce(ARGV[0], bookname)