review 5.1.1 → 5.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-tex.yml +5 -1
  3. data/.github/workflows/ruby-win.yml +5 -1
  4. data/.github/workflows/ruby.yml +5 -1
  5. data/.rubocop.yml +6 -2
  6. data/NEWS.ja.md +48 -0
  7. data/NEWS.md +48 -1
  8. data/bin/review-compile +8 -15
  9. data/bin/review-preproc +28 -34
  10. data/doc/config.yml.sample +2 -0
  11. data/doc/writing_vertical.ja.md +6 -0
  12. data/lib/review/builder.rb +34 -40
  13. data/lib/review/compiler.rb +59 -43
  14. data/lib/review/epubmaker.rb +24 -38
  15. data/lib/review/epubmaker/producer.rb +3 -4
  16. data/lib/review/exception.rb +7 -0
  17. data/lib/review/htmlbuilder.rb +51 -20
  18. data/lib/review/idgxmlbuilder.rb +19 -18
  19. data/lib/review/idgxmlmaker.rb +12 -13
  20. data/lib/review/img_math.rb +11 -18
  21. data/lib/review/index_builder.rb +6 -15
  22. data/lib/review/latexbuilder.rb +38 -43
  23. data/lib/review/loggable.rb +27 -0
  24. data/lib/review/logger.rb +48 -0
  25. data/lib/review/makerhelper.rb +5 -1
  26. data/lib/review/markdownbuilder.rb +5 -4
  27. data/lib/review/pdfmaker.rb +23 -21
  28. data/lib/review/plaintextbuilder.rb +8 -8
  29. data/lib/review/preprocessor.rb +94 -296
  30. data/lib/review/preprocessor/directive.rb +35 -0
  31. data/lib/review/preprocessor/line.rb +34 -0
  32. data/lib/review/preprocessor/repository.rb +177 -0
  33. data/lib/review/rstbuilder.rb +1 -1
  34. data/lib/review/template.rb +5 -1
  35. data/lib/review/textmaker.rb +12 -13
  36. data/lib/review/tocprinter.rb +1 -1
  37. data/lib/review/topbuilder.rb +7 -7
  38. data/lib/review/version.rb +1 -1
  39. data/lib/review/webmaker.rb +13 -14
  40. data/review.gemspec +1 -1
  41. data/samples/sample-book/src/lib/tasks/review.rake +3 -1
  42. data/samples/sample-book/src/lib/tasks/z01_copy_sty.rake +2 -1
  43. data/samples/syntax-book/lib/tasks/z01_copy_sty.rake +2 -1
  44. data/templates/latex/review-jlreq/review-base.sty +3 -5
  45. data/templates/latex/review-jlreq/review-jlreq.cls +4 -3
  46. data/templates/latex/review-jsbook/review-base.sty +3 -3
  47. data/templates/latex/review-jsbook/review-jsbook.cls +1 -1
  48. data/test/test_builder.rb +8 -8
  49. data/test/test_epubmaker.rb +13 -8
  50. data/test/test_epubmaker_cmd.rb +13 -2
  51. data/test/test_htmlbuilder.rb +68 -26
  52. data/test/test_idgxmlbuilder.rb +31 -23
  53. data/test/test_latexbuilder.rb +30 -22
  54. data/test/test_latexbuilder_v2.rb +18 -10
  55. data/test/test_plaintextbuilder.rb +30 -22
  56. data/test/test_preprocessor.rb +188 -1
  57. data/test/test_topbuilder.rb +26 -18
  58. metadata +12 -8
@@ -14,6 +14,8 @@ class TOPBuidlerTest < Test::Unit::TestCase
14
14
  @config['language'] = 'ja'
15
15
  @book = Book::Base.new
16
16
  @book.config = @config
17
+ @log_io = StringIO.new
18
+ ReVIEW.logger = ReVIEW::Logger.new(@log_io)
17
19
  @compiler = ReVIEW::Compiler.new(@builder)
18
20
  @chapter = Book::Chapter.new(@book, 1, '-', nil, StringIO.new)
19
21
  location = Location.new(nil, nil)
@@ -539,10 +541,10 @@ EOS
539
541
 
540
542
  def test_empty_table
541
543
  e = assert_raises(ReVIEW::ApplicationError) { compile_block("//table{\n//}\n") }
542
- assert_equal ':2: error: no rows in the table', e.message
544
+ assert_equal 'no rows in the table', e.message
543
545
 
544
546
  e = assert_raises(ReVIEW::ApplicationError) { compile_block("//table{\n------------\n//}\n") }
545
- assert_equal ':3: error: no rows in the table', e.message
547
+ assert_equal 'no rows in the table', e.message
546
548
  end
547
549
 
548
550
  def test_inline_table
@@ -879,8 +881,8 @@ EOS
879
881
 
880
882
  //}
881
883
  EOS
882
- e = assert_raises(ReVIEW::ApplicationError) { compile_block(src) }
883
- assert_match(/minicolumn cannot be nested:/, e.message)
884
+ assert_raises(ReVIEW::ApplicationError) { compile_block(src) }
885
+ assert_match(/minicolumn cannot be nested:/, @log_io.string)
884
886
  end
885
887
  end
886
888
 
@@ -896,8 +898,8 @@ EOS
896
898
 
897
899
  //}
898
900
  EOS
899
- e = assert_raises(ReVIEW::ApplicationError) { compile_block(src) }
900
- assert_match(/minicolumn cannot be nested:/, e.message)
901
+ assert_raises(ReVIEW::ApplicationError) { compile_block(src) }
902
+ assert_match(/minicolumn cannot be nested:/, @log_io.string)
901
903
  end
902
904
  end
903
905
 
@@ -912,8 +914,8 @@ EOS
912
914
 
913
915
  //}
914
916
  EOS
915
- e = assert_raises(ReVIEW::ApplicationError) { compile_block(src) }
916
- assert_match(/minicolumn cannot be nested:/, e.message)
917
+ assert_raises(ReVIEW::ApplicationError) { compile_block(src) }
918
+ assert_match(/minicolumn cannot be nested:/, @log_io.string)
917
919
  end
918
920
  end
919
921
 
@@ -998,19 +1000,25 @@ EOB
998
1000
  end
999
1001
 
1000
1002
  def test_inline_unknown
1001
- e = assert_raises(ReVIEW::ApplicationError) { compile_block("@<img>{n}\n") }
1002
- assert_equal ':1: error: unknown image: n', e.message
1003
- e = assert_raises(ReVIEW::ApplicationError) { compile_block("@<fn>{n}\n") }
1004
- assert_equal ':1: error: unknown footnote: n', e.message
1005
- e = assert_raises(ReVIEW::ApplicationError) { compile_block("@<hd>{n}\n") }
1006
- assert_equal ':1: error: unknown headline: n', e.message
1003
+ assert_raises(ReVIEW::ApplicationError) { compile_block("@<img>{n}\n") }
1004
+ assert_match(/unknown image: n/, @log_io.string)
1005
+
1006
+ @log_io.string = ''
1007
+ assert_raises(ReVIEW::ApplicationError) { compile_block("@<fn>{n}\n") }
1008
+ assert_match(/unknown footnote: n/, @log_io.string)
1009
+
1010
+ @log_io.string = ''
1011
+ assert_raises(ReVIEW::ApplicationError) { compile_block("@<hd>{n}\n") }
1012
+ assert_match(/unknown headline: n/, @log_io.string)
1007
1013
  %w[list table column].each do |name|
1008
- e = assert_raises(ReVIEW::ApplicationError) { compile_block("@<#{name}>{n}\n") }
1009
- assert_equal ":1: error: unknown #{name}: n", e.message
1014
+ @log_io.string = ''
1015
+ assert_raises(ReVIEW::ApplicationError) { compile_block("@<#{name}>{n}\n") }
1016
+ assert_match(/unknown #{name}: n/, @log_io.string)
1010
1017
  end
1011
1018
  %w[chap chapref title].each do |name|
1012
- e = assert_raises(ReVIEW::ApplicationError) { compile_block("@<#{name}>{n}\n") }
1013
- assert_equal ':1: error: key not found: "n"', e.message
1019
+ @log_io.string = ''
1020
+ assert_raises(ReVIEW::ApplicationError) { compile_block("@<#{name}>{n}\n") }
1021
+ assert_match(/key not found: "n"/, @log_io.string)
1014
1022
  end
1015
1023
  end
1016
1024
 
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: review
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.1
4
+ version: 5.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - kmuto
8
8
  - takahashim
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-03-04 00:00:00.000000000 Z
12
+ date: 2021-06-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: image_size
@@ -115,14 +115,14 @@ dependencies:
115
115
  requirements:
116
116
  - - "~>"
117
117
  - !ruby/object:Gem::Version
118
- version: 1.10.0
118
+ version: 1.12.0
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - "~>"
124
124
  - !ruby/object:Gem::Version
125
- version: 1.10.0
125
+ version: 1.12.0
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: rubocop-performance
128
128
  requirement: !ruby/object:Gem::Requirement
@@ -337,6 +337,7 @@ files:
337
337
  - lib/review/latexutils.rb
338
338
  - lib/review/lineinput.rb
339
339
  - lib/review/location.rb
340
+ - lib/review/loggable.rb
340
341
  - lib/review/logger.rb
341
342
  - lib/review/makerhelper.rb
342
343
  - lib/review/markdownbuilder.rb
@@ -344,6 +345,9 @@ files:
344
345
  - lib/review/pdfmaker.rb
345
346
  - lib/review/plaintextbuilder.rb
346
347
  - lib/review/preprocessor.rb
348
+ - lib/review/preprocessor/directive.rb
349
+ - lib/review/preprocessor/line.rb
350
+ - lib/review/preprocessor/repository.rb
347
351
  - lib/review/rstbuilder.rb
348
352
  - lib/review/sec_counter.rb
349
353
  - lib/review/template.rb
@@ -621,7 +625,7 @@ homepage: http://github.com/kmuto/review
621
625
  licenses:
622
626
  - LGPL
623
627
  metadata: {}
624
- post_install_message:
628
+ post_install_message:
625
629
  rdoc_options: []
626
630
  require_paths:
627
631
  - lib
@@ -636,8 +640,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
636
640
  - !ruby/object:Gem::Version
637
641
  version: '0'
638
642
  requirements: []
639
- rubygems_version: 3.0.3
640
- signing_key:
643
+ rubygems_version: 3.2.15
644
+ signing_key:
641
645
  specification_version: 4
642
646
  summary: 'Re:VIEW: a easy-to-use digital publishing system'
643
647
  test_files: