class ReVIEW::PLAINTEXTBuilder
Public Instance Methods
base_block(_type, lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 157 def base_block(_type, lines, caption = nil) blank puts compile_inline(caption) if caption.present? puts lines.join("\n") blank end
base_parablock(_type, lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 164 def base_parablock(_type, lines, caption = nil) blank puts compile_inline(caption) if caption.present? puts split_paragraph(lines).join("\n") blank end
best(lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 502 def best(lines, caption = nil) base_parablock 'best', lines, caption end
bibpaper(lines, id, caption)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 347 def bibpaper(lines, id, caption) bibpaper_header id, caption bibpaper_bibpaper id, caption, lines unless lines.empty? end
bibpaper_bibpaper(_id, _caption, lines)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 357 def bibpaper_bibpaper(_id, _caption, lines) print split_paragraph(lines).join end
bibpaper_header(id, caption)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 352 def bibpaper_header(id, caption) print @chapter.bibpaper(id).number puts " #{compile_inline(caption)}" end
bpo(lines)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 575 def bpo(lines) base_block 'bpo', lines, nil end
caution(lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 514 def caution(lines, caption = nil) base_parablock 'caution', lines, caption end
centering(lines)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 478 def centering(lines) base_parablock 'centering', lines, nil end
circle_begin(_level, _label, caption)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 639 def circle_begin(_level, _label, caption) puts "・#{caption}" end
circle_end(level)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 643 def circle_end(level) end
cmd(lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 191 def cmd(lines, caption = nil) base_block 'cmd', lines, caption end
column_begin(_level, _label, caption)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 410 def column_begin(_level, _label, caption) common_column_begin('column', caption) end
column_end(_level)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 414 def column_end(_level) common_column_end('column') end
comment(lines, comment = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 290 def comment(lines, comment = nil) end
common_column_begin(_type, caption)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 401 def common_column_begin(_type, caption) blank puts compile_inline(caption) end
common_column_end(_type)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 406 def common_column_end(_type) blank end
compile_href(url, label)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 315 def compile_href(url, label) if label "#{label}(#{url})" else url end end
compile_kw(word, alt)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 307 def compile_kw(word, alt) if alt "#{word}(#{alt.strip})" else word end end
compile_ruby(base, _ruby)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 303 def compile_ruby(base, _ruby) base end
dd(lines)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 119 def dd(lines) split_paragraph(lines).each do |paragraph| puts paragraph.gsub(/\n/, '') end end
dl_begin()
click to toggle source
# File lib/review/plaintextbuilder.rb, line 111 def dl_begin blank end
dl_end()
click to toggle source
# File lib/review/plaintextbuilder.rb, line 125 def dl_end blank end
dt(line)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 115 def dt(line) puts line end
dtp(str)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 572 def dtp(str) end
edition_begin(_level, _label, caption)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 442 def edition_begin(_level, _label, caption) common_column_begin('edition', caption) end
edition_end(_level)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 446 def edition_end(_level) common_column_end('edition') end
emlist(lines, caption = nil, _lang = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 171 def emlist(lines, caption = nil, _lang = nil) base_block 'emlist', lines, caption end
emlistnum(lines, caption = nil, _lang = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 175 def emlistnum(lines, caption = nil, _lang = nil) blank puts compile_inline(caption) if caption.present? lines.each_with_index do |line, i| puts((i + 1).to_s.rjust(2) + ": #{line}") end blank end
expert(lines)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 546 def expert(lines) base_parablock 'expert', lines, nil end
extname()
click to toggle source
# File lib/review/plaintextbuilder.rb, line 40 def extname '.txt' end
flushright(lines)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 474 def flushright(lines) base_parablock 'flushright', lines, nil end
footnote(id, str)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 293 def footnote(id, str) puts "注#{@chapter.footnote(id).number} #{compile_inline(str)}" end
headline(level, _label, caption)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 80 def headline(level, _label, caption) prefix, _anchor = headline_prefix(level) puts %Q(#{prefix}#{compile_inline(caption)}) end
hood_begin(_level, _label, caption)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 434 def hood_begin(_level, _label, caption) common_column_begin('hood', caption) end
hood_end(_level)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 438 def hood_end(_level) common_column_end('hood') end
image(_lines, id, caption, _metric = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 199 def image(_lines, id, caption, _metric = nil) blank if get_chap puts "#{I18n.t('image')}#{I18n.t('format_number', [get_chap, @chapter.image(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}" else puts "#{I18n.t('image')}#{I18n.t('format_number_without_chapter', [@chapter.image(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}" end blank end
imgtable(_lines, id, caption = nil, _metric = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 276 def imgtable(_lines, id, caption = nil, _metric = nil) blank table_header(id, caption) if caption.present? blank end
important(lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 506 def important(lines, caption = nil) base_parablock 'important', lines, caption end
indepimage(_lines, _id, caption = nil, _metric = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 560 def indepimage(_lines, _id, caption = nil, _metric = nil) blank puts "図 #{compile_inline(caption)}" if caption.present? blank end
Also aliased as: numberlessimage
info(lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 494 def info(lines, caption = nil) base_parablock 'info', lines, caption end
inline_balloon(str)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 335 def inline_balloon(str) %Q(←#{str.gsub(/@maru\[(\d+)\]/, inline_maru('\1'))}) end
inline_bib(id)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 361 def inline_bib(id) %Q(#{@chapter.bibpaper(id).number} ) rescue KeyError error "unknown bib: #{id}" end
inline_br(_str)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 587 def inline_br(_str) "\n" end
inline_chap(id)
click to toggle source
Calls superclass method
ReVIEW::Builder#inline_chap
# File lib/review/plaintextbuilder.rb, line 595 def inline_chap(id) # "「第#{super}章 #{inline_title(id)}」" # "第#{super}章" super end
inline_chapref(id)
click to toggle source
Calls superclass method
ReVIEW::Builder#inline_chapref
# File lib/review/plaintextbuilder.rb, line 601 def inline_chapref(id) if @book.config.check_version('2', exception: false) # backward compatibility chs = ['', '「', '」'] if @book.config['chapref'] chs2 = @book.config['chapref'].split(',') if chs2.size != 3 error '--chapsplitter must have exactly 3 parameters with comma.' end chs = chs2 end "#{chs[0]}#{@book.chapter_index.number(id)}#{chs[1]}#{@book.chapter_index.title(id)}#{chs[2]}" else title = super if @book.config['chapterlink'] %Q(<link href="#{id}">#{title}</link>) else title end end rescue KeyError error "unknown chapter: #{id}" end
inline_comment(_str)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 343 def inline_comment(_str) '' end
inline_del(_str)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 583 def inline_del(_str) '' end
inline_dtp(_str)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 579 def inline_dtp(_str) '' end
inline_fn(id)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 297 def inline_fn(id) " 注#{@chapter.footnote(id).number} " rescue KeyError error "unknown footnote: #{id}" end
inline_hd_chap(chap, id)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 367 def inline_hd_chap(chap, id) n = chap.headline_index.number(id) if n.present? && chap.number && over_secnolevel?(n) I18n.t('hd_quote', [n, compile_inline(chap.headline(id).caption)]) else I18n.t('hd_quote_without_number', compile_inline(chap.headline(id).caption)) end rescue KeyError error "unknown headline: #{id}" end
inline_hidx(_str)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 327 def inline_hidx(_str) '' end
inline_icon(_id)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 331 def inline_icon(_id) '' end
inline_labelref(_idref)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 629 def inline_labelref(_idref) '●' end
Also aliased as: inline_ref
inline_pageref(_idref)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 635 def inline_pageref(_idref) '●ページ' # ページ番号を参照 end
inline_raw(str)
click to toggle source
Calls superclass method
ReVIEW::Builder#inline_raw
# File lib/review/plaintextbuilder.rb, line 323 def inline_raw(str) super(str).gsub('\\n', "\n") end
inline_uchar(str)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 339 def inline_uchar(str) [str.to_i(16)].pack('U') end
insideout_begin(_level, _label, caption)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 450 def insideout_begin(_level, _label, caption) common_column_begin('insideout', caption) end
insideout_end(_level)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 454 def insideout_end(_level) common_column_end('insideout') end
insn(lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 550 def insn(lines, caption = nil) base_block 'insn', lines, caption end
Also aliased as: box
label(_id)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 568 def label(_id) '' end
link(lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 522 def link(lines, caption = nil) base_parablock 'link', lines, caption end
list_body(_id, lines, _lang)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 150 def list_body(_id, lines, _lang) lines.each do |line| puts detab(line) end blank end
list_header(id, caption, _lang)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 140 def list_header(id, caption, _lang) blank if get_chap puts %Q(#{I18n.t('list')}#{I18n.t('format_number', [get_chap, @chapter.list(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}) else puts %Q(#{I18n.t('list')}#{I18n.t('format_number_without_chapter', [@chapter.list(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}) end blank end
listnum_body(lines, _lang)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 184 def listnum_body(lines, _lang) lines.each_with_index do |line, i| puts((i + 1).to_s.rjust(2) + ": #{line}") end blank end
memo(lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 486 def memo(lines, caption = nil) base_parablock 'memo', lines, caption end
nodisp_begin(level, label, caption)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 395 def nodisp_begin(level, label, caption) end
nodisp_end(level)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 398 def nodisp_end(level) end
nofunc_text(str)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 646 def nofunc_text(str) str end
Also aliased as: th, td, inline_sup, inline_sub, inline_hint, inline_maru, inline_idx, inline_ami, inline_i, inline_em, inline_b, inline_strong, inline_tt, inline_code, inline_ttb, inline_ttbold, inline_tti, inline_ttibold, inline_u, inline_bou, inline_keytop, inline_m
noindent()
click to toggle source
# File lib/review/plaintextbuilder.rb, line 378 def noindent end
nonum_begin(_level, _label, caption)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 381 def nonum_begin(_level, _label, caption) puts compile_inline(caption) end
nonum_end(_level)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 385 def nonum_end(_level) end
note(lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 482 def note(lines, caption = nil) base_parablock 'note', lines, caption end
notice(lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 526 def notice(lines, caption = nil) base_parablock 'notice', lines, caption end
notoc_begin(_level, _label, caption)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 388 def notoc_begin(_level, _label, caption) puts compile_inline(caption) end
notoc_end(level)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 392 def notoc_end(level) end
ol_begin()
click to toggle source
# File lib/review/plaintextbuilder.rb, line 97 def ol_begin blank @olitem = 0 end
ol_end()
click to toggle source
# File lib/review/plaintextbuilder.rb, line 106 def ol_end blank @olitem = nil end
ol_item(lines, num)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 102 def ol_item(lines, num) puts "#{num} #{lines.join}" end
olnum(num)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 54 def olnum(num) @ol_num = num.to_i end
paragraph(lines)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 129 def paragraph(lines) puts lines.join end
planning(lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 498 def planning(lines, caption = nil) base_parablock 'planning', lines, caption end
point(lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 530 def point(lines, caption = nil) base_parablock 'point', lines, caption end
post_paragraph()
click to toggle source
# File lib/review/plaintextbuilder.rb, line 36 def post_paragraph '' end
practice(lines)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 542 def practice(lines) base_parablock 'practice', lines, nil end
pre_paragraph()
click to toggle source
# File lib/review/plaintextbuilder.rb, line 32 def pre_paragraph '' end
quote(lines)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 195 def quote(lines) base_parablock 'quote', lines, nil end
read(lines)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 133 def read(lines) puts split_paragraph(lines).join("\n") blank end
Also aliased as: lead
ref_begin(_level, _label, caption)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 458 def ref_begin(_level, _label, caption) common_column_begin('ref', caption) end
ref_end(_level)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 462 def ref_end(_level) common_column_end('ref') end
reference(lines)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 538 def reference(lines) base_parablock 'reference', lines, nil end
result()
click to toggle source
# File lib/review/plaintextbuilder.rb, line 76 def result @output.string end
security(lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 510 def security(lines, caption = nil) base_parablock 'security', lines, caption end
shoot(lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 534 def shoot(lines, caption = nil) base_parablock 'shoot', lines, caption end
source(lines, caption = nil, _lang = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 625 def source(lines, caption = nil, _lang = nil) base_block 'source', lines, caption end
sup_begin(_level, _label, caption)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 466 def sup_begin(_level, _label, caption) common_column_begin('sup', caption) end
sup_end(_level)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 470 def sup_end(_level) common_column_end('sup') end
table(lines, id = nil, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 223 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) error 'no rows in the table' if rows.empty? blank begin table_header(id, caption) if caption.present? rescue KeyError error "no such table: #{id}" end table_begin rows.first.size if sepidx sepidx.times do tr(rows.shift.map { |s| th(s) }) end 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/plaintextbuilder.rb, line 273 def table_begin(_ncols) end
table_end()
click to toggle source
# File lib/review/plaintextbuilder.rb, line 286 def table_end blank end
table_header(id, caption)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 262 def table_header(id, caption) if id.nil? puts compile_inline(caption) elsif get_chap puts "#{I18n.t('table')}#{I18n.t('format_number', [get_chap, @chapter.table(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}" else puts "#{I18n.t('table')}#{I18n.t('format_number_without_chapter', [@chapter.table(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}" end blank end
term(lines)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 518 def term(lines) base_parablock 'term', lines, nil end
texequation(lines, id = nil, caption = '')
click to toggle source
# File lib/review/plaintextbuilder.rb, line 209 def texequation(lines, id = nil, caption = '') if id blank if get_chap puts "#{I18n.t('equation')}#{I18n.t('format_number', [get_chap, @chapter.equation(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}" else puts "#{I18n.t('equation')}#{I18n.t('format_number_without_chapter', [@chapter.equation(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}" end end puts lines.join("\n") blank end
text(str)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 591 def text(str) str end
tip(lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 490 def tip(lines, caption = nil) base_parablock 'tip', lines, caption end
tr(rows)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 282 def tr(rows) puts rows.join("\t") end
ul_begin()
click to toggle source
# File lib/review/plaintextbuilder.rb, line 85 def ul_begin blank end
ul_end()
click to toggle source
# File lib/review/plaintextbuilder.rb, line 93 def ul_end blank end
ul_item(lines)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 89 def ul_item(lines) puts lines.join end
warning(lines, caption = nil)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 554 def warning(lines, caption = nil) base_parablock 'warning', lines, caption end
world_begin(_level, _label, caption)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 426 def world_begin(_level, _label, caption) common_column_begin('world', caption) end
world_end(_level)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 430 def world_end(_level) common_column_end('world') end
xcolumn_begin(_level, _label, caption)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 418 def xcolumn_begin(_level, _label, caption) common_column_begin('xcolumn', caption) end
xcolumn_end(_level)
click to toggle source
# File lib/review/plaintextbuilder.rb, line 422 def xcolumn_end(_level) common_column_end('xcolumn') end
Private Instance Methods
blank()
click to toggle source
# File lib/review/plaintextbuilder.rb, line 70 def blank @output.puts unless @blank_seen @blank_seen = true end
builder_init_file()
click to toggle source
# File lib/review/plaintextbuilder.rb, line 44 def builder_init_file @section = 0 @subsection = 0 @subsubsection = 0 @subsubsubsection = 0 @blank_seen = true @sec_counter = SecCounter.new(5, @chapter) end
print(s)
click to toggle source
Calls superclass method
ReVIEW::Builder#print
# File lib/review/plaintextbuilder.rb, line 58 def print(s) @blank_seen = false super end
puts(s)
click to toggle source
Calls superclass method
ReVIEW::Builder#puts
# File lib/review/plaintextbuilder.rb, line 64 def puts(s) @blank_seen = false super end