Class: ReVIEW::MARKDOWNBuilder
Constant Summary
Constants inherited
from Builder
Builder::CAPTION_TITLES
Instance Method Summary
collapse
-
#blank ⇒ Object
-
#cmd(lines) ⇒ Object
-
#compile_href(url, label) ⇒ Object
-
#emlist(lines, caption = nil, lang = nil) ⇒ Object
-
#extname ⇒ Object
-
#footnote(id, str) ⇒ Object
-
#headline(level, label, caption) ⇒ Object
-
#hr ⇒ Object
-
#image_dummy(id, caption, lines) ⇒ Object
-
#image_ext ⇒ Object
-
#image_image(id, caption, metric) ⇒ Object
-
#indepimage(id, caption = "", metric = nil) ⇒ Object
-
#inline_b(str) ⇒ Object
-
#inline_br(str) ⇒ Object
-
#inline_code(str) ⇒ Object
-
#inline_em(str) ⇒ Object
-
#inline_fn(id) ⇒ Object
-
#inline_i(str) ⇒ Object
-
#inline_img(id) ⇒ Object
-
#inline_strong(str) ⇒ Object
-
#inline_tt(str) ⇒ Object
-
#list_body(id, lines, lang) ⇒ Object
-
#list_header(id, caption, lang) ⇒ Object
-
#nofunc_text(str) ⇒ Object
-
#ol_begin ⇒ Object
-
#ol_end ⇒ Object
-
#ol_item(lines, num) ⇒ Object
-
#pagebreak ⇒ Object
-
#paragraph(lines) ⇒ Object
-
#puts(str) ⇒ Object
-
#quote(lines) ⇒ Object
-
#table(lines, id = nil, caption = nil) ⇒ Object
-
#table_begin(ncols) ⇒ Object
-
#table_border(ncols) ⇒ Object
-
#table_end ⇒ Object
-
#table_header(id, caption) ⇒ Object
-
#td(str) ⇒ Object
-
#th(str) ⇒ Object
-
#tr(rows) ⇒ Object
-
#ul_begin ⇒ Object
-
#ul_end ⇒ Object
-
#ul_item(lines) ⇒ Object
-
#ul_item_begin(lines) ⇒ Object
-
#ul_item_end ⇒ Object
Methods included from TextUtils
#convert_inencoding, #convert_outencoding, #detab, #split_paragraph
Methods inherited from Builder
#bibpaper, #bind, #captionblock, #compile_inline, #detab, #error, #extract_chapter_id, #get_chap, #graph, #handle_metric, #image, #include, #initialize, #inline_bou, #inline_chap, #inline_chapref, #inline_column, #inline_hd, #inline_href, #inline_imgref, #inline_include, #inline_kw, #inline_list, #inline_raw, #inline_ruby, #inline_table, #inline_title, #list, #listnum, #parse_metric, #post_paragraph, #pre_paragraph, #print, #raw, #result, #result_metric, #source, #target_name, #text, #warn
Instance Method Details
29
30
31
32
|
# File 'lib/review/markdownbuilder.rb', line 29
def blank
@output.puts unless @blank_seen
@blank_seen = true
end
|
#cmd(lines) ⇒ Object
181
182
183
184
185
186
187
|
# File 'lib/review/markdownbuilder.rb', line 181
def cmd(lines)
puts "```shell-session"
lines.each do |line|
puts detab(line)
end
puts "```"
end
|
#compile_href(url, label) ⇒ Object
120
121
122
123
|
# File 'lib/review/markdownbuilder.rb', line 120
def compile_href(url, label)
label = url if label.blank?
"[#{label}](#{url})"
end
|
#emlist(lines, caption = nil, lang = nil) ⇒ Object
102
103
104
105
106
107
108
109
110
111
112
113
114
|
# File 'lib/review/markdownbuilder.rb', line 102
def emlist(lines, caption = nil, lang = nil)
blank
if caption
puts caption
end
lang ||= ""
puts "```#{lang}"
lines.each do |line|
puts detab(line)
end
puts "```"
blank
end
|
14
15
16
|
# File 'lib/review/markdownbuilder.rb', line 14
def extname
'.md'
end
|
259
260
261
262
|
# File 'lib/review/markdownbuilder.rb', line 259
def (id, str)
puts "[^#{id}]: #{compile_inline(str)}"
blank
end
|
#headline(level, label, caption) ⇒ Object
34
35
36
37
38
39
|
# File 'lib/review/markdownbuilder.rb', line 34
def headline(level, label, caption)
blank
prefix = "#" * level
puts "#{prefix} #{caption}"
blank
end
|
116
117
118
|
# File 'lib/review/markdownbuilder.rb', line 116
def hr
puts "----"
end
|
#image_dummy(id, caption, lines) ⇒ Object
156
157
158
|
# File 'lib/review/markdownbuilder.rb', line 156
def image_dummy(id, caption, lines)
puts lines.join
end
|
#image_ext ⇒ Object
177
178
179
|
# File 'lib/review/markdownbuilder.rb', line 177
def image_ext
"jpg"
end
|
#image_image(id, caption, metric) ⇒ Object
150
151
152
153
154
|
# File 'lib/review/markdownbuilder.rb', line 150
def image_image(id, caption, metric)
blank
puts ".path.sub(/\A\.\//, "")})"
blank
end
|
#indepimage(id, caption = "", metric = nil) ⇒ Object
167
168
169
170
171
|
# File 'lib/review/markdownbuilder.rb', line 167
def indepimage(id, caption="", metric=nil)
blank
puts ".path.sub(/\A\.\//, "")})"
blank
end
|
#inline_b(str) ⇒ Object
133
134
135
|
# File 'lib/review/markdownbuilder.rb', line 133
def inline_b(str)
"**#{str.gsub(/\*/, '\*')}**"
end
|
#inline_br(str) ⇒ Object
268
269
270
|
# File 'lib/review/markdownbuilder.rb', line 268
def inline_br(str)
"\n"
end
|
#inline_code(str) ⇒ Object
141
142
143
|
# File 'lib/review/markdownbuilder.rb', line 141
def inline_code(str)
"`#{str}`"
end
|
#inline_em(str) ⇒ Object
129
130
131
|
# File 'lib/review/markdownbuilder.rb', line 129
def inline_em(str)
"*#{str.gsub(/\*/, '\*')}*"
end
|
#inline_fn(id) ⇒ Object
264
265
266
|
# File 'lib/review/markdownbuilder.rb', line 264
def inline_fn(id)
"[^#{id}]"
end
|
#inline_i(str) ⇒ Object
125
126
127
|
# File 'lib/review/markdownbuilder.rb', line 125
def inline_i(str)
"*#{str.gsub(/\*/, '\*')}*"
end
|
#inline_img(id) ⇒ Object
160
161
162
163
164
165
|
# File 'lib/review/markdownbuilder.rb', line 160
def inline_img(id)
"#{I18n.t("image")}#{@chapter.image(id).number}"
rescue KeyError
error "unknown image: #{id}"
nofunc_text("[UnknownImage:#{id}]")
end
|
#inline_strong(str) ⇒ Object
137
138
139
|
# File 'lib/review/markdownbuilder.rb', line 137
def inline_strong(str)
"**#{str.gsub(/\*/, '\*')}**"
end
|
#inline_tt(str) ⇒ Object
145
146
147
|
# File 'lib/review/markdownbuilder.rb', line 145
def inline_tt(str)
"`#{str}`"
end
|
#list_body(id, lines, lang) ⇒ Object
62
63
64
65
66
67
|
# File 'lib/review/markdownbuilder.rb', line 62
def list_body(id, lines, lang)
lines.each do |line|
puts detab(line)
end
puts '```'
end
|
52
53
54
55
56
57
58
59
60
|
# File 'lib/review/markdownbuilder.rb', line 52
def (id, caption, lang)
if get_chap.nil?
puts %Q[リスト#{@chapter.list(id).number} #{compile_inline(caption)}]
else
puts %Q[リスト#{get_chap}.#{@chapter.list(id).number} #{compile_inline(caption)}]
end
lang ||= ""
puts "```#{lang}"
end
|
#nofunc_text(str) ⇒ Object
272
273
274
|
# File 'lib/review/markdownbuilder.rb', line 272
def nofunc_text(str)
str
end
|
90
91
92
|
# File 'lib/review/markdownbuilder.rb', line 90
def ol_begin
blank
end
|
98
99
100
|
# File 'lib/review/markdownbuilder.rb', line 98
def ol_end
blank
end
|
#ol_item(lines, num) ⇒ Object
94
95
96
|
# File 'lib/review/markdownbuilder.rb', line 94
def ol_item(lines, num)
puts "#{num}. #{lines.join}"
end
|
#pagebreak ⇒ Object
173
174
175
|
# File 'lib/review/markdownbuilder.rb', line 173
def pagebreak
puts "{pagebreak}"
end
|
#paragraph(lines) ⇒ Object
47
48
49
50
|
# File 'lib/review/markdownbuilder.rb', line 47
def paragraph(lines)
puts lines.join
puts "\n"
end
|
#puts(str) ⇒ Object
24
25
26
27
|
# File 'lib/review/markdownbuilder.rb', line 24
def puts(str)
@blank_seen = false
super
end
|
#quote(lines) ⇒ Object
41
42
43
44
45
|
# File 'lib/review/markdownbuilder.rb', line 41
def quote(lines)
blank
puts split_paragraph(lines).map{|line| "> #{line}"}.join("\n> \n")
blank
end
|
#table(lines, id = nil, caption = nil) ⇒ Object
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
|
# File 'lib/review/markdownbuilder.rb', line 189
def table(lines, id = nil, caption = nil)
rows = []
sepidx = nil
lines.each_with_index do |line, idx|
if /\A[\=\-]{12}/ =~ line
sepidx ||= idx
next
end
rows.push line.strip.split(/\t+/).map {|s| s.sub(/\A\./, '') }
end
rows = adjust_n_cols(rows)
begin
id, caption unless caption.nil?
rescue KeyError
error "no such table: #{id}"
end
table_begin rows.first.size
return if rows.empty?
if sepidx
sepidx.times do
tr rows.shift.map {|s| th(s) }
end
table_border rows.first.size
rows.each do |cols|
tr cols.map {|s| td(s) }
end
else
rows.each do |cols|
h, *cs = *cols
tr [th(h)] + cs.map {|s| td(s) }
end
end
table_end
end
|
#table_begin(ncols) ⇒ Object
236
237
|
# File 'lib/review/markdownbuilder.rb', line 236
def table_begin(ncols)
end
|
#table_border(ncols) ⇒ Object
243
244
245
|
# File 'lib/review/markdownbuilder.rb', line 243
def table_border(ncols)
puts (0..ncols).map{"|"}.join(":--")
end
|
#table_end ⇒ Object
255
256
257
|
# File 'lib/review/markdownbuilder.rb', line 255
def table_end
blank
end
|
227
228
229
230
231
232
233
234
|
# File 'lib/review/markdownbuilder.rb', line 227
def (id, caption)
if get_chap.nil?
puts %Q[#{I18n.t("table")}#{I18n.t("format_number_header_without_chapter", [@chapter.table(id).number])}#{I18n.t("caption_prefix")}#{compile_inline(caption)}]
else
puts %Q[#{I18n.t("table")}#{I18n.t("format_number_header", [get_chap, @chapter.table(id).number])}#{I18n.t("caption_prefix")}#{compile_inline(caption)}]
end
blank
end
|
251
252
253
|
# File 'lib/review/markdownbuilder.rb', line 251
def td(str)
"#{str}"
end
|
247
248
249
|
# File 'lib/review/markdownbuilder.rb', line 247
def th(str)
"#{str}"
end
|
239
240
241
|
# File 'lib/review/markdownbuilder.rb', line 239
def tr(rows)
puts "|#{rows.join("|")}|"
end
|
69
70
71
72
|
# File 'lib/review/markdownbuilder.rb', line 69
def ul_begin
blank if @ul_indent == 0
@ul_indent += 1
end
|
85
86
87
88
|
# File 'lib/review/markdownbuilder.rb', line 85
def ul_end
@ul_indent -= 1
blank if @ul_indent == 0
end
|
#ul_item(lines) ⇒ Object
74
75
76
|
# File 'lib/review/markdownbuilder.rb', line 74
def ul_item(lines)
puts " " * (@ul_indent - 1) + "* " + "#{lines.join}"
end
|
#ul_item_begin(lines) ⇒ Object
78
79
80
|
# File 'lib/review/markdownbuilder.rb', line 78
def ul_item_begin(lines)
puts " " * (@ul_indent - 1) + "* " + "#{lines.join}"
end
|
#ul_item_end ⇒ Object
82
83
|
# File 'lib/review/markdownbuilder.rb', line 82
def ul_item_end
end
|