class ReVIEW::MARKDOWNBuilder
Public Instance Methods
blank()
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 31 def blank @output.puts unless @blank_seen @blank_seen = true end
cmd(lines)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 196 def cmd(lines) puts "```shell-session" lines.each do |line| puts detab(line) end puts "```" end
comment(lines, comment = nil)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 299 def comment(lines, comment = nil) if @book.config["draft"] lines ||= [] lines.unshift comment unless comment.blank? str = lines.join("<br />") puts %Q(<div class="red">#{escape_html(str)}</div>) end end
compile_href(url, label)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 135 def compile_href(url, label) label = url if label.blank? "[#{label}](#{url})" end
compile_ruby(base, ruby)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 291 def compile_ruby(base, ruby) if @book.htmlversion == 5 %Q[<ruby>#{escape_html(base)}<rp>#{I18n.t("ruby_prefix")}</rp><rt>#{escape_html(ruby)}</rt><rp>#{I18n.t("ruby_postfix")}</rp></ruby>] else %Q[<ruby><rb>#{escape_html(base)}</rb><rp>#{I18n.t("ruby_prefix")}</rp><rt>#{ruby}</rt><rp>#{I18n.t("ruby_postfix")}</rp></ruby>] end end
dd(lines)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 108 def dd(lines) puts "<dd>#{lines.join}</dd>" end
dl_begin()
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 100 def dl_begin puts '<dl>' end
dl_end()
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 112 def dl_end puts '</dl>' end
dt(line)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 104 def dt(line) puts "<dt>#{line}</dt>" end
emlist(lines, caption = nil, lang = nil)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 116 def emlist(lines, caption = nil, lang = nil) blank if caption puts caption print "\n" end lang ||= "" puts "```#{lang}" lines.each do |line| puts detab(line) end puts "```" blank end
extname()
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 15 def extname '.md' end
footnote(id, str)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 274 def footnote(id, str) puts "[^#{id}]: #{compile_inline(str)}" blank end
headline(level, label, caption)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 36 def headline(level, label, caption) blank prefix = "#" * level puts "#{prefix} #{caption}" blank end
hr()
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 131 def hr puts "----" end
image_dummy(id, caption, lines)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 171 def image_dummy(id, caption, lines) puts lines.join end
image_ext()
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 192 def image_ext "jpg" end
image_image(id, caption, metric)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 165 def image_image(id, caption, metric) blank puts ".path.sub(/\A\.\//, "")})" blank end
indepimage(id, caption="", metric=nil)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 182 def indepimage(id, caption="", metric=nil) blank puts ".path.sub(/\A\.\//, "")})" blank end
inline_b(str)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 148 def inline_b(str) "**#{str.gsub(/\*/, '\*')}**" end
inline_br(str)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 283 def inline_br(str) "\n" end
inline_code(str)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 156 def inline_code(str) "`#{str}`" end
inline_comment(str)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 308 def inline_comment(str) if @book.config["draft"] %Q(<span class="red">#{escape_html(str)}</span>) else '' end end
inline_em(str)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 144 def inline_em(str) "*#{str.gsub(/\*/, '\*')}*" end
inline_fn(id)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 279 def inline_fn(id) "[^#{id}]" end
inline_i(str)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 140 def inline_i(str) "*#{str.gsub(/\*/, '\*')}*" end
inline_img(id)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 175 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)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 152 def inline_strong(str) "**#{str.gsub(/\*/, '\*')}**" end
inline_tt(str)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 160 def inline_tt(str) "`#{str}`" end
list_body(id, lines, lang)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 64 def list_body(id, lines, lang) lines.each do |line| puts detab(line) end puts '```' end
list_header(id, caption, lang)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 54 def list_header(id, caption, lang) if get_chap.nil? print %Q[リスト#{@chapter.list(id).number} #{compile_inline(caption)}\n\n] else print %Q[リスト#{get_chap}.#{@chapter.list(id).number} #{compile_inline(caption)}\n\n] end lang ||= "" puts "```#{lang}" end
nofunc_text(str)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 287 def nofunc_text(str) str end
ol_begin()
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 88 def ol_begin blank end
ol_end()
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 96 def ol_end blank end
ol_item(lines, num)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 92 def ol_item(lines, num) puts "#{num}. #{lines.join}" end
pagebreak()
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 188 def pagebreak puts "{pagebreak}" end
paragraph(lines)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 49 def paragraph(lines) puts lines.join puts "\n" end
puts(str)
click to toggle source
Calls superclass method
# File ../../../../../lib/review/markdownbuilder.rb, line 26 def puts(str) @blank_seen = false super end
quote(lines)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 43 def quote(lines) blank puts split_paragraph(lines).map{|line| "> #{line}"}.join("\n> \n") blank end
table(lines, id = nil, caption = nil)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 204 def table(lines, id = nil, caption = nil) rows = [] sepidx = nil lines.each_with_index do |line, idx| if /\A[\=\-]{12}/ =~ line # just ignore #error "too many table separator" if sepidx sepidx ||= idx next end rows.push line.strip.split(/\t+/).map {|s| s.sub(/\A\./, '') } end rows = adjust_n_cols(rows) begin table_header 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)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 251 def table_begin(ncols) end
table_border(ncols)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 258 def table_border(ncols) puts (0..ncols).map{"|"}.join(":--") end
table_end()
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 270 def table_end blank end
table_header(id, caption)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 242 def table_header(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
td(str)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 266 def td(str) "#{str}" end
th(str)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 262 def th(str) "#{str}" end
tr(rows)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 254 def tr(rows) puts "|#{rows.join("|")}|" end
ul_begin()
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 71 def ul_begin blank if @ul_indent == 0 @ul_indent += 1 end
ul_end()
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 83 def ul_end @ul_indent -= 1 blank if @ul_indent == 0 end
ul_item_begin(lines)
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 76 def ul_item_begin(lines) puts " " * (@ul_indent - 1) + "* " + "#{lines.join}" end
ul_item_end()
click to toggle source
# File ../../../../../lib/review/markdownbuilder.rb, line 80 def ul_item_end end