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) ⇒ 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
-
#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_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
163
164
165
166
167
168
169
|
# File 'lib/review/markdownbuilder.rb', line 163
def cmd(lines)
puts "```"
lines.each do |line|
puts detab(line)
end
puts "```"
end
|
#compile_href(url, label) ⇒ Object
102
103
104
105
|
# File 'lib/review/markdownbuilder.rb', line 102
def compile_href(url, label)
label = url if label.blank?
"[#{label}](#{url})"
end
|
#emlist(lines, caption = nil) ⇒ Object
85
86
87
88
89
90
91
92
93
94
95
96
|
# File 'lib/review/markdownbuilder.rb', line 85
def emlist(lines, caption = nil)
blank
if caption
puts caption
end
puts "```"
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
|
241
242
243
244
|
# File 'lib/review/markdownbuilder.rb', line 241
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
|
98
99
100
|
# File 'lib/review/markdownbuilder.rb', line 98
def hr
puts "----"
end
|
#image_dummy(id, caption, lines) ⇒ Object
138
139
140
|
# File 'lib/review/markdownbuilder.rb', line 138
def image_dummy(id, caption, lines)
puts lines.join
end
|
#image_ext ⇒ Object
159
160
161
|
# File 'lib/review/markdownbuilder.rb', line 159
def image_ext
"jpg"
end
|
#image_image(id, caption, metric) ⇒ Object
132
133
134
135
136
|
# File 'lib/review/markdownbuilder.rb', line 132
def image_image(id, caption, metric)
blank
puts ".path.sub(/\A\.\//, "")})"
blank
end
|
#indepimage(id, caption = "", metric = nil) ⇒ Object
149
150
151
152
153
|
# File 'lib/review/markdownbuilder.rb', line 149
def indepimage(id, caption="", metric=nil)
blank
puts ".path.sub(/\A\.\//, "")})"
blank
end
|
#inline_b(str) ⇒ Object
115
116
117
|
# File 'lib/review/markdownbuilder.rb', line 115
def inline_b(str)
"**#{str.gsub(/\*/, '\*')}**"
end
|
#inline_br(str) ⇒ Object
250
251
252
|
# File 'lib/review/markdownbuilder.rb', line 250
def inline_br(str)
"\n"
end
|
#inline_code(str) ⇒ Object
123
124
125
|
# File 'lib/review/markdownbuilder.rb', line 123
def inline_code(str)
"`#{str}`"
end
|
#inline_em(str) ⇒ Object
111
112
113
|
# File 'lib/review/markdownbuilder.rb', line 111
def inline_em(str)
"*#{str.gsub(/\*/, '\*')}*"
end
|
#inline_fn(id) ⇒ Object
246
247
248
|
# File 'lib/review/markdownbuilder.rb', line 246
def inline_fn(id)
"[^#{id}]"
end
|
#inline_i(str) ⇒ Object
107
108
109
|
# File 'lib/review/markdownbuilder.rb', line 107
def inline_i(str)
"*#{str.gsub(/\*/, '\*')}*"
end
|
#inline_img(id) ⇒ Object
142
143
144
145
146
147
|
# File 'lib/review/markdownbuilder.rb', line 142
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
119
120
121
|
# File 'lib/review/markdownbuilder.rb', line 119
def inline_strong(str)
"**#{str.gsub(/\*/, '\*')}**"
end
|
#inline_tt(str) ⇒ Object
127
128
129
|
# File 'lib/review/markdownbuilder.rb', line 127
def inline_tt(str)
"`#{str}`"
end
|
#nofunc_text(str) ⇒ Object
254
255
256
|
# File 'lib/review/markdownbuilder.rb', line 254
def nofunc_text(str)
str
end
|
73
74
75
|
# File 'lib/review/markdownbuilder.rb', line 73
def ol_begin
blank
end
|
81
82
83
|
# File 'lib/review/markdownbuilder.rb', line 81
def ol_end
blank
end
|
#ol_item(lines, num) ⇒ Object
77
78
79
|
# File 'lib/review/markdownbuilder.rb', line 77
def ol_item(lines, num)
puts "#{num}. #{lines.join}"
end
|
#pagebreak ⇒ Object
155
156
157
|
# File 'lib/review/markdownbuilder.rb', line 155
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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
|
# File 'lib/review/markdownbuilder.rb', line 171
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
218
219
|
# File 'lib/review/markdownbuilder.rb', line 218
def table_begin(ncols)
end
|
#table_border(ncols) ⇒ Object
225
226
227
|
# File 'lib/review/markdownbuilder.rb', line 225
def table_border(ncols)
puts (0..ncols).map{"|"}.join(":--")
end
|
#table_end ⇒ Object
237
238
239
|
# File 'lib/review/markdownbuilder.rb', line 237
def table_end
blank
end
|
209
210
211
212
213
214
215
216
|
# File 'lib/review/markdownbuilder.rb', line 209
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
|
233
234
235
|
# File 'lib/review/markdownbuilder.rb', line 233
def td(str)
"#{str}"
end
|
229
230
231
|
# File 'lib/review/markdownbuilder.rb', line 229
def th(str)
"#{str}"
end
|
221
222
223
|
# File 'lib/review/markdownbuilder.rb', line 221
def tr(rows)
puts "|#{rows.join("|")}|"
end
|
52
53
54
55
|
# File 'lib/review/markdownbuilder.rb', line 52
def ul_begin
blank if @ul_indent == 0
@ul_indent += 1
end
|
68
69
70
71
|
# File 'lib/review/markdownbuilder.rb', line 68
def ul_end
@ul_indent -= 1
blank if @ul_indent == 0
end
|
#ul_item(lines) ⇒ Object
57
58
59
|
# File 'lib/review/markdownbuilder.rb', line 57
def ul_item(lines)
puts " " * (@ul_indent - 1) + "* " + "#{lines.join}"
end
|
#ul_item_begin(lines) ⇒ Object
61
62
63
|
# File 'lib/review/markdownbuilder.rb', line 61
def ul_item_begin(lines)
puts " " * (@ul_indent - 1) + "* " + "#{lines.join}"
end
|
#ul_item_end ⇒ Object
65
66
|
# File 'lib/review/markdownbuilder.rb', line 65
def ul_item_end
end
|