review 5.0.0 → 5.3.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 (173) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-tex.yml +35 -0
  3. data/.github/workflows/ruby-win.yml +8 -4
  4. data/.github/workflows/ruby.yml +6 -2
  5. data/.rubocop.yml +24 -9
  6. data/NEWS.ja.md +215 -0
  7. data/NEWS.md +215 -1
  8. data/README.md +7 -6
  9. data/Rakefile +7 -2
  10. data/bin/review +2 -4
  11. data/bin/review-catalog-converter +3 -3
  12. data/bin/review-check +6 -8
  13. data/bin/review-checkdep +1 -4
  14. data/bin/review-compile +10 -20
  15. data/bin/review-epub2html +1 -4
  16. data/bin/review-epubmaker +3 -4
  17. data/bin/review-idgxmlmaker +1 -3
  18. data/bin/review-index +11 -5
  19. data/bin/review-init +1 -4
  20. data/bin/review-pdfmaker +1 -3
  21. data/bin/review-preproc +30 -38
  22. data/bin/review-textmaker +1 -3
  23. data/bin/review-update +1 -4
  24. data/bin/review-validate +3 -3
  25. data/bin/review-vol +1 -4
  26. data/bin/review-webmaker +1 -3
  27. data/doc/config.yml.sample +23 -5
  28. data/doc/config.yml.sample-simple +1 -1
  29. data/doc/format.ja.md +49 -12
  30. data/doc/format.md +52 -12
  31. data/doc/quickstart.ja.md +11 -1
  32. data/doc/quickstart.md +11 -2
  33. data/doc/writing_vertical.ja.md +6 -0
  34. data/lib/review/book/base.rb +4 -0
  35. data/lib/review/book/book_unit.rb +15 -2
  36. data/lib/review/book/chapter.rb +3 -0
  37. data/lib/review/book/index.rb +5 -1
  38. data/lib/review/book/volume.rb +1 -0
  39. data/lib/review/builder.rb +90 -54
  40. data/lib/review/call_hook.rb +20 -0
  41. data/lib/review/catalog.rb +2 -0
  42. data/lib/review/compiler.rb +88 -52
  43. data/lib/review/configure.rb +64 -7
  44. data/lib/review/epubmaker/content.rb +113 -0
  45. data/lib/review/epubmaker/epubcommon.rb +372 -0
  46. data/lib/review/epubmaker/epubv2.rb +178 -0
  47. data/lib/review/epubmaker/epubv3.rb +231 -0
  48. data/lib/review/epubmaker/producer.rb +167 -0
  49. data/lib/review/epubmaker/reviewheaderlistener.rb +12 -2
  50. data/lib/review/epubmaker/zip_exporter.rb +84 -0
  51. data/lib/review/epubmaker.rb +114 -129
  52. data/lib/review/exception.rb +13 -0
  53. data/lib/review/htmlbuilder.rb +109 -67
  54. data/lib/review/htmlutils.rb +1 -1
  55. data/lib/review/i18n.rb +1 -0
  56. data/lib/review/i18n.yml +6 -0
  57. data/lib/review/idgxmlbuilder.rb +72 -48
  58. data/lib/review/idgxmlmaker.rb +15 -14
  59. data/lib/review/img_math.rb +239 -0
  60. data/lib/review/index_builder.rb +90 -32
  61. data/lib/review/init.rb +4 -4
  62. data/lib/review/latexbox.rb +58 -0
  63. data/lib/review/latexbuilder.rb +79 -58
  64. data/lib/review/latexutils.rb +9 -1
  65. data/lib/review/lineinput.rb +112 -2
  66. data/lib/review/loggable.rb +27 -0
  67. data/lib/review/logger.rb +89 -2
  68. data/lib/review/makerhelper.rb +7 -206
  69. data/lib/review/markdownbuilder.rb +44 -4
  70. data/lib/review/pdfmaker.rb +70 -51
  71. data/lib/review/plaintextbuilder.rb +20 -11
  72. data/lib/review/preprocessor/directive.rb +35 -0
  73. data/lib/review/preprocessor/line.rb +34 -0
  74. data/lib/review/preprocessor/repository.rb +177 -0
  75. data/lib/review/preprocessor.rb +105 -301
  76. data/lib/review/rstbuilder.rb +13 -4
  77. data/lib/review/sec_counter.rb +1 -0
  78. data/lib/review/template.rb +11 -1
  79. data/lib/review/textmaker.rb +23 -20
  80. data/lib/review/textutils.rb +10 -17
  81. data/lib/review/tocprinter.rb +93 -71
  82. data/lib/review/topbuilder.rb +44 -19
  83. data/lib/review/update.rb +5 -6
  84. data/lib/review/version.rb +1 -1
  85. data/lib/review/volumeprinter.rb +11 -12
  86. data/lib/review/webmaker.rb +31 -27
  87. data/lib/review/webtocprinter.rb +10 -9
  88. data/lib/review/yamlloader.rb +2 -1
  89. data/lib/review.rb +1 -1
  90. data/review.gemspec +5 -3
  91. data/samples/sample-book/src/config-epub2.yml +1 -1
  92. data/samples/sample-book/src/config.yml +1 -1
  93. data/samples/sample-book/src/lib/tasks/review.rake +19 -1
  94. data/samples/sample-book/src/lib/tasks/z01_copy_sty.rake +2 -1
  95. data/samples/syntax-book/ch01.re +1 -1
  96. data/samples/syntax-book/ch02.re +30 -6
  97. data/samples/syntax-book/ch03.re +1 -1
  98. data/samples/syntax-book/images/img3-2.png +0 -0
  99. data/samples/syntax-book/lib/tasks/z01_copy_sty.rake +2 -1
  100. data/templates/html/_colophon.html.erb +23 -0
  101. data/templates/html/_colophon_history.html.erb +9 -0
  102. data/templates/html/_cover.html.erb +10 -0
  103. data/templates/html/_part_body.html.erb +6 -0
  104. data/templates/html/_titlepage.html.erb +20 -0
  105. data/templates/html/layout-html5.html.erb +6 -0
  106. data/templates/html/layout-xhtml1.html.erb +6 -0
  107. data/templates/latex/config.erb +11 -0
  108. data/templates/latex/review-jlreq/review-base.sty +7 -9
  109. data/templates/latex/review-jlreq/review-jlreq.cls +48 -6
  110. data/templates/latex/review-jlreq/review-style.sty +6 -1
  111. data/templates/latex/review-jlreq/review-tcbox.sty +348 -0
  112. data/templates/latex/review-jlreq/reviewmacro.sty +5 -0
  113. data/templates/latex/review-jsbook/review-base.sty +13 -9
  114. data/templates/latex/review-jsbook/review-jsbook.cls +41 -6
  115. data/templates/latex/review-jsbook/review-style.sty +6 -1
  116. data/templates/latex/review-jsbook/review-tcbox.sty +348 -0
  117. data/templates/latex/review-jsbook/reviewmacro.sty +5 -0
  118. data/templates/opf/epubv2.opf.erb +7 -7
  119. data/templates/opf/epubv3.opf.erb +7 -7
  120. data/templates/opf/opf_manifest_epubv2.opf.erb +10 -0
  121. data/templates/opf/opf_manifest_epubv3.opf.erb +10 -0
  122. data/templates/opf/opf_metainfo_epubv2.opf.erb +17 -0
  123. data/templates/opf/opf_metainfo_epubv3.opf.erb +49 -0
  124. data/templates/opf/opf_tocx_epubv2.opf.erb +9 -0
  125. data/templates/opf/opf_tocx_epubv3.opf.erb +17 -0
  126. data/templates/web/html/layout-html5.html.erb +6 -5
  127. data/templates/web/html/layout-xhtml1.html.erb +6 -0
  128. data/test/assets/header_listener.html +35 -0
  129. data/test/assets/img_math/img1.png +0 -0
  130. data/test/assets/img_math/img2.png +0 -0
  131. data/test/assets/img_math/img3.png +0 -0
  132. data/test/assets/syntax_book_index_detail.txt +60 -0
  133. data/test/assets/test_template.tex +7 -1
  134. data/test/assets/test_template_backmatter.tex +7 -1
  135. data/test/run_test.rb +1 -1
  136. data/test/test_book_chapter.rb +27 -4
  137. data/test/test_builder.rb +10 -8
  138. data/test/test_catalog_converter_cmd.rb +1 -1
  139. data/test/test_epub3maker.rb +168 -124
  140. data/test/test_epubmaker.rb +248 -131
  141. data/test/test_epubmaker_cmd.rb +15 -4
  142. data/test/test_helper.rb +5 -4
  143. data/test/test_htmlbuilder.rb +170 -31
  144. data/test/test_idgxmlbuilder.rb +44 -23
  145. data/test/test_idgxmlmaker_cmd.rb +7 -3
  146. data/test/test_img_math.rb +111 -0
  147. data/test/test_index.rb +30 -4
  148. data/test/test_indexbuilder.rb +5 -5
  149. data/test/test_latexbuilder.rb +151 -26
  150. data/test/test_latexbuilder_v2.rb +18 -10
  151. data/test/test_lineinput.rb +20 -93
  152. data/test/test_markdownbuilder.rb +42 -0
  153. data/test/test_pdfmaker.rb +90 -0
  154. data/test/test_pdfmaker_cmd.rb +2 -2
  155. data/test/test_plaintextbuilder.rb +56 -40
  156. data/test/test_preprocessor.rb +188 -1
  157. data/test/test_reviewheaderlistener.rb +49 -0
  158. data/test/test_rstbuilder.rb +13 -0
  159. data/test/test_template.rb +12 -2
  160. data/test/test_textmaker_cmd.rb +5 -1
  161. data/test/test_tocprinter.rb +46 -0
  162. data/test/test_topbuilder.rb +50 -19
  163. data/test/test_update.rb +34 -34
  164. data/test/test_zip_exporter.rb +5 -6
  165. metadata +95 -17
  166. data/lib/epubmaker/content.rb +0 -111
  167. data/lib/epubmaker/epubcommon.rb +0 -449
  168. data/lib/epubmaker/epubv2.rb +0 -142
  169. data/lib/epubmaker/epubv3.rb +0 -235
  170. data/lib/epubmaker/producer.rb +0 -375
  171. data/lib/epubmaker/zip_exporter.rb +0 -81
  172. data/lib/epubmaker.rb +0 -23
  173. data/lib/lineinput.rb +0 -155
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a64963e856714bc3b342e5b436d5a78f310785cfcad7216afa8a1676ea8b22b1
4
- data.tar.gz: a43be15aee421f6e864d7ba2007981717786ee359bb70d358cb9e4794827a47c
3
+ metadata.gz: f75b248a75c068752f6940450fce0815923dd26423d339b50df3b137601742e0
4
+ data.tar.gz: 37607fe69c2fa934968ee1a0f2f66415ee341b5ac777480a19d97086f99a9c15
5
5
  SHA512:
6
- metadata.gz: 12d7b001415a9e5f1b38f652ec4b3e89d8ad55661eb20fd911e0e626e1f8b3651844816ed209fa6f015524dcf2ff6f2c604ad5427ebbed91d21187e62f8629d5
7
- data.tar.gz: 95a137a10cf78f204a3ee1d94d078f4ebe24b9b5a710c43cd41fee30d04c40ce9d350d121cd76952df5a2f01bcb9166588e287399a71cd308ff4bae31cae128e
6
+ metadata.gz: 88444aa04c1503229eab1a1342d672f9149f499ebc3d15025134f3bdbf96fe1036a96ae9729622eea72fcf39b42aead1c17a1fa802e51838d9dfe25d5e8b5df8
7
+ data.tar.gz: 7096c49f6db52f29d81ec977479803fc55f6772d319ea96d30e673a72638a59d2031ca4bc88453d83e85e1141a1984724b2a88e253b6b786abe7a2c090565426
@@ -0,0 +1,35 @@
1
+ name: Test with TeXLive
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
8
+
9
+ jobs:
10
+ build:
11
+
12
+ runs-on: ${{ matrix.os }}
13
+ strategy:
14
+ fail-fast: false
15
+ matrix:
16
+ ruby: [2.5, 3.0]
17
+ os: [ubuntu-20.04]
18
+ steps:
19
+ - uses: actions/checkout@v2
20
+ - name: Install TeXLive 2020 in ubuntu
21
+ if: runner.os == 'Linux'
22
+ run: |
23
+ sudo apt-get update -y -qq && sudo apt-get install -y -qq texlive-lang-japanese texlive-fonts-recommended texlive-fonts-extra texlive-luatex texlive-extra-utils texlive-latex-extra dvipng poppler-utils
24
+ - name: Set up Ruby
25
+ uses: ruby/setup-ruby@v1
26
+ with:
27
+ ruby-version: ${{ matrix.ruby }}
28
+ - name: fix ImageMagick policy.xml on Linux
29
+ if: runner.os == 'Linux'
30
+ run: sudo sed -i 's/none/read|write/g' /etc/ImageMagick-6/policy.xml
31
+ - name: Build and test with Rake
32
+ run: |
33
+ gem install bundler --no-document
34
+ bundle install --retry 3
35
+ bundle exec rake
@@ -1,6 +1,10 @@
1
1
  name: TestWin
2
2
 
3
- on: [push]
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
4
8
 
5
9
  jobs:
6
10
  build:
@@ -9,12 +13,12 @@ jobs:
9
13
  strategy:
10
14
  fail-fast: false
11
15
  matrix:
12
- ruby: [ '2.6.x', '2.5.x', '2.4.x' ]
16
+ ruby: [ '3.0', '2.7', '2.6', '2.5', '2.4' ]
13
17
 
14
18
  steps:
15
- - uses: actions/checkout@v1
19
+ - uses: actions/checkout@v2
16
20
  - name: Set up Ruby
17
- uses: actions/setup-ruby@v1
21
+ uses: ruby/setup-ruby@v1
18
22
  with:
19
23
  ruby-version: ${{ matrix.ruby }}
20
24
  - name: Build and test with Rake
@@ -1,6 +1,10 @@
1
1
  name: Test
2
2
 
3
- on: [push]
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
4
8
 
5
9
  jobs:
6
10
  build:
@@ -9,7 +13,7 @@ jobs:
9
13
  strategy:
10
14
  fail-fast: false
11
15
  matrix:
12
- ruby: [2.4, 2.5, 2.6, 2.7]
16
+ ruby: [2.4, 2.5, 2.6, 2.7, 3.0]
13
17
  os: [ubuntu-latest, macOS-latest]
14
18
  steps:
15
19
  - uses: actions/checkout@v2
data/.rubocop.yml CHANGED
@@ -1,14 +1,15 @@
1
1
  AllCops:
2
2
  Exclude:
3
- - lib/lineinput.rb
4
3
  - lib/uuid.rb
5
4
  - test/syntax-book/*
6
5
  - tmp/*
7
6
  DisplayCopNames: true
8
7
  NewCops: enable
8
+ TargetRubyVersion: 2.5
9
9
 
10
10
  require:
11
11
  - rubocop-performance
12
+ - rubocop-rake
12
13
 
13
14
  #### Lint
14
15
 
@@ -52,6 +53,13 @@ Lint/RaiseException:
52
53
  Lint/StructNewOverride:
53
54
  Enabled: true
54
55
 
56
+ # make it enable when supporting only Ruby 3.0 and higher.
57
+ Lint/RedundantDirGlobSort:
58
+ Enabled: false
59
+
60
+ Lint/ElseLayout:
61
+ Enabled: false
62
+
55
63
  #### Performance
56
64
 
57
65
  Performance/RegexpMatch:
@@ -62,7 +70,7 @@ Performance/ReverseEach:
62
70
 
63
71
  # Use tr instead of gsub.
64
72
  Performance/StringReplacement:
65
- Enabled: false
73
+ Enabled: true
66
74
 
67
75
  Performance/RangeInclude:
68
76
  Enabled: true
@@ -135,6 +143,9 @@ Style/ClassMethods:
135
143
  Style/CommentedKeyword:
136
144
  Enabled: false
137
145
 
146
+ Style/DocumentDynamicEvalDefinition:
147
+ Enabled: false
148
+
138
149
  Style/FloatDivision:
139
150
  Enabled: false
140
151
 
@@ -172,7 +183,7 @@ Style/GuardClause:
172
183
  Enabled: false
173
184
 
174
185
  Style/IfInsideElse:
175
- Enabled: false
186
+ Enabled: true
176
187
 
177
188
  Style/IfUnlessModifier:
178
189
  Enabled: false
@@ -247,6 +258,8 @@ Style/MethodCallWithArgsParentheses:
247
258
  - 'write'
248
259
  - 'warn'
249
260
  - 'error'
261
+ - 'error!'
262
+ - 'app_error'
250
263
  - 'raise'
251
264
  - 'yield'
252
265
  - 'source'
@@ -420,7 +433,7 @@ Layout/EmptyLines:
420
433
  Enabled: true
421
434
 
422
435
  Layout/EmptyLineAfterGuardClause:
423
- Enabled: false
436
+ Enabled: true
424
437
 
425
438
  Layout/EmptyLinesAroundAccessModifier:
426
439
  Enabled: true
@@ -435,7 +448,7 @@ Layout/EmptyLinesAroundModuleBody:
435
448
  Enabled: true
436
449
 
437
450
  Layout/EndOfLine:
438
- Enabled: false
451
+ Enabled: true
439
452
 
440
453
  Layout/ExtraSpacing:
441
454
  Enabled: true
@@ -456,7 +469,7 @@ Layout/LeadingCommentSpace:
456
469
  Enabled: true
457
470
 
458
471
  Layout/MultilineOperationIndentation:
459
- Enabled: false
472
+ Enabled: true
460
473
 
461
474
  Layout/SpaceAroundBlockParameters:
462
475
  EnforcedStyleInsidePipes: no_space
@@ -478,7 +491,7 @@ Layout/SpaceAroundOperators:
478
491
  Enabled: true
479
492
 
480
493
  Layout/SpaceBeforeBlockBraces:
481
- Enabled: false
494
+ Enabled: true
482
495
 
483
496
  Layout/SpaceBeforeComma:
484
497
  Enabled: true
@@ -543,7 +556,7 @@ Metrics/MethodLength:
543
556
 
544
557
  ### should be < 20
545
558
  Metrics/CyclomaticComplexity:
546
- Max: 32
559
+ Max: 25
547
560
 
548
561
  ### should be < 60
549
562
  Metrics/AbcSize:
@@ -577,7 +590,7 @@ Naming/HeredocDelimiterNaming:
577
590
  Enabled: false
578
591
 
579
592
  Naming/MemoizedInstanceVariableName:
580
- Enabled: false
593
+ Enabled: true
581
594
 
582
595
  Naming/MethodName:
583
596
  Enabled: true
@@ -592,6 +605,8 @@ Naming/VariableName:
592
605
  Naming/VariableNumber:
593
606
  EnforcedStyle: normalcase
594
607
  Enabled: true
608
+ Exclude:
609
+ - test/*
595
610
 
596
611
  #### Security
597
612
 
data/NEWS.ja.md CHANGED
@@ -1,3 +1,218 @@
1
+ # Version 5.3.0
2
+ ## 新機能
3
+ * 後注のサポートを追加しました。`//endnote` 命令で後注内容、`@<endnote>` 命令で後注参照、`//printendnotes` 命令で後注を配置する場所を指定します ([#1724])
4
+
5
+ ## バグ修正
6
+ * 新しい jlreq において ifthen パッケージに非依存になったことによるエラーを修正しました ([#1718])
7
+ * review-jsbook と新しい TeXLive 2020 以降の組み合わせにおいて、隠しノンブルがすべて1になってしまう問題を修正しました ([#1720])
8
+ * coverimage パラメータに実際に存在しないファイルを指定したときに例外エラーが発生するのを修正しました ([#1726], [#1729])
9
+ * titlefile・creditfile・profile パラメータに存在しないファイルを指定したときに警告を表示するようにしました ([#1730])
10
+ * review-jlreq で `@<tcy>` 命令がエラーになるのを修正しました。縦中横の TeX 表現側での抽象名に `\reviewtcy` マクロを使うようにしました ([#1733])
11
+ * review-vol および review-index の例外エラーを修正しました ([#1740])
12
+ * 数式ビルドエラーが出たときに `__IMGMATH_BODY__.tex` のコピーを忘れているのを修正しました ([#1747])
13
+ * `//beginchild`・`//endchild` 命令でエラーが起きたときにエラー位置の表示がされていなかったのを修正しました ([#1742])
14
+ * `//graph` 命令を使うとビルドエラーになるのを修正しました ([#1744])
15
+ * epubmaker.rb で未定義の変数を参照している箇所を修正しました ([#1755])
16
+ * review-catalog-converter がエラーになるのを修正しました ([#1753])
17
+
18
+ ## 機能強化
19
+ * 脚注 (`//footnote`)・後注(`//endnote`) を定義したけれども参照(`@<fn>`、`@<endnote>`)していないときに警告するようにしました ([#1725])
20
+ * 紙面全体に画像を貼り込む `\includefullpagegraphics` マクロを縦書きにも対応するようにしました ([#1734])
21
+ * plantuml の jar ファイル探索先を作業フォルダのほか、`/usr/share/plantuml`、`/usr/share/java` からも探すようにしました ([#1760])
22
+
23
+ ## ドキュメント
24
+ * format.ja.md, format.md: SVG数式を作成するコマンドラインの間違いを修正しました ([#1748])
25
+
26
+ ## その他
27
+ * Windows 版 Ruby 2.7 のテストを追加しました ([#1743])
28
+ * Rubocop 1.22.1 に対応しました ([#1759])
29
+
30
+ ## コントリビューターのみなさん
31
+ * [@munepi](https://github.com/munepi)
32
+ * [@huideyeren](https://github.com/huideyeren)
33
+
34
+ [#1718]: https://github.com/kmuto/review/issues/1718
35
+ [#1720]: https://github.com/kmuto/review/issues/1720
36
+ [#1724]: https://github.com/kmuto/review/issues/1724
37
+ [#1725]: https://github.com/kmuto/review/issues/1725
38
+ [#1726]: https://github.com/kmuto/review/issues/1726
39
+ [#1729]: https://github.com/kmuto/review/pull/1729
40
+ [#1730]: https://github.com/kmuto/review/pull/1730
41
+ [#1733]: https://github.com/kmuto/review/issues/1733
42
+ [#1734]: https://github.com/kmuto/review/issues/1734
43
+ [#1740]: https://github.com/kmuto/review/pull/1740
44
+ [#1742]: https://github.com/kmuto/review/pull/1742
45
+ [#1743]: https://github.com/kmuto/review/pull/1743
46
+ [#1744]: https://github.com/kmuto/review/issues/1744
47
+ [#1747]: https://github.com/kmuto/review/pull/1747
48
+ [#1748]: https://github.com/kmuto/review/pull/1748
49
+ [#1753]: https://github.com/kmuto/review/issues/1753
50
+ [#1755]: https://github.com/kmuto/review/issues/1755
51
+ [#1759]: https://github.com/kmuto/review/pull/1759
52
+ [#1760]: https://github.com/kmuto/review/pull/1760
53
+
54
+ # Version 5.2.0
55
+ ## 新機能
56
+ * EPUBMaker: CSS 組版向けに、見出しの存在に応じて `<section>` で階層化する機能を追加しました。config.yml で `epubmaker` セクションの `use_section` パラメータを `true` にすると有効化されます ([#1685])
57
+
58
+ ## バグ修正
59
+ * PDFMaker: Ruby 2.6 以上でテンプレートの引数についての警告が出る問題を修正しました ([#1683])
60
+ * EPUBMaker: Docker 環境においてファイルがコピーされず空になる問題を修正しました ([#1686])
61
+ * 縦中横を正しく表示する CSS 設定を追加しました ([#1688])
62
+ * PDFMaker: 新しい TeXLive との組み合わせで pxjahyper のオプション競合エラーが発生するのを修正しました ([#1690])
63
+ * PDFMaker: 画像が見つからないときにコンパイルエラーになるのを修正しました ([#1706])
64
+
65
+ ## 機能強化
66
+ * 警告とエラーを出力する際の処理を改善しました。`error!` (すぐに終了) および `app_error` (`ApplicationError` 例外を上げる) メソッドを導入しました ([#1674])
67
+ * PDFMaker: ビルドのために画像ファイルをコピーする際、実コピーではなくシンボリックリンクを利用して処理を高速化するオプションを追加しました。`pdfmaker` セクションの `use_symlink` パラメータを `true` にすると、デフォルト挙動の実コピーの代わりにシンボリックリンクが使われます。Windows など一部の OS ではこれは動作しない可能性があります ([#1696])
68
+ * PDFMaker: review-jlreq で `serial_pagination=true, openany` を指定したときには前付の後の空ページが入らないようにしました ([#1711])
69
+
70
+ ## その他
71
+ * GitHub Actions まわりを修正しました ([#1684], [#1691])
72
+ * review-preproc: リファクタリングを行いました ([#1697])
73
+ * 入れ子の箇条書きの処理をリファクタリングしました ([#1698])
74
+ * Rubocop 1.12 に対応しました ([#1689], [#1692], [#1699], [#1700])
75
+ * 各ビルダの `builder_init_file` メソッドで最初に `super` で基底 builder の `builder_init_file` を実行するようにしました ([#1702])
76
+ * PDFMaker: FileUtils ライブラリを内部で使う際に、明示記法の `FIleUtils.foobar` を使うようにしました ([#1704])
77
+
78
+ ## コントリビューターのみなさん
79
+ * [@odaki](https://github.com/odaki)
80
+ * [@imamurayusuke](https://github.com/imamurayusuke)
81
+
82
+ [#1674]: https://github.com/kmuto/review/issues/1674
83
+ [#1683]: https://github.com/kmuto/review/pulls/1683
84
+ [#1684]: https://github.com/kmuto/review/pulls/1684
85
+ [#1685]: https://github.com/kmuto/review/pulls/1685
86
+ [#1686]: https://github.com/kmuto/review/issues/1686
87
+ [#1688]: https://github.com/kmuto/review/pulls/1688
88
+ [#1689]: https://github.com/kmuto/review/pulls/1689
89
+ [#1690]: https://github.com/kmuto/review/pulls/1690
90
+ [#1691]: https://github.com/kmuto/review/pulls/1691
91
+ [#1692]: https://github.com/kmuto/review/pulls/1692
92
+ [#1696]: https://github.com/kmuto/review/issues/1696
93
+ [#1697]: https://github.com/kmuto/review/pulls/1697
94
+ [#1698]: https://github.com/kmuto/review/pulls/1698
95
+ [#1699]: https://github.com/kmuto/review/pulls/1699
96
+ [#1700]: https://github.com/kmuto/review/pulls/1700
97
+ [#1702]: https://github.com/kmuto/review/pulls/1702
98
+ [#1704]: https://github.com/kmuto/review/pulls/1704
99
+ [#1706]: https://github.com/kmuto/review/issues/1706
100
+ [#1711]: https://github.com/kmuto/review/issues/1711
101
+
102
+ # Version 5.1.1
103
+ ## バグ修正
104
+ * `review-preproc` がエラーになるのを修正しました ([#1679])
105
+
106
+ [#1679]: https://github.com/kmuto/review/issues/1679
107
+
108
+ # Version 5.1.0
109
+ ## 新機能
110
+ * CSS 組版ソフトウェア [Vivliostyle-CLI](https://github.com/vivliostyle/vivliostyle-cli) を呼び出す Rake ルールを追加しました。Vivliostyle-CLI をインストールした環境において、`rake vivliostyle:build` または `rake vivliostyle` で PDF を作成、`rake vivliostyle:preview` でブラウザのプレビューが開きます ([#1663])
111
+ * PDFMaker: `config.yml` に `boxsetting` パラメータを新設し、column・note・memo・tip・info・warning・important・caution・notice の囲み飾りを事前定義のものや独自に作成したものから選択およびカスタマイズできるようにしました ([#1637])
112
+ * 挿入箇所を示す `@<ins>`、削除箇所を示す `@<del>` の2つのインライン命令を追加しました ([#1630])
113
+ * EPUBMaker, WebMaker: 数式表現手法として MathJax をサポートし、数式表現手法を `math_format` パラメータで選択するようにしました ([#1587], [#1614])
114
+
115
+ ## 非互換の変更
116
+ * EPUBMaker: `urnid` パラメータのデフォルト値のプレフィクスを、`urn:uid` から `urn:uuid` に変更しました ([#1658])
117
+ * PDFMaker: 長い脚注がページ分断されないようにしました ([#1607])
118
+
119
+ ## バグ修正
120
+ * `contentdir` を設定しているときに WebMaker, review-vol, review-index がエラーになるのを修正しました ([#1633])
121
+ * WebMaker: `images/html` 図版フォルダが見つけられないのを修正しました ([#1623])
122
+ * PDFMaker: 用語リストの見出しで chapterlink がおかしな結果になるのを修正しました ([#1619])
123
+ * PDFMaker: 索引に `{`, `}`, `|` が含まれているときにエラーや奇妙な文字に変換されるのを修正しました ([#1611])
124
+ * review-vol: 不正な見出しがあったときに妥当なエラーメッセージを出力するようにしました ([#1604])
125
+ * PDFMaker: `after_makeindex` フックを LaTeX コンパイル後ではなく `mendex` 実行後に実行するように修正しました ([#1605])
126
+ * PDFMaker: `//image` のキャプションが空だったときに内部エラーではなく図番号が出力されるように修正しました ([#1666])
127
+ * review-vol, review-index が不正なファイルを受け取ったときのエラー処理を修正しました ([#1671])
128
+ * EPUBMaker: author などの静的ファイルを指示したときに、ファイルが存在しないと内部エラーを起こしていたのを修正しました ([#1670])
129
+
130
+ ## 機能強化
131
+ * tty-loger gem パッケージがインストールされている場合、Re:VIEW の各 Maker コマンドの進行状態をアイコンおよびカラーで示すようにしました ([#1660])
132
+ * PDFMaker: クラスファイルで `\RequirePackage{plautopatch}` を最初に評価するようにしました ([#1644])
133
+ * MARKDOWNBuilder: `@<hd>` をサポートしました ([#1629])
134
+ * Re:VIEW ドキュメントファイルに不正なエスケープシーケンス文字が含まれているときにエラーを出すようにしました ([#1596], [#1602])
135
+ * `=` の数が6を超える見出し扱いの行があるときにエラーを出すようにしました ([#1591])
136
+
137
+ ## ドキュメント
138
+ * 画像探索の際に各 Maker が参照するサブフォルダ名について記載しました ([#1626])
139
+
140
+ ## その他
141
+ * EPUBMaker: EPUB ライブラリ一式を `lib/epubmaker` から `lib/review/epubmaker` に移動し、リファクタリングしました ([#1575], [#1617], [#1635], [#1640], [#1641], [#1650], [#1653], [#1655])
142
+ * EPUBMaker: テストを追加しました ([#1656])
143
+ * PDFMaker: いくつかの処理をリファクタリングしました ([#1664])
144
+ * 数式画像生成処理を `ReVIEW::ImgMath` クラスにまとめました ([#1642], [#1649], [#1659], [#1662])
145
+ * IDGXMLMaker: いくつかの処理をリファクタリングしました ([#1654])
146
+ * MakerHelper: いくつかの処理をリファクタリングしました ([#1652])
147
+ * テンプレート処理を `ReVIEW::Template.generate` メソッドに統一しました ([#1648])
148
+ * GitHub Actions で TeX コンパイルのテストも行うようにしました ([#1643])
149
+ * Rubocop 1.10 に対応しました ([#1593], [#1598], [#1613], [#1636], [#1647], [#1669])
150
+ * サンプル syntax-book の重複 ID を修正しました ([#1646])
151
+ * ライブラリの相対パスの参照方法をリファクタリングしました ([#1639])
152
+ * `ReVIEW::LineInput` クラスをリファタクタリングしました ([#1638])
153
+ * Copyright を2021年に更新しました ([#1632])
154
+ * Ruby 3.0 でのテストを実行するようにしました ([#1622])
155
+ * 不安定な Pygments のテストを抑制しました ([#1610], [#1618])
156
+ * WebTocPrinter: テストのエラーを修正しました ([#1606])
157
+ * テストのターゲットを指定しやすいようにしました ([#1594])
158
+
159
+ [#1671]: https://github.com/kmuto/review/issues/1671
160
+ [#1670]: https://github.com/kmuto/review/pull/1670
161
+ [#1669]: https://github.com/kmuto/review/pull/1669
162
+ [#1666]: https://github.com/kmuto/review/issues/1666
163
+ [#1664]: https://github.com/kmuto/review/pull/1664
164
+ [#1663]: https://github.com/kmuto/review/pull/1663
165
+ [#1662]: https://github.com/kmuto/review/issues/1662
166
+ [#1660]: https://github.com/kmuto/review/issues/1660
167
+ [#1659]: https://github.com/kmuto/review/pull/1659
168
+ [#1658]: https://github.com/kmuto/review/pull/1658
169
+ [#1656]: https://github.com/kmuto/review/pull/1656
170
+ [#1655]: https://github.com/kmuto/review/pull/1655
171
+ [#1654]: https://github.com/kmuto/review/pull/1654
172
+ [#1653]: https://github.com/kmuto/review/pull/1653
173
+ [#1652]: https://github.com/kmuto/review/pull/1652
174
+ [#1650]: https://github.com/kmuto/review/pull/1650
175
+ [#1649]: https://github.com/kmuto/review/pull/1649
176
+ [#1648]: https://github.com/kmuto/review/pull/1648
177
+ [#1647]: https://github.com/kmuto/review/pull/1647
178
+ [#1646]: https://github.com/kmuto/review/pull/1646
179
+ [#1644]: https://github.com/kmuto/review/issues/1644
180
+ [#1643]: https://github.com/kmuto/review/pull/1643
181
+ [#1642]: https://github.com/kmuto/review/pull/1642
182
+ [#1641]: https://github.com/kmuto/review/pull/1641
183
+ [#1640]: https://github.com/kmuto/review/pull/1640
184
+ [#1639]: https://github.com/kmuto/review/pull/1639
185
+ [#1638]: https://github.com/kmuto/review/pull/1638
186
+ [#1637]: https://github.com/kmuto/review/pull/1637
187
+ [#1636]: https://github.com/kmuto/review/pull/1636
188
+ [#1635]: https://github.com/kmuto/review/pull/1635
189
+ [#1633]: https://github.com/kmuto/review/issues/1633
190
+ [#1632]: https://github.com/kmuto/review/issues/1632
191
+ [#1630]: https://github.com/kmuto/review/issues/1630
192
+ [#1629]: https://github.com/kmuto/review/pull/1629
193
+ [#1626]: https://github.com/kmuto/review/pull/1626
194
+ [#1623]: https://github.com/kmuto/review/issues/1623
195
+ [#1622]: https://github.com/kmuto/review/pull/1622
196
+ [#1619]: https://github.com/kmuto/review/issues/1619
197
+ [#1618]: https://github.com/kmuto/review/pull/1618
198
+ [#1617]: https://github.com/kmuto/review/pull/1617
199
+ [#1614]: https://github.com/kmuto/review/pull/1614
200
+ [#1613]: https://github.com/kmuto/review/pull/1613
201
+ [#1611]: https://github.com/kmuto/review/issues/1611
202
+ [#1610]: https://github.com/kmuto/review/pull/1610
203
+ [#1607]: https://github.com/kmuto/review/issues/1607
204
+ [#1606]: https://github.com/kmuto/review/issues/1606
205
+ [#1605]: https://github.com/kmuto/review/issues/1605
206
+ [#1604]: https://github.com/kmuto/review/issues/1604
207
+ [#1602]: https://github.com/kmuto/review/pull/1602
208
+ [#1598]: https://github.com/kmuto/review/pull/1598
209
+ [#1596]: https://github.com/kmuto/review/issues/1596
210
+ [#1594]: https://github.com/kmuto/review/pull/1594
211
+ [#1593]: https://github.com/kmuto/review/pull/1593
212
+ [#1591]: https://github.com/kmuto/review/issues/1591
213
+ [#1587]: https://github.com/kmuto/review/issues/1587
214
+ [#1575]: https://github.com/kmuto/review/issues/1575
215
+
1
216
  # Version 5.0.0
2
217
  ## 新機能
3
218
  * review-jsbook / review-jlreq クラスに、`cover_fit_page` オプションを追加しました。`texdocumentclass` パラメータに `cover_fit_page=true` を付けると、画像サイズがどのようなものであっても仕上がりサイズに拡縮して表紙に貼り込みます。なお、制作において図版は実寸で作成することを推奨します ([#1534])