review 5.2.0 → 5.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-tex.yml +1 -1
  3. data/.github/workflows/ruby-win.yml +1 -1
  4. data/.github/workflows/ruby.yml +1 -1
  5. data/.rubocop.yml +1 -319
  6. data/NEWS.ja.md +116 -0
  7. data/NEWS.md +117 -0
  8. data/README.md +9 -8
  9. data/bin/review +1 -1
  10. data/bin/review-catalog-converter +15 -15
  11. data/bin/review-check +7 -7
  12. data/bin/review-compile +6 -8
  13. data/bin/review-index +1 -1
  14. data/bin/review-preproc +1 -1
  15. data/bin/review-validate +2 -2
  16. data/doc/config.yml.sample +7 -1
  17. data/doc/config.yml.sample-simple +1 -1
  18. data/doc/format.ja.md +34 -4
  19. data/doc/format.md +32 -3
  20. data/lib/review/book/base.rb +3 -3
  21. data/lib/review/book/book_unit.rb +13 -3
  22. data/lib/review/book/chapter.rb +1 -1
  23. data/lib/review/book/index.rb +7 -4
  24. data/lib/review/book/part.rb +12 -13
  25. data/lib/review/book/volume.rb +1 -1
  26. data/lib/review/builder.rb +82 -28
  27. data/lib/review/catalog.rb +6 -5
  28. data/lib/review/compiler.rb +20 -14
  29. data/lib/review/configure.rb +5 -2
  30. data/lib/review/epub2html.rb +12 -12
  31. data/lib/review/epubmaker/content.rb +1 -1
  32. data/lib/review/epubmaker/epubcommon.rb +47 -45
  33. data/lib/review/epubmaker/epubv2.rb +2 -1
  34. data/lib/review/epubmaker/epubv3.rb +5 -4
  35. data/lib/review/epubmaker/producer.rb +3 -3
  36. data/lib/review/epubmaker/reviewheaderlistener.rb +1 -1
  37. data/lib/review/epubmaker.rb +35 -32
  38. data/lib/review/extentions/string.rb +1 -1
  39. data/lib/review/htmlbuilder.rb +65 -15
  40. data/lib/review/htmlutils.rb +17 -17
  41. data/lib/review/i18n.rb +3 -3
  42. data/lib/review/i18n.yml +6 -0
  43. data/lib/review/idgxmlbuilder.rb +42 -21
  44. data/lib/review/idgxmlmaker.rb +15 -13
  45. data/lib/review/img_math.rb +1 -0
  46. data/lib/review/index_builder.rb +100 -38
  47. data/lib/review/init.rb +4 -4
  48. data/lib/review/latexbuilder.rb +69 -34
  49. data/lib/review/lineinput.rb +3 -3
  50. data/lib/review/location.rb +1 -1
  51. data/lib/review/logger.rb +21 -21
  52. data/lib/review/makerhelper.rb +3 -3
  53. data/lib/review/markdownbuilder.rb +16 -8
  54. data/lib/review/pdfmaker.rb +40 -21
  55. data/lib/review/plaintextbuilder.rb +8 -7
  56. data/lib/review/preprocessor/repository.rb +1 -1
  57. data/lib/review/preprocessor.rb +5 -5
  58. data/lib/review/rstbuilder.rb +11 -2
  59. data/lib/review/textmaker.rb +20 -18
  60. data/lib/review/textutils.rb +5 -6
  61. data/lib/review/tocprinter.rb +11 -6
  62. data/lib/review/topbuilder.rb +89 -12
  63. data/lib/review/update.rb +16 -8
  64. data/lib/review/version.rb +1 -1
  65. data/lib/review/volumeprinter.rb +9 -9
  66. data/lib/review/webmaker.rb +32 -32
  67. data/lib/review/webtocprinter.rb +10 -10
  68. data/lib/review/yamlloader.rb +36 -2
  69. data/review.gemspec +2 -0
  70. data/samples/sample-book/src/config.yml +0 -1
  71. data/samples/syntax-book/ch02.re +16 -1
  72. data/templates/html/_titlepage.html.erb +9 -17
  73. data/templates/latex/config.erb +3 -0
  74. data/templates/latex/review-jlreq/review-base.sty +2 -1
  75. data/templates/latex/review-jlreq/review-jlreq.cls +36 -3
  76. data/templates/latex/review-jsbook/review-base.sty +7 -1
  77. data/templates/latex/review-jsbook/review-jsbook.cls +31 -4
  78. data/templates/opf/opf_manifest_epubv2.opf.erb +1 -1
  79. data/templates/opf/opf_manifest_epubv3.opf.erb +1 -1
  80. data/test/assets/syntax_book_index_detail.txt +10 -8
  81. data/test/assets/test_template.tex +4 -1
  82. data/test/assets/test_template_backmatter.tex +4 -1
  83. data/test/book_test_helper.rb +10 -10
  84. data/test/test_book_chapter.rb +25 -2
  85. data/test/test_builder.rb +5 -3
  86. data/test/test_epub3maker.rb +3 -3
  87. data/test/test_epubmaker.rb +14 -29
  88. data/test/test_epubmaker_cmd.rb +2 -2
  89. data/test/test_htmlbuilder.rb +80 -8
  90. data/test/test_idgxmlbuilder.rb +13 -13
  91. data/test/test_idgxmlmaker_cmd.rb +1 -1
  92. data/test/test_img_math.rb +11 -2
  93. data/test/test_index.rb +30 -4
  94. data/test/test_latexbuilder.rb +53 -6
  95. data/test/test_markdownbuilder.rb +45 -0
  96. data/test/test_pdfmaker.rb +19 -0
  97. data/test/test_pdfmaker_cmd.rb +10 -10
  98. data/test/test_plaintextbuilder.rb +45 -4
  99. data/test/test_rstbuilder.rb +13 -0
  100. data/test/test_textmaker_cmd.rb +1 -1
  101. data/test/test_topbuilder.rb +169 -11
  102. data/test/test_yamlloader.rb +28 -42
  103. metadata +19 -4
@@ -14,12 +14,11 @@ class YAMLLoaderTest < Test::Unit::TestCase
14
14
  def test_load_file
15
15
  Dir.mktmpdir do |dir|
16
16
  yaml_file = File.join(dir, 'test.yml')
17
- File.open(yaml_file, 'w') do |f|
18
- f.write <<EOB
17
+ File.write(yaml_file, <<EOB
19
18
  foo:
20
19
  bar: "test"
21
20
  EOB
22
- end
21
+ )
23
22
  yaml = @loader.load_file(yaml_file)
24
23
  assert_equal yaml, 'foo' => { 'bar' => 'test' }
25
24
  end
@@ -29,24 +28,22 @@ EOB
29
28
  Dir.mktmpdir do |dir|
30
29
  yaml_file = File.join(dir, 'test.yml')
31
30
  yaml_file2 = File.join(dir, 'test2.yml')
32
- File.open(yaml_file, 'w') do |f|
33
- f.write <<EOB
31
+ File.write(yaml_file, <<EOB
34
32
  k0: 2
35
33
  k1:
36
34
  name: "test"
37
35
  array: [{name: "N", val: "V"}]
38
36
  inherit: ["test2.yml"]
39
37
  EOB
40
- end
41
- File.open(yaml_file2, 'w') do |f|
42
- f.write <<EOB
38
+ )
39
+ File.write(yaml_file2, <<EOB
43
40
  k1:
44
41
  name: "test2"
45
42
  name2: "value2"
46
43
  array: [{name: "shoudoverridden_name", val: "shouldoverridden_val"}]
47
44
  k2: "3"
48
45
  EOB
49
- end
46
+ )
50
47
  yaml = @loader.load_file(yaml_file)
51
48
  assert_equal({ 'k0' => 2,
52
49
  'k1' => { 'name' => 'test', 'name2' => 'value2',
@@ -61,31 +58,28 @@ EOB
61
58
  yaml_file = File.join(dir, 'test.yml')
62
59
  yaml_file2 = File.join(dir, 'test2.yml')
63
60
  yaml_file3 = File.join(dir, 'test3.yml')
64
- File.open(yaml_file, 'w') do |f|
65
- f.write <<EOB
61
+ File.write(yaml_file, <<EOB
66
62
  k0: 2
67
63
  k1:
68
64
  name1: "value1-1"
69
65
  inherit: ["test3.yml", "test2.yml"]
70
66
  EOB
71
- end
72
- File.open(yaml_file2, 'w') do |f|
73
- f.write <<EOB
67
+ )
68
+ File.write(yaml_file2, <<EOB
74
69
  k1:
75
70
  name1: "value1-2"
76
71
  name2: "value2-2"
77
72
  k2: "B"
78
73
  EOB
79
- end
80
- File.open(yaml_file3, 'w') do |f|
81
- f.write <<EOB
74
+ )
75
+ File.write(yaml_file3, <<EOB
82
76
  k1:
83
77
  name1: "value1-3"
84
78
  name2: "value2-3"
85
79
  name3: "value3-3"
86
80
  k3: "C"
87
81
  EOB
88
- end
82
+ )
89
83
  yaml = @loader.load_file(yaml_file)
90
84
  assert_equal({
91
85
  'k0' => 2,
@@ -106,40 +100,35 @@ EOB
106
100
  yaml_file5 = File.join(dir, 'test5.yml')
107
101
  yaml_file6 = File.join(dir, 'test6.yml')
108
102
  yaml_file7 = File.join(dir, 'test7.yml')
109
- File.open(yaml_file7, 'w') do |f|
110
- f.write <<EOB
103
+ File.write(yaml_file7, <<EOB
111
104
  k1:
112
105
  name1: "N7"
113
106
  inherit: ["test3.yml", "test6.yml"]
114
107
  EOB
115
- end
116
- File.open(yaml_file6, 'w') do |f|
117
- f.write <<EOB
108
+ )
109
+ File.write(yaml_file6, <<EOB
118
110
  k1:
119
111
  name1: "N6"
120
112
  name2: "N6"
121
113
  inherit: ["test4.yml", "test5.yml"]
122
114
  EOB
123
- end
124
- File.open(yaml_file5, 'w') do |f|
125
- f.write <<EOB
115
+ )
116
+ File.write(yaml_file5, <<EOB
126
117
  k1:
127
118
  name1: "N5"
128
119
  name2: "N5"
129
120
  name3: "N5"
130
121
  EOB
131
- end
132
- File.open(yaml_file4, 'w') do |f|
133
- f.write <<EOB
122
+ )
123
+ File.write(yaml_file4, <<EOB
134
124
  k1:
135
125
  name1: "N4"
136
126
  name2: "N4"
137
127
  name3: "N4"
138
128
  name4: "N4"
139
129
  EOB
140
- end
141
- File.open(yaml_file3, 'w') do |f|
142
- f.write <<EOB
130
+ )
131
+ File.write(yaml_file3, <<EOB
143
132
  k1:
144
133
  name1: "N3"
145
134
  name2: "N3"
@@ -148,9 +137,8 @@ k1:
148
137
  name5: "N3"
149
138
  inherit: ["test1.yml", "test2.yml"]
150
139
  EOB
151
- end
152
- File.open(yaml_file2, 'w') do |f|
153
- f.write <<EOB
140
+ )
141
+ File.write(yaml_file2, <<EOB
154
142
  k1:
155
143
  name1: "N2"
156
144
  name2: "N2"
@@ -159,9 +147,8 @@ k1:
159
147
  name5: "N2"
160
148
  name6: "N2"
161
149
  EOB
162
- end
163
- File.open(yaml_file1, 'w') do |f|
164
- f.write <<EOB
150
+ )
151
+ File.write(yaml_file1, <<EOB
165
152
  k1:
166
153
  name1: "N1"
167
154
  name2: "N1"
@@ -171,7 +158,7 @@ k1:
171
158
  name6: "N1"
172
159
  name7: "N1"
173
160
  EOB
174
- end
161
+ )
175
162
 
176
163
  yaml = @loader.load_file(yaml_file7)
177
164
  assert_equal({ 'k1' => { 'name1' => 'N7',
@@ -188,11 +175,10 @@ EOB
188
175
  def test_empty_file
189
176
  Dir.mktmpdir do |dir|
190
177
  yaml_file = File.join(dir, 'test.yml')
191
- File.open(yaml_file, 'w') do |f|
192
- f.write <<EOB
178
+ File.write(yaml_file, <<EOB
193
179
  #
194
180
  EOB
195
- end
181
+ )
196
182
  e = assert_raise(RuntimeError) { @loader.load_file(yaml_file) }
197
183
  assert_match('test.yml is malformed.', e.message)
198
184
  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: 5.2.0
4
+ version: 5.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - kmuto
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-06-29 00:00:00.000000000 Z
12
+ date: 2022-06-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: image_size
@@ -25,6 +25,20 @@ dependencies:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: rexml
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
28
42
  - !ruby/object:Gem::Dependency
29
43
  name: rouge
30
44
  requirement: !ruby/object:Gem::Requirement
@@ -624,7 +638,8 @@ files:
624
638
  homepage: http://github.com/kmuto/review
625
639
  licenses:
626
640
  - LGPL
627
- metadata: {}
641
+ metadata:
642
+ rubygems_mfa_required: 'true'
628
643
  post_install_message:
629
644
  rdoc_options: []
630
645
  require_paths:
@@ -640,7 +655,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
640
655
  - !ruby/object:Gem::Version
641
656
  version: '0'
642
657
  requirements: []
643
- rubygems_version: 3.2.15
658
+ rubygems_version: 3.3.7
644
659
  signing_key:
645
660
  specification_version: 4
646
661
  summary: 'Re:VIEW: a easy-to-use digital publishing system'