review 4.2.0 → 5.0.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 (165) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-win.yml +11 -5
  3. data/.rubocop.yml +113 -24
  4. data/NEWS.ja.md +94 -0
  5. data/NEWS.md +94 -0
  6. data/bin/review-catalog-converter +1 -1
  7. data/bin/review-check +2 -4
  8. data/bin/review-checkdep +1 -1
  9. data/bin/review-compile +8 -14
  10. data/bin/review-validate +1 -1
  11. data/doc/config.yml.sample +4 -1
  12. data/doc/config.yml.sample-simple +1 -1
  13. data/doc/format.ja.md +83 -4
  14. data/doc/format.md +84 -7
  15. data/doc/makeindex.ja.md +2 -2
  16. data/doc/quickstart.ja.md +3 -3
  17. data/doc/quickstart.md +2 -2
  18. data/lib/epubmaker/content.rb +3 -2
  19. data/lib/epubmaker/epubcommon.rb +33 -25
  20. data/lib/epubmaker/epubv2.rb +5 -6
  21. data/lib/epubmaker/epubv3.rb +20 -18
  22. data/lib/review/book.rb +2 -2
  23. data/lib/review/book/base.rb +61 -25
  24. data/lib/review/book/bib.rb +21 -0
  25. data/lib/review/book/book_unit.rb +155 -0
  26. data/lib/review/book/chapter.rb +30 -26
  27. data/lib/review/book/index.rb +23 -185
  28. data/lib/review/book/index/item.rb +7 -1
  29. data/lib/review/book/part.rb +21 -9
  30. data/lib/review/book/volume.rb +1 -1
  31. data/lib/review/builder.rb +68 -13
  32. data/lib/review/catalog.rb +2 -2
  33. data/lib/review/compiler.rb +159 -73
  34. data/lib/review/configure.rb +22 -1
  35. data/lib/review/converter.rb +1 -1
  36. data/lib/review/epub2html.rb +6 -1
  37. data/lib/review/epubmaker.rb +12 -23
  38. data/lib/review/htmlbuilder.rb +36 -7
  39. data/lib/review/htmlutils.rb +7 -10
  40. data/lib/review/i18n.rb +1 -1
  41. data/lib/review/idgxmlbuilder.rb +51 -6
  42. data/lib/review/idgxmlmaker.rb +9 -14
  43. data/lib/review/index_builder.rb +653 -0
  44. data/lib/review/init.rb +5 -13
  45. data/lib/review/latexbuilder.rb +65 -4
  46. data/lib/review/logger.rb +2 -2
  47. data/lib/review/makerhelper.rb +11 -0
  48. data/lib/review/markdownbuilder.rb +19 -1
  49. data/lib/review/pdfmaker.rb +17 -36
  50. data/lib/review/plaintextbuilder.rb +48 -2
  51. data/lib/review/preprocessor.rb +5 -5
  52. data/lib/review/rstbuilder.rb +25 -6
  53. data/lib/review/sec_counter.rb +13 -0
  54. data/lib/review/textmaker.rb +4 -12
  55. data/lib/review/tocprinter.rb +2 -3
  56. data/lib/review/topbuilder.rb +26 -0
  57. data/lib/review/update.rb +7 -7
  58. data/lib/review/version.rb +1 -1
  59. data/lib/review/volumeprinter.rb +2 -3
  60. data/lib/review/webmaker.rb +9 -20
  61. data/review.gemspec +2 -2
  62. data/samples/sample-book/src/config.yml +1 -1
  63. data/samples/syntax-book/Gemfile +1 -1
  64. data/samples/syntax-book/config.yml +1 -1
  65. data/templates/latex/config.erb +27 -23
  66. data/templates/latex/review-jlreq/README.md +3 -1
  67. data/templates/latex/review-jlreq/review-base.sty +31 -15
  68. data/templates/latex/review-jlreq/review-jlreq.cls +8 -24
  69. data/templates/latex/review-jsbook/README.md +7 -5
  70. data/templates/latex/review-jsbook/review-base.sty +34 -16
  71. data/templates/latex/review-jsbook/review-jsbook.cls +4 -2
  72. data/templates/web/html/layout-html5.html.erb +1 -1
  73. data/test/assets/test_template.tex +3 -3
  74. data/test/assets/test_template_backmatter.tex +3 -3
  75. data/test/book_test_helper.rb +11 -5
  76. data/test/test_book.rb +54 -63
  77. data/test/test_book_chapter.rb +93 -52
  78. data/test/test_builder.rb +24 -15
  79. data/test/test_converter.rb +1 -0
  80. data/test/test_epub3maker.rb +2 -2
  81. data/test/test_epubmaker.rb +8 -0
  82. data/test/test_helper.rb +4 -1
  83. data/test/test_htmlbuilder.rb +627 -56
  84. data/test/test_htmlutils.rb +0 -12
  85. data/test/test_i18n.rb +33 -33
  86. data/test/test_idgxmlbuilder.rb +358 -11
  87. data/test/test_idgxmlmaker_cmd.rb +1 -1
  88. data/test/test_index.rb +62 -52
  89. data/test/test_indexbuilder.rb +52 -0
  90. data/test/test_latexbuilder.rb +547 -10
  91. data/test/test_latexbuilder_v2.rb +43 -5
  92. data/test/test_logger.rb +7 -7
  93. data/test/test_makerhelper.rb +0 -12
  94. data/test/test_markdownbuilder.rb +3 -0
  95. data/test/test_pdfmaker.rb +13 -12
  96. data/test/test_pdfmaker_cmd.rb +1 -1
  97. data/test/test_plaintextbuilder.rb +422 -7
  98. data/test/test_review_ext.rb +2 -1
  99. data/test/test_rstbuilder.rb +25 -1
  100. data/test/test_sec_counter.rb +156 -0
  101. data/test/test_textmaker_cmd.rb +1 -1
  102. data/test/test_topbuilder.rb +187 -10
  103. data/test/test_update.rb +10 -10
  104. data/test/test_webtocprinter.rb +12 -12
  105. data/vendor/gentombow/LICENSE +1 -1
  106. data/vendor/gentombow/Makefile +0 -1
  107. data/vendor/gentombow/bounddvi-en.pdf +0 -0
  108. data/vendor/gentombow/bounddvi-en.tex +1 -0
  109. data/vendor/gentombow/bounddvi.pdf +0 -0
  110. data/vendor/gentombow/bounddvi.sty +30 -7
  111. data/vendor/gentombow/bounddvi.tex +1 -0
  112. data/vendor/gentombow/create_archive.sh +1 -0
  113. data/vendor/gentombow/gentombow-ja.pdf +0 -0
  114. data/vendor/gentombow/gentombow-ja.tex +9 -0
  115. data/vendor/gentombow/gentombow.pdf +0 -0
  116. data/vendor/gentombow/gentombow.sty +32 -10
  117. data/vendor/gentombow/gentombow.tex +8 -0
  118. data/vendor/gentombow/tests/gentombow-01-pdfx.tex +8 -0
  119. data/vendor/gentombow/tests/gentombow-02-pdfx.tex +8 -0
  120. data/vendor/jsclasses/Makefile +3 -2
  121. data/vendor/jsclasses/create_archive.sh +5 -5
  122. data/vendor/jsclasses/jis/Makefile +3 -2
  123. data/vendor/jsclasses/jis/jsarticle.cls +22 -18
  124. data/vendor/jsclasses/jis/jsbook.cls +22 -18
  125. data/vendor/jsclasses/jis/jsclasses.dtx +94 -13
  126. data/vendor/jsclasses/jis/jsclasses.ins +15 -5
  127. data/vendor/jsclasses/jis/jslogo.ins +9 -0
  128. data/vendor/jsclasses/jis/jslogo.sty +1 -13
  129. data/vendor/jsclasses/jis/jspf.cls +22 -18
  130. data/vendor/jsclasses/jis/jsreport.cls +22 -18
  131. data/vendor/jsclasses/jis/jsverb.ins +9 -0
  132. data/vendor/jsclasses/jis/jsverb.sty +1 -13
  133. data/vendor/jsclasses/jis/kiyou.cls +22 -18
  134. data/vendor/jsclasses/jis/minijs.sty +65 -22
  135. data/vendor/jsclasses/jis/okumacro.ins +9 -0
  136. data/vendor/jsclasses/jis/okumacro.sty +1 -13
  137. data/vendor/jsclasses/jis/okuverb.ins +9 -0
  138. data/vendor/jsclasses/jis/okuverb.sty +1 -13
  139. data/vendor/jsclasses/jis/winjis.sty +23 -19
  140. data/vendor/jsclasses/jsarticle.cls +22 -18
  141. data/vendor/jsclasses/jsbook.cls +22 -18
  142. data/vendor/jsclasses/jsclasses.dtx +94 -13
  143. data/vendor/jsclasses/jsclasses.ins +15 -5
  144. data/vendor/jsclasses/jsclasses.pdf +0 -0
  145. data/vendor/jsclasses/jslogo.ins +9 -0
  146. data/vendor/jsclasses/jslogo.pdf +0 -0
  147. data/vendor/jsclasses/jslogo.sty +1 -13
  148. data/vendor/jsclasses/jspf.cls +22 -18
  149. data/vendor/jsclasses/jsreport.cls +22 -18
  150. data/vendor/jsclasses/jsverb.ins +9 -0
  151. data/vendor/jsclasses/jsverb.pdf +0 -0
  152. data/vendor/jsclasses/jsverb.sty +1 -13
  153. data/vendor/jsclasses/kiyou.cls +22 -18
  154. data/vendor/jsclasses/minijs.sty +68 -22
  155. data/vendor/jsclasses/okumacro.ins +9 -0
  156. data/vendor/jsclasses/okumacro.pdf +0 -0
  157. data/vendor/jsclasses/okumacro.sty +1 -13
  158. data/vendor/jsclasses/okuverb.ins +9 -0
  159. data/vendor/jsclasses/okuverb.pdf +0 -0
  160. data/vendor/jsclasses/okuverb.sty +1 -13
  161. data/vendor/jsclasses/tests/relfont.tex +10 -0
  162. data/vendor/jsclasses/winjis.sty +23 -19
  163. metadata +14 -6
  164. data/.rubocop_todo.yml +0 -7
  165. data/lib/review/book/compilable.rb +0 -174
@@ -109,7 +109,7 @@ def parse_postdef(str, to_appendix = false)
109
109
  end
110
110
 
111
111
  def parse_parts(parts_str, chaps_str)
112
- if parts_str.blank? or chaps_str.blank?
112
+ if parts_str.blank? || chaps_str.blank?
113
113
  return "CHAPS:\n\n"
114
114
  end
115
115
 
@@ -31,9 +31,7 @@ end
31
31
 
32
32
  def main
33
33
  @config = ReVIEW::Configure.values
34
- @book = ReVIEW::Book::Base.load
35
- @book.config = @config
36
-
34
+ @book = ReVIEW::Book::Base.new(config: @config)
37
35
  @logger = ReVIEW.logger
38
36
 
39
37
  modes = nil
@@ -87,7 +85,7 @@ def check_text(files)
87
85
  s = para.join
88
86
  m = re.match(s)
89
87
  next if m.nil? || m[0] == @review_utils_word_ok
90
- next if neg and neg =~ s
88
+ next if neg && neg =~ s
91
89
  str, offset = find_line(para, re)
92
90
  out = sprintf("%s:%d: %s\n", path, lineno + offset, str)
93
91
  print out
@@ -30,7 +30,7 @@ def main
30
30
  when /\A\#@provide\((.*)\)/
31
31
  provide($1)
32
32
  else
33
- line.scan(/@<kw>\{(.*?)[,\}]/) { provide $1 }
33
+ line.scan(/@<kw>\{(.*?)[,}]/) { provide($1) }
34
34
  end
35
35
  end
36
36
  end
@@ -79,32 +79,30 @@ def _main
79
79
  error('no input') if ARGV.empty?
80
80
 
81
81
  @basedir = File.dirname(ARGV[0])
82
- book = ReVIEW::Book::Base.load(@basedir)
83
- book.config = @config # needs only at the first time
82
+ book = ReVIEW::Book::Base.new(@basedir, config: @config)
84
83
  ARGV.each do |item|
85
84
  error("file not found: #{item}") unless File.exist?(File.join(book.config['contentdir'], item))
86
85
  chap_name = File.basename(item, '.*')
87
86
  chap = book.chapter(chap_name)
88
- compiler = ReVIEW::Compiler.new(load_strategy_class(@target, @check_only))
87
+ compiler = ReVIEW::Compiler.new(load_builder_class(@target, @check_only))
89
88
  result = compiler.compile(chap)
90
89
  if @output_filename
91
- write(@output_filename, result)
90
+ File.write(@output_filename, result)
92
91
  else
93
92
  puts result unless @check_only
94
93
  end
95
94
  end
96
95
  when :dir
97
- book = @basedir ? ReVIEW::Book.load(@basedir) : ReVIEW::Book::Base.load
98
- book.config = @config
99
- compiler = ReVIEW::Compiler.new(load_strategy_class(@target, @check_only))
96
+ book = @basedir ? ReVIEW::Book::Base.new(@basedir, config: @config) : ReVIEW::Book::Base.new(config: @config)
97
+ compiler = ReVIEW::Compiler.new(load_builder_class(@target, @check_only))
100
98
  book.chapters.each do |chap|
101
99
  str = compiler.compile(chap)
102
- write("#{chap.name}#{compiler.strategy.extname}", str) unless @check_only
100
+ File.write("#{chap.name}#{compiler.builder.extname}", str) unless @check_only
103
101
  end
104
102
  # PART
105
103
  book.parts_in_file.each do |part|
106
104
  str = compiler.compile(part)
107
- write("#{part.name}#{compiler.strategy.extname}", str) unless @check_only
105
+ File.write("#{part.name}#{compiler.builder.extname}", str) unless @check_only
108
106
  end
109
107
  else
110
108
  raise "must not happen: #{@mode}"
@@ -178,13 +176,9 @@ def warn(msg)
178
176
  @logger.warn msg
179
177
  end
180
178
 
181
- def load_strategy_class(target, strict)
179
+ def load_builder_class(target, strict)
182
180
  require "review/#{target}builder"
183
181
  ReVIEW.const_get("#{target.upcase}Builder").new(strict)
184
182
  end
185
183
 
186
- def write(path, str)
187
- File.open(path, 'w') { |f| f.puts str }
188
- end
189
-
190
184
  main
@@ -53,7 +53,7 @@ ARGF.each do |line|
53
53
  end
54
54
  elsif block == 'table'
55
55
  next if line.start_with?('#@')
56
- if line !~ /\A\-\-\-\-\-/
56
+ if line !~ /\A-----/
57
57
  # table
58
58
  colcount = line.split("\t").size
59
59
  if maxcolcount == 0
@@ -5,7 +5,7 @@
5
5
  # このファイルはUTF-8エンコーディングで記述してください。
6
6
 
7
7
  # この設定ファイルでサポートするRe:VIEWのバージョン番号。
8
- review_version: 4.0
8
+ review_version: 5.0
9
9
 
10
10
  # ほかの設定ファイルの継承を指定できる。同じパラメータに異なる値がある場合は、
11
11
  # 呼び出し元の値が優先される。
@@ -92,6 +92,9 @@ debug: null
92
92
  # ISBN。省略した場合はurnidが入る
93
93
  # isbn: null
94
94
  #
95
+ # @<chap>, @<chapref>, @<title>, @<hd>命令をハイパーリンクにする(nullでハイパーリンクにしない)
96
+ # chapterlink: true
97
+
95
98
  # HTMLファイルの拡張子(省略した場合はhtml)
96
99
  # htmlext: html
97
100
  #
@@ -1,5 +1,5 @@
1
1
  # simple sample of config.yml
2
- review_version: 4.0
2
+ review_version: 5.0
3
3
 
4
4
  # debug: true
5
5
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Re:VIEW フォーマットの文法について解説します。Re:VIEW フォーマットはアスキー社(現カドカワ)の EWB を基本としながら、一部に RD や各種 Wiki の文法を取り入れて簡素化しています。
4
4
 
5
- このドキュメントは、Re:VIEW 3.0 に基づいています。
5
+ このドキュメントは、Re:VIEW 5.0 に基づいています。
6
6
 
7
7
  ## 段落
8
8
 
@@ -255,7 +255,6 @@ puts "hello world!"
255
255
  //}
256
256
  ```
257
257
 
258
-
259
258
  ### ソースコード専用の引用
260
259
 
261
260
  ソースコードを引用するには次のように記述します。
@@ -503,6 +502,19 @@ complexmatrixという識別子に基づく画像ファイルが貼り込まれ
503
502
 
504
503
  内容には、空行で区切って複数の段落を記述可能です。
505
504
 
505
+ Re:VIEW 5.0 以降では、囲み記事に箇条書きや図表・リストを含めることもできます。
506
+
507
+ ```
508
+ //note{
509
+
510
+ 箇条書きを含むノートです。
511
+
512
+ 1. 箇条書き1
513
+ 2. 箇条書き2
514
+
515
+ //}
516
+ ```
517
+
506
518
  ## 脚注
507
519
 
508
520
  脚注は「`//footnote`」を使って記述します。
@@ -589,7 +601,7 @@ LaTeX の式を挿入するには、`//texequation{ 〜 //}` を使います。
589
601
  「式1.1」のように連番を付けたいときには、識別子とキャプションを指定します。
590
602
 
591
603
  ```
592
- //texequationl[emc][質量とエネルギーの等価性]{
604
+ //texequation[emc][質量とエネルギーの等価性]{
593
605
  \sum_{i=1}^nf_n(x)
594
606
  //}
595
607
  ```
@@ -912,9 +924,76 @@ LaTeXビルダを使用している場合:
912
924
 
913
925
  ```
914
926
 
915
-
916
927
  `//raw`、`//embed`、`@<raw>` および `@<embed>` は、HTML、XML や TeX の文書構造を容易に壊す可能性があります。使用には十分に注意してください。
917
928
 
929
+ ### 入れ子の箇条書き
930
+
931
+ Re:VIEW の箇条書きは `*` 型の箇条書きを除き、基本的に入れ子を表現できません。いずれの箇条書きも、別の箇条書き、あるいは図表・リストを箇条書きの途中に配置することを許容していません。
932
+
933
+ この対策として、Re:VIEW 4.2 では試験的に `//beginchild`、`//endchild` というブロック命令を追加しています。箇条書きの途中に何かを含めたいときには、それを `//beginchild` 〜 `//endchild` で囲んで配置します。多重に入れ子にすることも可能です。
934
+
935
+ ```
936
+ * UL1
937
+
938
+ //beginchild
939
+ #@# ここからUL1の子
940
+
941
+ 1. UL1-OL1
942
+
943
+ //beginchild
944
+ #@# ここからUL1-OL1の子
945
+
946
+ UL1-OL1-PARAGRAPH
947
+
948
+ * UL1-OL1-UL1
949
+ * UL1-OL1-UL2
950
+
951
+ //endchild
952
+ #@# ここまでUL1-OL1の子
953
+
954
+ 2. UL1-OL2
955
+
956
+ : UL1-DL1
957
+ UL1-DD1
958
+ : UL1-DL2
959
+ UL1-DD2
960
+
961
+ //endchild
962
+ #@# ここまでUL1の子
963
+
964
+ * UL2
965
+ ```
966
+
967
+ これをたとえば HTML に変換すると、次のようになります。
968
+
969
+ ```
970
+ <ul>
971
+ <li>UL1
972
+ <ol>
973
+ <li>UL1-OL1
974
+ <p>UL1-OL1-PARAGRAPH</p>
975
+ <ul>
976
+ <li>UL1-OL1-UL1</li>
977
+ <li>UL1-OL1-UL2</li>
978
+ </ul>
979
+ </li>
980
+
981
+ <li>UL1-OL2</li>
982
+ </ol>
983
+ <dl>
984
+ <dt>UL1-DL1</dt>
985
+ <dd>UL1-DD1</dd>
986
+ <dt>UL1-DL2</dt>
987
+ <dd>UL1-DD2</dd>
988
+ </dl>
989
+ </li>
990
+
991
+ <li>UL2</li>
992
+ </ul>
993
+ ```
994
+
995
+ (試験実装のため、命令名や挙動は今後のバージョンで変更になる可能性があります。)
996
+
918
997
  ## インライン命令
919
998
  主なインライン命令を次に示します。
920
999
 
@@ -4,8 +4,7 @@ The document is a brief guide for Re:VIEW markup syntax.
4
4
 
5
5
  Re:VIEW is based on EWB of ASCII (now KADOKAWA), influenced RD and other Wiki system's syntax.
6
6
 
7
- This document explains about the format of Re:VIEW 3.0.
8
-
7
+ This document explains about the format of Re:VIEW 5.0.
9
8
 
10
9
  ## Paragraph
11
10
 
@@ -284,7 +283,6 @@ puts "hello world!"
284
283
  //}
285
284
  ```
286
285
 
287
-
288
286
  ### Quoting Source Code
289
287
 
290
288
  `//source` is for quoting source code. filename is mandatory.
@@ -339,7 +337,6 @@ You can use `//image{ ... //}` for figures.
339
337
  You can write comments or Ascii art in the block as an alternative description.
340
338
  When publishing, it's simply ignored.
341
339
 
342
-
343
340
  Usage:
344
341
 
345
342
  ```
@@ -532,6 +529,19 @@ Some block commands are used for short column.
532
529
 
533
530
  The content is like paragraph; separated by empty lines.
534
531
 
532
+ From Re:VIEW 5.0, it is also possible to include itemize, figures and tables in short columns.
533
+
534
+ ```
535
+ //note{
536
+
537
+ With ordered itemize.
538
+
539
+ 1. item1
540
+ 2. item2
541
+
542
+ //}
543
+ ```
544
+
535
545
  ## Footnotes
536
546
 
537
547
  You can use `//footnote` to write footnotes.
@@ -624,7 +634,7 @@ Usage:
624
634
  If you'd like to assign a number like 'Equation 1.1`, specify the identifier and caption.
625
635
 
626
636
  ```
627
- //texequationl[emc][The Equivalence of Mass and Energy]{
637
+ //texequation[emc][The Equivalence of Mass and Energy]{
628
638
  \sum_{i=1}^nf_n(x)
629
639
  //}
630
640
  ```
@@ -956,6 +966,75 @@ this is a special line.
956
966
 
957
967
  (In other formats, it is just ignored.)
958
968
 
969
+ ### Nested itemize block
970
+
971
+ Re:VIEW itemize blocks basically cannot express nested items. Also, none of itemize blocks allow to contain another itemize block or paragraph/image/table/list.
972
+
973
+ As a workaround, Re:VIEW 4.2 provides an experimental `//beginchild` and `//endchild`. If you want to include something in an itemize block, enclose it with `//beginchild` and `//endchild`. It is also possible to create a multiple nest.
974
+
975
+ ```
976
+ * UL1
977
+
978
+ //beginchild
979
+ #@# child of UL1 start
980
+
981
+ 1. UL1-OL1
982
+
983
+ //beginchild
984
+ #@# child of UL1-OL1 start
985
+
986
+ UL1-OL1-PARAGRAPH
987
+
988
+ * UL1-OL1-UL1
989
+ * UL1-OL1-UL2
990
+
991
+ //endchild
992
+ #@# child of UL1-OL1 end
993
+
994
+ 2. UL1-OL2
995
+
996
+ : UL1-DL1
997
+ UL1-DD1
998
+ : UL1-DL2
999
+ UL1-DD2
1000
+
1001
+ //endchild
1002
+ #@# child of UL1 end
1003
+
1004
+ * UL2
1005
+ ```
1006
+
1007
+ Output:
1008
+
1009
+ (In HTML:)
1010
+
1011
+ ```
1012
+ <ul>
1013
+ <li>UL1
1014
+ <ol>
1015
+ <li>UL1-OL1
1016
+ <p>UL1-OL1-PARAGRAPH</p>
1017
+ <ul>
1018
+ <li>UL1-OL1-UL1</li>
1019
+ <li>UL1-OL1-UL2</li>
1020
+ </ul>
1021
+ </li>
1022
+
1023
+ <li>UL1-OL2</li>
1024
+ </ol>
1025
+ <dl>
1026
+ <dt>UL1-DL1</dt>
1027
+ <dd>UL1-DD1</dd>
1028
+ <dt>UL1-DL2</dt>
1029
+ <dd>UL1-DD2</dd>
1030
+ </dl>
1031
+ </li>
1032
+
1033
+ <li>UL2</li>
1034
+ </ul>
1035
+ ```
1036
+
1037
+ (This is an experimental implementation. Names and behaviors may change in future versions.)
959
1038
 
960
1039
  ## Inline Commands
961
1040
 
@@ -1106,13 +1185,11 @@ C
1106
1185
  A,B,C
1107
1186
  ```
1108
1187
 
1109
-
1110
1188
  ## HTML/LaTeX Layout
1111
1189
 
1112
1190
  `layouts/layout.html.erb` and `layouts/layout.tex.erb` are used as layout file.
1113
1191
  You can use ERb tags in the layout files.
1114
1192
 
1115
-
1116
1193
  Sample layout file(layout.html.erb):
1117
1194
 
1118
1195
  ```html
@@ -35,7 +35,7 @@ re ファイル内に、`@<idx>` または `@<hidx>` インラインタグを使
35
35
 
36
36
  [索引]
37
37
 
38
- 表示もする索引です....1
38
+ 表示もする索引....1
39
39
  ```
40
40
 
41
41
  ```
@@ -50,7 +50,7 @@ re ファイル内に、`@<idx>` または `@<hidx>` インラインタグを使
50
50
 
51
51
 
52
52
 
53
- 表示もする索引です....1
53
+ 表示しない索引....1
54
54
  ```
55
55
 
56
56
  ## 読み辞書
@@ -232,8 +232,8 @@ Re:VIEW は定期的に更新されています。おおむね後方互換性を
232
232
 
233
233
  ```bash
234
234
  $ review-update
235
- ** review-update はプロジェクトを 4.1.0 に更新します **
236
- config.yml: 'review_version' を '4.0' に更新しますか? [y]/n ←Enterで実行
235
+ ** review-update はプロジェクトを 5.0.0 に更新します **
236
+ config.yml: 'review_version' を '5.0' に更新しますか? [y]/n ←Enterで実行
237
237
  Rakefile は Re:VIEW バージョンのもの (/.../review/samples/sample-book/src/Rakefile) で置き換えられます。本当に進めますか? [y]/n
238
238
  lib/tasks/review.rake は Re:VIEW バージョンのもの (/.../review/samples/sample-book/src/lib/tasks/review.rake) で置き換えられます。本当に進めますか? [y]/n
239
239
  INFO: 新しいファイル /.../sty/plistings.sty が作成されました。
@@ -249,7 +249,7 @@ INFO: 新しいファイル /.../sty/gentombow.sty が作成されました。
249
249
 
250
250
  ## クレジット
251
251
 
252
- Re:VIEW は、青木峰郎によって最初に作成されました。武藤健志がこの開発・保守を引き継ぎ、2020年3月時点では、武藤健志、高橋征義、角征典が開発・保守を継続しています。
252
+ Re:VIEW は、青木峰郎によって最初に作成されました。武藤健志がこの開発・保守を引き継ぎ、2020年10月時点では、武藤健志、高橋征義、角征典が開発・保守を継続しています。
253
253
 
254
254
  バグ・パッチの報告、その他の情報は、
255
255
 
@@ -235,8 +235,8 @@ Re:VIEW is updated regularly. We Re:VIEW team watch the backward compatibility c
235
235
 
236
236
  ```bash
237
237
  $ review-update
238
- ** review-update updates your project to 4.1.0 **
239
- config.yml: Update 'review_version' to '4.0'? [y]/n
238
+ ** review-update updates your project to 5.0.0 **
239
+ config.yml: Update 'review_version' to '5.0'? [y]/n
240
240
  Rakefile will be overridden with Re:VIEW version (/.../review/samples/sample-book/src/Rakefile). Do you really proceed? [y]/n
241
241
  lib/tasks/review.rake will be overridden with Re:VIEW version (/.../review/samples/sample-book/src/lib/tasks/review.rake). Do you really proceed? [y]/n
242
242
  INFO: new file /.../sty/plistings.sty is created.
@@ -1,6 +1,6 @@
1
1
  # = content.rb -- Content object for EPUBMaker.
2
2
  #
3
- # Copyright (c) 2010-2017 Kenshi Muto
3
+ # Copyright (c) 2010-2020 Kenshi Muto
4
4
  #
5
5
  # This program is free software.
6
6
  # You can distribute or modify this program under the terms of
@@ -73,11 +73,12 @@ module EPUBMaker
73
73
  # Complement other parameters by using file parameter.
74
74
  def complement
75
75
  if @id.nil?
76
- @id = @file.gsub(%r{[\\/\. ]}, '-')
76
+ @id = @file.gsub(%r{[\\/. ]}, '-')
77
77
  end
78
78
  if @id =~ /\A[^a-z]/i
79
79
  @id = "rv-#{@id}"
80
80
  end
81
+ @id = CGI.escape(@id).gsub('%', '_25_')
81
82
 
82
83
  if !@file.nil? && @media.nil?
83
84
  @media = @file.sub(/.+\./, '').downcase