review 2.3.0 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +90 -66
- data/.travis.yml +1 -1
- data/Gemfile +0 -1
- data/NEWS.ja.md +82 -0
- data/NEWS.md +83 -0
- data/README.md +5 -3
- data/Rakefile +8 -8
- data/bin/review +1 -5
- data/bin/review-catalog-converter +22 -27
- data/bin/review-check +36 -43
- data/bin/review-checkdep +10 -15
- data/bin/review-compile +37 -55
- data/bin/review-epubmaker +4 -5
- data/bin/review-index +21 -29
- data/bin/review-init +26 -37
- data/bin/review-pdfmaker +0 -2
- data/bin/review-preproc +25 -45
- data/bin/review-validate +19 -18
- data/bin/review-vol +15 -27
- data/doc/config.yml.sample +5 -2
- data/doc/format.ja.md +20 -1
- data/doc/format.md +21 -5
- data/doc/images/review-generate.png +0 -0
- data/lib/epubmaker.rb +1 -3
- data/lib/epubmaker/content.rb +24 -27
- data/lib/epubmaker/epubcommon.rb +135 -148
- data/lib/epubmaker/epubv2.rb +39 -46
- data/lib/epubmaker/epubv3.rb +93 -103
- data/lib/epubmaker/producer.rb +138 -151
- data/lib/epubmaker/zip_exporter.rb +21 -26
- data/lib/review/book.rb +3 -6
- data/lib/review/book/base.rb +78 -103
- data/lib/review/book/chapter.rb +36 -40
- data/lib/review/book/compilable.rb +28 -31
- data/lib/review/book/image_finder.rb +6 -13
- data/lib/review/book/index.rb +100 -121
- data/lib/review/book/page_metric.rb +2 -7
- data/lib/review/book/part.rb +18 -20
- data/lib/review/book/volume.rb +9 -13
- data/lib/review/builder.rb +81 -116
- data/lib/review/catalog.rb +15 -19
- data/lib/review/compiler.rb +64 -83
- data/lib/review/configure.rb +87 -97
- data/lib/review/converter.rb +2 -7
- data/lib/review/epubbuilder.rb +1 -3
- data/lib/review/epubmaker.rb +213 -205
- data/lib/review/exception.rb +2 -4
- data/lib/review/extentions.rb +0 -1
- data/lib/review/extentions/hash.rb +2 -2
- data/lib/review/extentions/string.rb +5 -30
- data/lib/review/htmlbuilder.rb +320 -375
- data/lib/review/htmltoc.rb +4 -7
- data/lib/review/htmlutils.rb +29 -32
- data/lib/review/i18n.rb +33 -44
- data/lib/review/i18n.yml +3 -3
- data/lib/review/idgxmlbuilder.rb +309 -345
- data/lib/review/latexbuilder.rb +175 -212
- data/lib/review/latexindex.rb +2 -8
- data/lib/review/latexutils.rb +33 -43
- data/lib/review/lineinput.rb +1 -1
- data/lib/review/logger.rb +21 -0
- data/lib/review/makerhelper.rb +1 -4
- data/lib/review/markdownbuilder.rb +44 -53
- data/lib/review/md2inaobuilder.rb +6 -12
- data/lib/review/pdfmaker.rb +143 -173
- data/lib/review/preprocessor.rb +64 -101
- data/lib/review/rstbuilder.rb +126 -158
- data/lib/review/sec_counter.rb +18 -34
- data/lib/review/template.rb +4 -5
- data/lib/review/textbuilder.rb +2 -3
- data/lib/review/textutils.rb +7 -13
- data/lib/review/tocparser.rb +31 -56
- data/lib/review/tocprinter.rb +26 -52
- data/lib/review/topbuilder.rb +219 -247
- data/lib/review/unfold.rb +15 -24
- data/lib/review/version.rb +1 -1
- data/lib/review/webmaker.rb +75 -99
- data/lib/review/webtocprinter.rb +15 -20
- data/lib/review/yamlloader.rb +13 -15
- data/review.gemspec +20 -22
- data/templates/latex/layout.tex.erb +2 -2
- data/templates/opf/epubv2.opf.erb +7 -7
- data/templates/opf/epubv3.opf.erb +7 -7
- data/templates/web/html/layout-html5.html.erb +2 -2
- data/test/assets/black.eps +280 -0
- data/test/assets/fit.png +0 -0
- data/test/assets/large.gif +0 -0
- data/test/assets/large.jpg +0 -0
- data/test/assets/large.png +0 -0
- data/test/assets/large.svg +65 -0
- data/test/assets/test_template.tex +1 -1
- data/test/book_test_helper.rb +2 -2
- data/test/run_test.rb +4 -4
- data/test/sample-book/src/Rakefile +21 -22
- data/test/syntax-book/Gemfile +4 -0
- data/test/syntax-book/Rakefile +72 -0
- data/test/syntax-book/appA.re +22 -0
- data/test/syntax-book/bib.re +6 -0
- data/test/syntax-book/catalog.yml +15 -0
- data/test/syntax-book/ch01.re +136 -0
- data/test/syntax-book/ch02.re +351 -0
- data/test/syntax-book/ch03.re +82 -0
- data/test/syntax-book/config.yml +35 -0
- data/test/syntax-book/images/ball.png +0 -0
- data/test/syntax-book/images/cover.jpg +0 -0
- data/test/syntax-book/images/fractal.png +0 -0
- data/test/syntax-book/images/img3-1.png +0 -0
- data/test/syntax-book/images/inlineicon.jpg +0 -0
- data/test/syntax-book/images/logic.png +0 -0
- data/test/syntax-book/images/logic2.png +0 -0
- data/test/syntax-book/images/puzzle.jpg +0 -0
- data/test/syntax-book/images/table.jpg +0 -0
- data/test/syntax-book/part2.re +6 -0
- data/test/syntax-book/pre01.re +26 -0
- data/test/syntax-book/review-ext.rb +14 -0
- data/test/syntax-book/sty/jumoline.sty +310 -0
- data/test/syntax-book/sty/reviewmacro.sty +39 -0
- data/test/syntax-book/style.css +494 -0
- data/test/syntax-book/syntax.dic +2 -0
- data/test/test_book.rb +106 -111
- data/test/test_book_chapter.rb +21 -22
- data/test/test_book_part.rb +3 -5
- data/test/test_builder.rb +11 -22
- data/test/test_catalog.rb +17 -18
- data/test/test_catalog_converter_cmd.rb +5 -5
- data/test/test_compiler.rb +18 -16
- data/test/test_configure.rb +35 -38
- data/test/test_converter.rb +3 -4
- data/test/test_epub3maker.rb +136 -117
- data/test/test_epubmaker.rb +107 -114
- data/test/test_epubmaker_cmd.rb +2 -4
- data/test/test_extentions_hash.rb +32 -33
- data/test/test_helper.rb +9 -11
- data/test/test_htmlbuilder.rb +454 -420
- data/test/test_htmltoc.rb +8 -12
- data/test/test_htmlutils.rb +0 -2
- data/test/test_i18n.rb +159 -150
- data/test/test_idgxmlbuilder.rb +190 -197
- data/test/test_image_finder.rb +21 -22
- data/test/test_index.rb +24 -29
- data/test/test_latexbuilder.rb +274 -264
- data/test/test_lineinput.rb +7 -10
- data/test/test_location.rb +7 -7
- data/test/test_makerhelper.rb +13 -25
- data/test/test_markdownbuilder.rb +23 -26
- data/test/test_md2inaobuilder.rb +8 -11
- data/test/test_pdfmaker.rb +114 -123
- data/test/test_pdfmaker_cmd.rb +1 -3
- data/test/test_review_ext.rb +3 -5
- data/test/test_rstbuilder.rb +92 -97
- data/test/test_template.rb +3 -7
- data/test/test_textutils.rb +27 -27
- data/test/test_tocparser.rb +2 -2
- data/test/test_topbuilder.rb +98 -103
- data/test/test_webtocprinter.rb +5 -6
- data/test/test_yamlloader.rb +42 -42
- data/test/test_zip_exporter.rb +12 -18
- metadata +86 -9
- data/lib/review/ewbbuilder.rb +0 -382
data/lib/review/latexindex.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
#
|
4
|
-
# Copyright (c) 2002-2006 Minero Aoki
|
1
|
+
# Copyright (c) 2017 Minero Aoki, Kenshi Muto
|
2
|
+
# 2002-2006 Minero Aoki
|
5
3
|
#
|
6
4
|
# This program is free software.
|
7
5
|
# You can distribute or modify this program under the terms of
|
@@ -10,9 +8,7 @@
|
|
10
8
|
#
|
11
9
|
|
12
10
|
module ReVIEW
|
13
|
-
|
14
11
|
class LaTeXIndex
|
15
|
-
|
16
12
|
def load(path)
|
17
13
|
table = {}
|
18
14
|
File.foreach(path) do |line|
|
@@ -29,7 +25,5 @@ module ReVIEW
|
|
29
25
|
def [](key)
|
30
26
|
@table.fetch(key)
|
31
27
|
end
|
32
|
-
|
33
28
|
end
|
34
|
-
|
35
29
|
end
|
data/lib/review/latexutils.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
1
|
# Copyright (c) 2002-2006 Minero Aoki
|
4
2
|
# Copyright (c) 2006-2017 Minero Aoki, Kenshi Muto and Masayoshi Takahashi
|
5
3
|
#
|
@@ -12,13 +10,11 @@
|
|
12
10
|
require 'nkf'
|
13
11
|
|
14
12
|
module ReVIEW
|
15
|
-
|
16
13
|
module LaTeXUtils
|
17
|
-
|
18
14
|
def initialize_metachars(texcommand)
|
19
15
|
@metachars = {
|
20
16
|
'#' => '\#',
|
21
|
-
|
17
|
+
'$' => '\textdollar{}',
|
22
18
|
'%' => '\%',
|
23
19
|
'&' => '\&',
|
24
20
|
'{' => '\{',
|
@@ -29,36 +25,36 @@ module ReVIEW
|
|
29
25
|
'|' => '\textbar{}',
|
30
26
|
'<' => '\textless{}',
|
31
27
|
'>' => '\textgreater{}',
|
32
|
-
|
33
|
-
|
28
|
+
'\\' => '\reviewbackslash{}',
|
29
|
+
'-' => '{-}'
|
34
30
|
}
|
35
31
|
|
36
|
-
if File.basename(texcommand,
|
37
|
-
@metachars.merge!(
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
kanalist = %w
|
32
|
+
if File.basename(texcommand, '.*') == 'platex'
|
33
|
+
@metachars.merge!(
|
34
|
+
'⓪' => '\UTF{24EA}',
|
35
|
+
'①' => '\UTF{2460}',
|
36
|
+
'②' => '\UTF{2461}',
|
37
|
+
'③' => '\UTF{2462}',
|
38
|
+
'④' => '\UTF{2463}',
|
39
|
+
'⑤' => '\UTF{2464}',
|
40
|
+
'⑥' => '\UTF{2465}',
|
41
|
+
'⑦' => '\UTF{2466}',
|
42
|
+
'⑧' => '\UTF{2467}',
|
43
|
+
'⑨' => '\UTF{2468}',
|
44
|
+
'⑩' => '\UTF{2469}',
|
45
|
+
'⑪' => '\UTF{246A}',
|
46
|
+
'⑫' => '\UTF{246B}',
|
47
|
+
'⑬' => '\UTF{246C}',
|
48
|
+
'⑭' => '\UTF{246D}',
|
49
|
+
'⑮' => '\UTF{246E}',
|
50
|
+
'⑯' => '\UTF{246F}'
|
51
|
+
)
|
52
|
+
|
53
|
+
kanalist = %w[。 「 」 、 ・ ヲ ァ ィ ゥ ェ ォ ャ ュ ョ ッ ー ア イ ウ エ
|
58
54
|
オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ
|
59
|
-
ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ン ゙ ゚
|
55
|
+
ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ン ゙ ゚]
|
60
56
|
kanalist.each do |char|
|
61
|
-
char_jisx0208 = NKF.nkf('-WwX',char)
|
57
|
+
char_jisx0208 = NKF.nkf('-WwX', char)
|
62
58
|
@metachars[char] = "\\aj半角{#{char_jisx0208}}"
|
63
59
|
end
|
64
60
|
end
|
@@ -69,34 +65,28 @@ module ReVIEW
|
|
69
65
|
end
|
70
66
|
|
71
67
|
def escape_latex(str)
|
72
|
-
str.gsub(@metachars_re) {|s|
|
73
|
-
@metachars[s] or raise "unknown trans char: #{s}"
|
74
|
-
}
|
68
|
+
str.gsub(@metachars_re) { |s| @metachars[s] or raise "unknown trans char: #{s}" }
|
75
69
|
end
|
76
70
|
|
77
71
|
alias_method :escape, :escape_latex
|
78
72
|
|
79
73
|
def unescape_latex(str)
|
80
|
-
metachars_invert_re = Regexp.new(@metachars_invert.keys.collect{|key| Regexp.escape(key)}.join('|'))
|
81
|
-
str.gsub(metachars_invert_re) {|s|
|
82
|
-
@metachars_invert[s] or raise "unknown trans char: #{s}"
|
83
|
-
}
|
74
|
+
metachars_invert_re = Regexp.new(@metachars_invert.keys.collect { |key| Regexp.escape(key) }.join('|'))
|
75
|
+
str.gsub(metachars_invert_re) { |s| @metachars_invert[s] or raise "unknown trans char: #{s}" }
|
84
76
|
end
|
85
77
|
|
86
78
|
alias_method :unescape, :unescape_latex
|
87
79
|
|
88
80
|
def escape_index(str)
|
89
|
-
str.gsub(/[@!|"]/) {|s| '"' + s }
|
81
|
+
str.gsub(/[@!|"]/) { |s| '"' + s }
|
90
82
|
end
|
91
83
|
|
92
84
|
def escape_url(str)
|
93
|
-
str.gsub(/[\#%]/) {|s| '\\'+s }
|
85
|
+
str.gsub(/[\#%]/) { |s| '\\' + s }
|
94
86
|
end
|
95
87
|
|
96
88
|
def macro(name, *args)
|
97
|
-
"\\#{name}" + args.map {|a| "{#{a}}" }.join
|
89
|
+
"\\#{name}" + args.map { |a| "{#{a}}" }.join
|
98
90
|
end
|
99
|
-
|
100
91
|
end
|
101
|
-
|
102
92
|
end
|
data/lib/review/lineinput.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'logger'
|
2
|
+
|
3
|
+
module ReVIEW
|
4
|
+
class Logger < ::Logger
|
5
|
+
def initialize(*logdev)
|
6
|
+
if logdev.empty?
|
7
|
+
super(STDERR, formatter: ->(severity, _datetime, _progname, msg) { "#{severity}: #{msg}\n" })
|
8
|
+
else
|
9
|
+
super
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.logger
|
15
|
+
@logger ||= ReVIEW::Logger.new
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.logger=(logger)
|
19
|
+
@logger = logger
|
20
|
+
end
|
21
|
+
end
|
data/lib/review/makerhelper.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
1
|
# Copyright (c) 2012-2017 Yuto HAYAMIZU, Kenshi Muto
|
4
2
|
#
|
5
3
|
# This program is free software.
|
@@ -53,7 +51,7 @@ module ReVIEW
|
|
53
51
|
image_files << "#{from_dir}/#{fname}.#{conv_type}"
|
54
52
|
end
|
55
53
|
|
56
|
-
exts = options[:exts] || %w
|
54
|
+
exts = options[:exts] || %w[png gif jpg jpeg svg pdf eps ai tif]
|
57
55
|
exts_str = exts.join('|')
|
58
56
|
if !is_converted && fname =~ /\.(#{exts_str})$/i
|
59
57
|
FileUtils.cp "#{from_dir}/#{fname}", to_dir
|
@@ -66,6 +64,5 @@ module ReVIEW
|
|
66
64
|
image_files
|
67
65
|
end
|
68
66
|
module_function :copy_images_to_dir
|
69
|
-
|
70
67
|
end
|
71
68
|
end
|
@@ -1,5 +1,3 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
|
3
1
|
# This program is free software.
|
4
2
|
# You can distribute or modify this program under the terms of
|
5
3
|
# the GNU LGPL, Lesser General Public License version 2.1.
|
@@ -9,7 +7,6 @@ require 'review/textutils'
|
|
9
7
|
require 'review/htmlutils'
|
10
8
|
|
11
9
|
module ReVIEW
|
12
|
-
|
13
10
|
class MARKDOWNBuilder < Builder
|
14
11
|
include TextUtils
|
15
12
|
include HTMLUtils
|
@@ -21,7 +18,7 @@ module ReVIEW
|
|
21
18
|
def builder_init_file
|
22
19
|
@blank_seen = nil
|
23
20
|
@ul_indent = 0
|
24
|
-
@chapter.book.image_types = %w
|
21
|
+
@chapter.book.image_types = %w[.png .jpg .jpeg .gif .svg]
|
25
22
|
end
|
26
23
|
private :builder_init_file
|
27
24
|
|
@@ -35,16 +32,16 @@ module ReVIEW
|
|
35
32
|
@blank_seen = true
|
36
33
|
end
|
37
34
|
|
38
|
-
def headline(level,
|
35
|
+
def headline(level, _label, caption)
|
39
36
|
blank
|
40
|
-
prefix =
|
37
|
+
prefix = '#' * level
|
41
38
|
puts "#{prefix} #{caption}"
|
42
39
|
blank
|
43
40
|
end
|
44
41
|
|
45
42
|
def quote(lines)
|
46
43
|
blank
|
47
|
-
puts split_paragraph(lines).map{|line| "> #{line}"}.join("\n> \n")
|
44
|
+
puts split_paragraph(lines).map { |line| "> #{line}" }.join("\n> \n")
|
48
45
|
blank
|
49
46
|
end
|
50
47
|
|
@@ -55,15 +52,15 @@ module ReVIEW
|
|
55
52
|
|
56
53
|
def list_header(id, caption, lang)
|
57
54
|
if get_chap.nil?
|
58
|
-
print %Q
|
55
|
+
print %Q(リスト#{@chapter.list(id).number} #{compile_inline(caption)}\n\n)
|
59
56
|
else
|
60
|
-
print %Q
|
57
|
+
print %Q(リスト#{get_chap}.#{@chapter.list(id).number} #{compile_inline(caption)}\n\n)
|
61
58
|
end
|
62
|
-
lang ||=
|
59
|
+
lang ||= ''
|
63
60
|
puts "```#{lang}"
|
64
61
|
end
|
65
62
|
|
66
|
-
def list_body(
|
63
|
+
def list_body(_id, lines, _lang)
|
67
64
|
lines.each do |line|
|
68
65
|
puts detab(line)
|
69
66
|
end
|
@@ -76,7 +73,7 @@ module ReVIEW
|
|
76
73
|
end
|
77
74
|
|
78
75
|
def ul_item_begin(lines)
|
79
|
-
puts
|
76
|
+
puts ' ' * (@ul_indent - 1) + '* ' + lines.join
|
80
77
|
end
|
81
78
|
|
82
79
|
def ul_item_end
|
@@ -121,17 +118,17 @@ module ReVIEW
|
|
121
118
|
puts caption
|
122
119
|
print "\n"
|
123
120
|
end
|
124
|
-
lang ||=
|
121
|
+
lang ||= ''
|
125
122
|
puts "```#{lang}"
|
126
123
|
lines.each do |line|
|
127
124
|
puts detab(line)
|
128
125
|
end
|
129
|
-
puts
|
126
|
+
puts '```'
|
130
127
|
blank
|
131
128
|
end
|
132
129
|
|
133
130
|
def hr
|
134
|
-
puts
|
131
|
+
puts '----'
|
135
132
|
end
|
136
133
|
|
137
134
|
def compile_href(url, label)
|
@@ -163,43 +160,41 @@ module ReVIEW
|
|
163
160
|
"`#{str}`"
|
164
161
|
end
|
165
162
|
|
166
|
-
def image_image(id, caption,
|
163
|
+
def image_image(id, caption, _metric)
|
167
164
|
blank
|
168
|
-
puts "![#{compile_inline(caption)}](#{@chapter.image(id).path.sub(
|
165
|
+
puts "![#{compile_inline(caption)}](#{@chapter.image(id).path.sub(%r{\A\./}, '')})"
|
169
166
|
blank
|
170
167
|
end
|
171
168
|
|
172
|
-
def image_dummy(
|
169
|
+
def image_dummy(_id, _caption, lines)
|
173
170
|
puts lines.join
|
174
171
|
end
|
175
172
|
|
176
173
|
def inline_img(id)
|
177
|
-
"#{I18n.t(
|
174
|
+
"#{I18n.t('image')}#{@chapter.image(id).number}"
|
178
175
|
rescue KeyError
|
179
176
|
error "unknown image: #{id}"
|
180
177
|
nofunc_text("[UnknownImage:#{id}]")
|
181
178
|
end
|
182
179
|
|
183
|
-
def indepimage(id, caption=
|
180
|
+
def indepimage(_lines, id, caption = '', _metric = nil)
|
184
181
|
blank
|
185
|
-
puts "![#{compile_inline(caption)}](#{@chapter.image(id).path.sub(
|
182
|
+
puts "![#{compile_inline(caption)}](#{@chapter.image(id).path.sub(%r{\A\./}, '')})"
|
186
183
|
blank
|
187
184
|
end
|
188
185
|
|
189
186
|
def pagebreak
|
190
|
-
puts
|
187
|
+
puts '{pagebreak}'
|
191
188
|
end
|
192
189
|
|
193
190
|
def image_ext
|
194
|
-
|
191
|
+
'jpg'
|
195
192
|
end
|
196
193
|
|
197
194
|
def cmd(lines)
|
198
|
-
puts
|
199
|
-
lines.each
|
200
|
-
|
201
|
-
end
|
202
|
-
puts "```"
|
195
|
+
puts '```shell-session'
|
196
|
+
lines.each { |line| puts detab(line) }
|
197
|
+
puts '```'
|
203
198
|
end
|
204
199
|
|
205
200
|
def table(lines, id = nil, caption = nil)
|
@@ -208,11 +203,11 @@ module ReVIEW
|
|
208
203
|
lines.each_with_index do |line, idx|
|
209
204
|
if /\A[\=\-]{12}/ =~ line
|
210
205
|
# just ignore
|
211
|
-
#error "too many table separator" if sepidx
|
206
|
+
# error "too many table separator" if sepidx
|
212
207
|
sepidx ||= idx
|
213
208
|
next
|
214
209
|
end
|
215
|
-
rows.push(line.strip.split(/\t+/).map {|s| s.sub(/\A\./, '') })
|
210
|
+
rows.push(line.strip.split(/\t+/).map { |s| s.sub(/\A\./, '') })
|
216
211
|
end
|
217
212
|
rows = adjust_n_cols(rows)
|
218
213
|
|
@@ -225,16 +220,16 @@ module ReVIEW
|
|
225
220
|
return if rows.empty?
|
226
221
|
if sepidx
|
227
222
|
sepidx.times do
|
228
|
-
tr(rows.shift.map {|s| th(s) })
|
223
|
+
tr(rows.shift.map { |s| th(s) })
|
229
224
|
end
|
230
225
|
table_border rows.first.size
|
231
226
|
rows.each do |cols|
|
232
|
-
tr(cols.map {|s| td(s) })
|
227
|
+
tr(cols.map { |s| td(s) })
|
233
228
|
end
|
234
229
|
else
|
235
230
|
rows.each do |cols|
|
236
231
|
h, *cs = *cols
|
237
|
-
tr([th(h)] + cs.map {|s| td(s) })
|
232
|
+
tr([th(h)] + cs.map { |s| td(s) })
|
238
233
|
end
|
239
234
|
end
|
240
235
|
table_end
|
@@ -243,12 +238,10 @@ module ReVIEW
|
|
243
238
|
def table_header(id, caption)
|
244
239
|
if id.nil?
|
245
240
|
puts compile_inline(caption)
|
241
|
+
elsif get_chap
|
242
|
+
puts %Q(#{I18n.t('table')}#{I18n.t('format_number_header', [get_chap, @chapter.table(id).number])}#{I18n.t('caption_prefix')}#{compile_inline(caption)})
|
246
243
|
else
|
247
|
-
|
248
|
-
puts %Q[#{I18n.t("table")}#{I18n.t("format_number_header_without_chapter", [@chapter.table(id).number])}#{I18n.t("caption_prefix")}#{compile_inline(caption)}]
|
249
|
-
else
|
250
|
-
puts %Q[#{I18n.t("table")}#{I18n.t("format_number_header", [get_chap, @chapter.table(id).number])}#{I18n.t("caption_prefix")}#{compile_inline(caption)}]
|
251
|
-
end
|
244
|
+
puts %Q(#{I18n.t('table')}#{I18n.t('format_number_header_without_chapter', [@chapter.table(id).number])}#{I18n.t('caption_prefix')}#{compile_inline(caption)})
|
252
245
|
end
|
253
246
|
blank
|
254
247
|
end
|
@@ -257,19 +250,19 @@ module ReVIEW
|
|
257
250
|
end
|
258
251
|
|
259
252
|
def tr(rows)
|
260
|
-
puts "|#{rows.join(
|
253
|
+
puts "|#{rows.join('|')}|"
|
261
254
|
end
|
262
255
|
|
263
256
|
def table_border(ncols)
|
264
|
-
puts
|
257
|
+
puts((0..ncols).map { '|' }.join(':--'))
|
265
258
|
end
|
266
259
|
|
267
260
|
def th(str)
|
268
|
-
|
261
|
+
str
|
269
262
|
end
|
270
263
|
|
271
264
|
def td(str)
|
272
|
-
|
265
|
+
str
|
273
266
|
end
|
274
267
|
|
275
268
|
def table_end
|
@@ -285,7 +278,7 @@ module ReVIEW
|
|
285
278
|
"[^#{id}]"
|
286
279
|
end
|
287
280
|
|
288
|
-
def inline_br(
|
281
|
+
def inline_br(_str)
|
289
282
|
"\n"
|
290
283
|
end
|
291
284
|
|
@@ -295,28 +288,26 @@ module ReVIEW
|
|
295
288
|
|
296
289
|
def compile_ruby(base, ruby)
|
297
290
|
if @book.htmlversion == 5
|
298
|
-
%Q
|
291
|
+
%Q(<ruby>#{escape_html(base)}<rp>#{I18n.t('ruby_prefix')}</rp><rt>#{escape_html(ruby)}</rt><rp>#{I18n.t('ruby_postfix')}</rp></ruby>)
|
299
292
|
else
|
300
|
-
%Q
|
293
|
+
%Q(<ruby><rb>#{escape_html(base)}</rb><rp>#{I18n.t('ruby_prefix')}</rp><rt>#{ruby}</rt><rp>#{I18n.t('ruby_postfix')}</rp></ruby>)
|
301
294
|
end
|
302
295
|
end
|
303
296
|
|
304
297
|
def comment(lines, comment = nil)
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
end
|
298
|
+
return unless @book.config['draft']
|
299
|
+
lines ||= []
|
300
|
+
lines.unshift comment unless comment.blank?
|
301
|
+
str = lines.join('<br />')
|
302
|
+
puts %Q(<div class="red">#{escape_html(str)}</div>)
|
311
303
|
end
|
312
304
|
|
313
305
|
def inline_comment(str)
|
314
|
-
if @book.config[
|
306
|
+
if @book.config['draft']
|
315
307
|
%Q(<span class="red">#{escape_html(str)}</span>)
|
316
308
|
else
|
317
309
|
''
|
318
310
|
end
|
319
311
|
end
|
320
312
|
end
|
321
|
-
|
322
313
|
end # module ReVIEW
|