class ReVIEW::IDGXMLBuilder

Public Instance Methods

best(lines, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1002
def best(lines, caption = nil)
  captionblock('best', lines, caption)
end
bibpaper(lines, id, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1276
def bibpaper(lines, id, caption)
  puts %Q(<bibitem id="bib-#{id}">)
  bibpaper_header(id, caption)
  bibpaper_bibpaper(id, caption, lines) unless lines.empty?
  puts '</bibitem>'
end
bibpaper_bibpaper(_id, _caption, lines) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1287
def bibpaper_bibpaper(_id, _caption, lines)
  print split_paragraph(lines).join
end
bibpaper_header(id, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1283
def bibpaper_header(id, caption)
  puts "<caption><span type='bibno'>[#{@chapter.bibpaper(id).number}] </span>#{compile_inline(caption)}</caption>" if caption.present?
end
blankline() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 844
def blankline
  puts '<p/>'
end
box(lines, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1138
def box(lines, caption = nil)
  syntaxblock('box', lines, caption)
end
bpo(lines) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1174
def bpo(lines)
  puts %Q(<bpo>#{lines.join("\n")}</bpo>)
end
captionblock(type, lines, caption, specialstyle = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 970
def captionblock(type, lines, caption, specialstyle = nil)
  print "<#{type}>"
  style = specialstyle.nil? ? "#{type}-title" : specialstyle
  puts "<title aid:pstyle='#{style}'>#{compile_inline(caption)}</title>" if caption.present?
  blocked_lines = split_paragraph(lines)
  puts "#{blocked_lines.join}</#{type}>"
end
caution(lines, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1015
def caution(lines, caption = nil)
  check_nested_minicolumn
  captionblock('caution', lines, caption)
end
centering(lines) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 966
def centering(lines)
  puts split_paragraph(lines).join.gsub('<p>', %Q(<p align='center'>))
end
choice_multi_begin() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 186
def choice_multi_begin
  puts %Q(<choice type='multi'>)
end
choice_multi_end() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 194
def choice_multi_end
  puts '</choice>'
end
choice_single_begin() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 182
def choice_single_begin
  puts %Q(<choice type='single'>)
end
choice_single_end() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 190
def choice_single_end
  puts '</choice>'
end
circle_begin(_level, _label, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 872
def circle_begin(_level, _label, caption)
  puts %Q(<title aid:pstyle="smallcircle">&#x2022;#{compile_inline(caption)}</title>)
end
circle_end(level) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 876
def circle_end(level)
end
cmd(lines, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 354
def cmd(lines, caption = nil)
  quotedlist(lines, 'cmd', caption)
end
codelines_body(lines) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 288
def codelines_body(lines)
  no = 1
  lines.each do |line|
    if @book.config['listinfo']
      print %Q(<listinfo line="#{no}")
      print %Q( begin="1") if no == 1
      print %Q( end="#{no}") if no == lines.size
      print '>'
    end
    print detab(line)
    print "\n"
    print '</listinfo>' if @book.config['listinfo']
    no += 1
  end
end
column_begin(_level, _label, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 890
def column_begin(_level, _label, caption)
  common_column_begin('', caption)
end
column_end(_level) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 894
def column_end(_level)
  common_column_end('')
end
comment(lines, comment = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 638
def comment(lines, comment = nil)
  return unless @book.config['draft']

  lines ||= []
  lines.unshift(escape(comment)) unless comment.blank?
  str = lines.join("\n")
  print "<msg>#{str}</msg>"
end
common_column_begin(type, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 879
def common_column_begin(type, caption)
  @column += 1
  a_id = %Q(id="column-#{@column}")
  print "<#{type}column #{a_id}>"
  puts %Q(<title aid:pstyle="#{type}column-title">#{compile_inline(caption)}</title><?dtp level="9" section="#{escape(compile_inline(caption))}"?>)
end
common_column_end(type) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 886
def common_column_end(type)
  puts "</#{type}column>"
end
compile_href(url, label) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 702
def compile_href(url, label)
  %Q(<a linkurl='#{escape(url)}'>#{label.nil? ? escape(url) : escape(label)}</a>)
end
compile_kw(word, alt) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 687
def compile_kw(word, alt)
  '<keyword>' +
    if alt
    then escape("#{word}(#{alt.strip})")
    else escape(word)
    end +
    '</keyword>' +
    %Q(<index value="#{escape(word)}" />) +
    if alt
      alt.split(/\s*,\s*/).collect! { |e| %Q(<index value="#{escape(e.strip)}" />) }.join
    else
      ''
    end
end
compile_ruby(base, ruby) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 683
def compile_ruby(base, ruby)
  %Q(<GroupRuby><aid:ruby xmlns:aid="http://ns.adobe.com/AdobeInDesign/3.0/"><aid:rb>#{escape(base.strip)}</aid:rb><aid:rt>#{escape(ruby.strip)}</aid:rt></aid:ruby></GroupRuby>)
end
dd(lines) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 231
def dd(lines)
  puts "<dd>#{join_lines_to_paragraph(lines).chomp}</dd>"
end
dl_begin() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 223
def dl_begin
  puts '<dl>'
end
dl_end() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 235
def dl_end
  puts '</dl>'
end
dt(line) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 227
def dt(line)
  puts "<dt>#{line}</dt>"
end
dtp(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1166
def dtp(str)
  print %Q(<?dtp #{str} ?>)
end
edition_begin(_level, _label, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 922
def edition_begin(_level, _label, caption)
  common_column_begin('edition', caption)
end
edition_end(_level) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 926
def edition_end(_level)
  common_column_end('edition')
end
emlist(lines, caption = nil, _lang = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 316
def emlist(lines, caption = nil, _lang = nil)
  quotedlist(lines, 'emlist', caption)
end
emlistnum(lines, caption = nil, _lang = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 320
def emlistnum(lines, caption = nil, _lang = nil)
  lines2 = []
  first_line_num = line_num
  lines.each_with_index do |line, i|
    lines2 << detab(%Q(<span type='lineno'>) + (i + first_line_num).to_s.rjust(2) + ': </span>' + line)
  end
  quotedlist(lines2, 'emlistnum', caption)
end
emtable(lines, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 616
def emtable(lines, caption = nil)
  table(lines, nil, caption)
end
endnote_begin() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 671
def endnote_begin
  puts '<endnotes>'
end
endnote_end() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 675
def endnote_end
  puts '</endnotes>'
end
endnote_item(id) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 679
def endnote_item(id)
  puts %Q(<endnote id='endnoteb-#{normalize_id(id)}'><span type='endnotenumber'>(#{@chapter.endnote(id).number})</span>\t#{compile_inline(@chapter.endnote(id).content)}</endnote>)
end
expert(lines) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1066
def expert(lines)
  captionblock('expert', lines, nil)
end
extname() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 45
def extname
  '.xml'
end
flushright(lines) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 962
def flushright(lines)
  puts split_paragraph(lines).join.gsub('<p>', %Q(<p align='right'>))
end
footnote(id, str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 655
def footnote(id, str)
  # see inline_fn
end
handle_metric(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 413
def handle_metric(str)
  k, v = str.split('=', 2)
  %Q(#{k}="#{v.sub(/\A["']/, '').sub(/["']\Z/, '')}")
end
headline(level, label, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 108
def headline(level, label, caption)
  output_close_sect_tags(level)
  case level
  when 1
    print %Q(<chapter id="chap:#{@chapter.number}">) if @secttags

    @section = 0
    @subsection = 0
    @subsubsection = 0
    @subsubsubsection = 0
  when 2
    @section += 1
    print %Q(<sect id="sect:#{@chapter.number}.#{@section}">) if @secttags

    @subsection = 0
    @subsubsection = 0
    @subsubsubsection = 0
  when 3
    @subsection += 1
    print %Q(<sect2 id="sect:#{@chapter.number}.#{@section}.#{@subsection}">) if @secttags

    @subsubsection = 0
    @subsubsubsection = 0
  when 4
    @subsubsection += 1
    print %Q(<sect3 id="sect:#{@chapter.number}.#{@section}.#{@subsection}.#{@subsubsection}">) if @secttags

    @subsubsubsection = 0
  when 5
    @subsubsubsection += 1
    print %Q(<sect4 id="sect:#{@chapter.number}.#{@section}.#{@subsection}.#{@subsubsection}.#{@subsubsubsection}">) if @secttags
  when 6 # rubocop:disable Lint/EmptyWhen
  else
    raise "caption level too deep or unsupported: #{level}"
  end

  prefix, _anchor = headline_prefix(level)

  label = label.nil? ? '' : %Q( id="#{label}")
  toccaption = escape(compile_inline(caption.gsub(/@<fn>\{.+?\}/, '')).gsub(/<[^>]+>/, ''))
  puts %Q(<title#{label} aid:pstyle="h#{level}">#{prefix}#{compile_inline(caption)}</title><?dtp level="#{level}" section="#{prefix}#{toccaption}"?>)
end
hood_begin(_level, _label, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 914
def hood_begin(_level, _label, caption)
  common_column_begin('hood', caption)
end
hood_end(_level) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 918
def hood_end(_level)
  common_column_end('hood')
end
hr() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1170
def hr
  print '<hr />'
end
image_dummy(id, caption, lines) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 431
def image_dummy(id, caption, lines)
  puts '<img>'
  image_header(id, caption) if caption_top?('image')
  print %Q(<pre aid:pstyle="dummyimage">)
  lines.each do |line|
    print detab(line)
    print "\n"
  end
  print '</pre>'
  image_header(id, caption) unless caption_top?('image')
  puts '</img>'
  warn "image not bound: #{id}", location: location
end
image_ext() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1317
def image_ext
  'eps'
end
image_header(id, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 445
def image_header(id, caption)
  return true unless caption.present?

  if get_chap.nil?
    puts %Q(<caption>#{I18n.t('image')}#{I18n.t('format_number_without_chapter', [@chapter.image(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}</caption>)
  else
    puts %Q(<caption>#{I18n.t('image')}#{I18n.t('format_number', [get_chap, @chapter.image(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}</caption>)
  end
end
image_image(id, caption, metric = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 422
def image_image(id, caption, metric = nil)
  metrics = parse_metric('idgxml', metric)
  puts '<img>'
  image_header(id, caption) if caption_top?('image')
  puts %Q(<Image href="file://#{@chapter.image(id).path.sub(%r{\A./}, '')}"#{metrics} />)
  image_header(id, caption) unless caption_top?('image')
  puts '</img>'
end
imgtable(lines, id, caption = nil, metric = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 620
def imgtable(lines, id, caption = nil, metric = nil)
  if @chapter.image_bound?(id)
    metrics = parse_metric('idgxml', metric)
    puts '<table>'
    if caption_top?('table') && caption.present?
      table_header(id, caption)
    end
    puts %Q(<imgtable><Image href="file://#{@chapter.image(id).path.sub(%r{\A./}, '')}"#{metrics} /></imgtable>)
    if !caption_top?('table') && caption.present?
      table_header(id, caption)
    end
    puts '</table>'
  else
    warn "image not bound: #{id}", location: location if @strict
    image_dummy(id, caption, lines)
  end
end
important(lines, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1006
def important(lines, caption = nil)
  check_nested_minicolumn
  captionblock('important', lines, caption)
end
indepimage(_lines, id, caption = nil, metric = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1142
def indepimage(_lines, id, caption = nil, metric = nil)
  metrics = parse_metric('idgxml', metric)
  puts '<img>'
  if caption_top?('image')
    puts %Q(<caption>#{compile_inline(caption)}</caption>) if caption.present?
  end
  begin
    puts %Q(<Image href="file://#{@chapter.image(id).path.sub(%r{\A\./}, '')}"#{metrics} />)
  rescue
    warn %Q(image not bound: #{id}), location: location
  end
  unless caption_top?('image')
    puts %Q(<caption>#{compile_inline(caption)}</caption>) if caption.present?
  end
  puts '</img>'
end
Also aliased as: numberlessimage
info(lines, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 993
def info(lines, caption = nil)
  check_nested_minicolumn
  captionblock('info', lines, caption)
end
inline_ami(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 754
def inline_ami(str)
  %Q(<ami>#{escape(str)}</ami>)
end
inline_b(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 762
def inline_b(str)
  %Q(<b>#{escape(str)}</b>)
end
inline_balloon(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 827
def inline_balloon(str)
  %Q(<balloon>#{escape(str).gsub(/@maru\[(\d+)\]/) { inline_maru($1) }}</balloon>)
end
inline_bib(id) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1291
def inline_bib(id)
  %Q(<span type='bibref' idref='#{id}'>[#{@chapter.bibpaper(id).number}]</span>)
rescue KeyError
  app_error "unknown bib: #{id}"
end
inline_bou(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 809
def inline_bou(str)
  %Q(<bou>#{escape(str)}</bou>)
end
inline_br(_str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1186
def inline_br(_str)
  "\n"
end
inline_chap(id) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1233
def inline_chap(id)
  if @book.config['chapterlink']
    %Q(<link href="#{id}">#{@book.chapter_index.number(id)}</link>)
  else
    @book.chapter_index.number(id)
  end
rescue KeyError
  app_error "unknown chapter: #{id}"
end
inline_chapref(id) click to toggle source
Calls superclass method ReVIEW::Builder#inline_chapref
# File lib/review/idgxmlbuilder.rb, line 1203
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
        chs = chs2
      else
        app_error '--chapsplitter must have exactly 3 parameters with comma.'
      end
    end
    s = "#{chs[0]}#{@book.chapter_index.number(id)}#{chs[1]}#{@book.chapter_index.title(id)}#{chs[2]}"
    if @book.config['chapterlink']
      %Q(<link href="#{id}">#{s}</link>)
    else
      s
    end
  else
    title = super
    if @book.config['chapterlink']
      %Q(<link href="#{id}">#{title}</link>)
    else
      title
    end
  end
rescue KeyError
  app_error "unknown chapter: #{id}"
end
inline_code(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1182
def inline_code(str)
  %Q(<tt type='inline-code'>#{escape(str)}</tt>)
end
inline_column_chap(chapter, id) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 264
def inline_column_chap(chapter, id)
  if @book.config['chapterlink']
    %Q(<link href="#{column_label(id, chapter)}">#{I18n.t('column', compile_inline(chapter.column(id).caption))}</link>)
  else
    I18n.t('column', compile_inline(chapter.column(id).caption))
  end
rescue KeyError
  app_error "unknown column: #{id}"
end
inline_comment(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 647
def inline_comment(str)
  if @book.config['draft']
    %Q(<msg>#{escape(str)}</msg>)
  else
    ''
  end
end
inline_del(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 796
def inline_del(str)
  %Q(<del>#{escape(str)}</del>)
end
inline_dtp(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1178
def inline_dtp(str)
  "<?dtp #{str} ?>"
end
inline_em(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 766
def inline_em(str)
  %Q(<em>#{escape(str)}</em>)
end
inline_endnote(id) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 665
def inline_endnote(id)
  %Q(<span type='endnoteref' idref='endnoteb-#{normalize_id(id)}'>(#{@chapter.endnote(id).number})</span>)
rescue KeyError
  app_error "unknown endnote: #{id}"
end
inline_eq(id) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 398
def inline_eq(id)
  "<span type='eq'>#{super(id)}</span>"
end
inline_fn(id) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 659
def inline_fn(id)
  %Q(<footnote>#{compile_inline(@chapter.footnote(id).content.strip)}</footnote>)
rescue KeyError
  app_error "unknown footnote: #{id}"
end
inline_hd_chap(chap, id) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1297
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
  app_error "unknown headline: #{id}"
end
inline_hidx(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 750
def inline_hidx(str)
  %Q(<index value="#{escape(str)}" />)
end
inline_hint(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 718
def inline_hint(str)
  if @book.config['nolf']
    %Q(<hint>#{escape(str)}</hint>)
  else
    %Q(\n<hint>#{escape(str)}</hint>)
  end
end
inline_i(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 758
def inline_i(str)
  %Q(<i>#{escape(str)}</i>)
end
inline_icon(id) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 800
def inline_icon(id)
  begin
    %Q(<Image href="file://#{@chapter.image(id).path.sub(%r{\A\./}, '')}" type="inline" />)
  rescue
    warn "image not bound: #{id}", location: location
    ''
  end
end
inline_idx(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 746
def inline_idx(str)
  %Q(#{escape(str)}<index value="#{escape(str)}" />)
end
inline_img(id) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 394
def inline_img(id)
  "<span type='image'>#{super(id)}</span>"
end
inline_imgref(id) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 402
def inline_imgref(id)
  chapter, id = extract_chapter_id(id)
  if chapter.image(id).caption.blank?
    inline_img(id)
  elsif get_chap(chapter).nil?
    "<span type='image'>#{I18n.t('image')}#{I18n.t('format_number_without_chapter', [chapter.image(id).number])}#{I18n.t('image_quote', chapter.image(id).caption)}</span>"
  else
    "<span type='image'>#{I18n.t('image')}#{I18n.t('format_number', [get_chap(chapter), chapter.image(id).number])}#{I18n.t('image_quote', chapter.image(id).caption)}</span>"
  end
end
inline_ins(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 792
def inline_ins(str)
  %Q(<ins>#{escape(str)}</ins>)
end
inline_keytop(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 813
def inline_keytop(str)
  %Q(<keytop>#{escape(str)}</keytop>)
end
inline_labelref(idref) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 817
def inline_labelref(idref)
  %Q(<ref idref='#{escape(idref)}'>「#{I18n.t('label_marker')}#{escape(idref)}」</ref>) # FIXME: 節名とタイトルも込みで要出力
end
Also aliased as: inline_ref
inline_list(id) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 274
def inline_list(id)
  "<span type='list'>#{super(id)}</span>"
end
inline_m(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 835
def inline_m(str)
  @texinlineequation += 1
  %Q(<replace idref="texinline-#{@texinlineequation}"><pre>#{escape(str)}</pre></replace>)
end
inline_maru(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 726
def inline_maru(str)
  if str =~ /\A\d+\Z/
    sprintf('&#x%x;', 9311 + str.to_i)
  elsif str =~ /\A[A-Z]\Z/
    begin
      sprintf('&#x%x;', 9398 + str.codepoints.to_a[0] - 65)
    rescue NoMethodError
      sprintf('&#x%x;', 9398 + str[0] - 65)
    end
  elsif str =~ /\A[a-z]\Z/
    begin
      sprintf('&#x%x;', 9392 + str.codepoints.to_a[0] - 65)
    rescue NoMethodError
      sprintf('&#x%x;', 9392 + str[0] - 65)
    end
  else
    app_error "can't parse maru: #{str}"
  end
end
inline_pageref(idref) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 823
def inline_pageref(idref)
  %Q(<pageref idref='#{escape(idref)}'>●●</pageref>) # ページ番号を参照
end
inline_raw(str) click to toggle source
Calls superclass method ReVIEW::Builder#inline_raw
# File lib/review/idgxmlbuilder.rb, line 714
def inline_raw(str)
  super(str).gsub('\\n', "\n")
end
inline_recipe(id) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1308
def inline_recipe(id)
  # FIXME
  %Q(<recipe idref="#{escape(id)}">[XXX]「#{escape(id)}」 p.XX</recipe>)
end
inline_ref(idref)
Alias for: inline_labelref
inline_strong(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 770
def inline_strong(str)
  %Q(<strong>#{escape(str)}</strong>)
end
inline_sub(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 710
def inline_sub(str)
  %Q(<sub>#{escape(str)}</sub>)
end
inline_sup(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 706
def inline_sup(str)
  %Q(<sup>#{escape(str)}</sup>)
end
inline_table(id) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 390
def inline_table(id)
  "<span type='table'>#{super(id)}</span>"
end
inline_title(id) click to toggle source
Calls superclass method ReVIEW::Builder#inline_title
# File lib/review/idgxmlbuilder.rb, line 1243
def inline_title(id)
  title = super
  if @book.config['chapterlink']
    %Q(<link href="#{id}">#{title}</link>)
  else
    title
  end
rescue KeyError
  app_error "unknown chapter: #{id}"
end
inline_tt(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 774
def inline_tt(str)
  %Q(<tt>#{escape(str)}</tt>)
end
inline_ttb(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 778
def inline_ttb(str)
  %Q(<tt style='bold'>#{escape(str)}</tt>)
end
Also aliased as: inline_ttbold
inline_ttbold(str)
Alias for: inline_ttb
inline_tti(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 784
def inline_tti(str)
  %Q(<tt style='italic'>#{escape(str)}</tt>)
end
inline_u(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 788
def inline_u(str)
  %Q(<underline>#{escape(str)}</underline>)
end
inline_uchar(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 831
def inline_uchar(str)
  %Q(&#x#{str};)
end
insideout_begin(_level, _label, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 930
def insideout_begin(_level, _label, caption)
  common_column_begin('insideout', caption)
end
insideout_end(_level) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 934
def insideout_end(_level)
  common_column_end('insideout')
end
insn(lines, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1134
def insn(lines, caption = nil)
  syntaxblock('insn', lines, caption)
end
label(id) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1161
def label(id)
  # FIXME
  print "<label id='#{id}' />"
end
lead(lines)
Alias for: read
list(lines, id, caption, lang = nil) click to toggle source
Calls superclass method ReVIEW::Builder#list
# File lib/review/idgxmlbuilder.rb, line 304
def list(lines, id, caption, lang = nil)
  puts '<codelist>'
  super(lines, id, caption, lang)
  puts '</codelist>'
end
list_body(_id, lines, _lang) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 310
def list_body(_id, lines, _lang)
  print '<pre>'
  codelines_body(lines)
  print '</pre>'
end
list_header(id, caption, _lang) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 278
def list_header(id, caption, _lang)
  return true unless caption.present?

  if get_chap.nil?
    puts %Q(<caption>#{I18n.t('list')}#{I18n.t('format_number_without_chapter', [@chapter.list(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}</caption>)
  else
    puts %Q(<caption>#{I18n.t('list')}#{I18n.t('format_number', [get_chap, @chapter.list(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}</caption>)
  end
end
listnum(lines, id, caption, lang = nil) click to toggle source
Calls superclass method ReVIEW::Builder#listnum
# File lib/review/idgxmlbuilder.rb, line 329
def listnum(lines, id, caption, lang = nil)
  puts '<codelist>'
  super(lines, id, caption, lang)
  puts '</codelist>'
end
listnum_body(lines, _lang) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 335
def listnum_body(lines, _lang)
  print '<pre>'
  no = 1
  first_line_num = line_num
  lines.each_with_index do |line, i|
    if @book.config['listinfo']
      print %Q(<listinfo line="#{no}")
      print %Q( begin="1") if no == 1
      print %Q( end="#{no}") if no == lines.size
      print '>'
    end
    print detab(%Q(<span type='lineno'>) + (i + first_line_num).to_s.rjust(2) + ': </span>' + line)
    print "\n"
    print '</listinfo>' if @book.config['listinfo']
    no += 1
  end
  print '</pre>'
end
memo(lines, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 983
def memo(lines, caption = nil)
  check_nested_minicolumn
  captionblock('memo', lines, caption)
end
nodisp_begin(level, label, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 866
def nodisp_begin(level, label, caption)
end
nodisp_end(level) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 869
def nodisp_end(level)
end
nofunc_text(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1313
def nofunc_text(str)
  escape(str)
end
noindent() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 840
def noindent
  @noindent = true
end
nonum_begin(level, _label, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 852
def nonum_begin(level, _label, caption)
  puts %Q(<title aid:pstyle="h#{level}">#{compile_inline(caption)}</title><?dtp level="#{level}" section="#{escape(compile_inline(caption))}"?>)
end
nonum_end(level) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 856
def nonum_end(level)
end
note(lines, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 978
def note(lines, caption = nil)
  check_nested_minicolumn
  captionblock('note', lines, caption)
end
notice(lines, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1033
def notice(lines, caption = nil)
  check_nested_minicolumn
  if caption
    captionblock('notice-t', lines, caption, 'notice-title')
  else
    captionblock('notice', lines, nil)
  end
end
notoc_begin(level, _label, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 859
def notoc_begin(level, _label, caption)
  puts %Q(<title aid:pstyle="h#{level}">#{compile_inline(caption)}</title>)
end
notoc_end(level) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 863
def notoc_end(level)
end
numberlessimage(_lines, id, caption = nil, metric = nil)
Alias for: indepimage
ol_begin() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 204
def ol_begin
  puts '<ol>'
  @ol_num ||= 1 # rubocop:disable Naming/MemoizedInstanceVariableName
end
ol_end() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 214
def ol_end
  puts '</ol>'
  @ol_num = nil
end
ol_item(lines, num) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 209
def ol_item(lines, num)
  puts %Q(<li aid:pstyle="ol-item" olnum="#{@ol_num}" num="#{num}">#{join_lines_to_paragraph(lines).chomp}</li>)
  @ol_num += 1
end
olnum(num) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 219
def olnum(num)
  @ol_num = num.to_i
end
output_close_sect_tags(level) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 151
def output_close_sect_tags(level)
  if @secttags
    if level <= 5 && @subsubsubsection > 0
      print '</sect4>'
    end
    if level <= 4 && @subsubsection > 0
      print '</sect3>'
    end
    if level <= 3 && @subsection > 0
      print '</sect2>'
    end
    if level <= 2 && @section > 0
      print '</sect>'
    end
  end
end
pagebreak() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 848
def pagebreak
  puts '<pagebreak />'
end
paragraph(lines) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 239
def paragraph(lines)
  if @noindent.nil?
    if lines[0] =~ /\A(\t+)/
      puts %Q(<p inlist="#{$1.size}">#{join_lines_to_paragraph(lines).sub(/\A\t+/, '')}</p>)
    else
      puts "<p>#{join_lines_to_paragraph(lines)}</p>"
    end
  else
    puts %Q(<p aid:pstyle="noindent" noindent='1'>#{join_lines_to_paragraph(lines)}</p>)
    @noindent = nil
  end
end
parse_table_rows(lines) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 514
def parse_table_rows(lines)
  sepidx = nil
  rows = []
  lines.each_with_index do |line, idx|
    if /\A[=\-]{12}/ =~ line
      sepidx ||= idx
      next
    end
    if @tablewidth
      rows.push(line.gsub(/\t\.\t/, "\tDUMMYCELLSPLITTER\t").gsub(/\t\.\.\t/, "\t.\t").gsub(/\t\.\Z/, "\tDUMMYCELLSPLITTER").gsub(/\t\.\.\Z/, "\t.").gsub(/\A\./, ''))
    else
      rows.push(line.gsub(/\t\.\t/, "\t\t").gsub(/\t\.\.\t/, "\t.\t").gsub(/\t\.\Z/, "\t").gsub(/\t\.\.\Z/, "\t.").gsub(/\A\./, ''))
    end
    col2 = rows[rows.length - 1].split(table_row_separator_regexp).length
    @col = col2 if col2 > @col
  end
  app_error 'no rows in the table' if rows.empty?
  [sepidx, rows]
end
planning(lines, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 998
def planning(lines, caption = nil)
  captionblock('planning', lines, caption)
end
point(lines, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1042
def point(lines, caption = nil)
  if caption
    captionblock('point-t', lines, caption, 'point-title')
  else
    captionblock('point', lines, nil)
  end
end
post_paragraph() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 41
def post_paragraph
  '</p>'
end
practice(lines) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1062
def practice(lines)
  captionblock('practice', lines, nil)
end
pre_paragraph() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 37
def pre_paragraph
  '<p>'
end
puts(arg) click to toggle source
Calls superclass method ReVIEW::Builder#puts
# File lib/review/idgxmlbuilder.rb, line 72
def puts(arg)
  if @book.config['nolf'].present?
    print arg
  else
    super
  end
end
quote(lines) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 385
def quote(lines)
  blocked_lines = split_paragraph(lines)
  puts "<quote>#{blocked_lines.join}</quote>"
end
rawblock(lines) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1190
def rawblock(lines)
  no = 1
  lines.each do |l|
    print l.gsub('&lt;', '<').gsub('&gt;', '>').gsub('&quot;', '"').gsub('&amp;', '&')
    print "\n" unless lines.length == no
    no += 1
  end
end
read(lines) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 252
def read(lines)
  puts %Q(<lead>#{split_paragraph(lines).join}</lead>)
end
Also aliased as: lead
ref_begin(_level, label, _caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 938
def ref_begin(_level, label, _caption)
  if label
    puts "<reference id='#{label}'>"
  else
    puts '<reference>'
  end
end
ref_end(_level) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 946
def ref_end(_level)
  puts '</reference>'
end
reference(lines) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1058
def reference(lines)
  captionblock('reference', lines, nil)
end
result() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 80
def result
  check_printendnotes

  s = ''
  if @secttags
    s += '</sect4>' if @subsubsubsection > 0
    s += '</sect3>' if @subsubsection > 0
    s += '</sect2>' if @subsection > 0
    s += '</sect>' if @section > 0
    s += '</chapter>' if @chapter.number > 0
  end
  solve_nest(@output.string) + s + "</#{@rootelement}>\n"
end
result_metric(array) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 418
def result_metric(array)
  " #{array.join(' ')}"
end
security(lines, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1011
def security(lines, caption = nil)
  captionblock('security', lines, caption)
end
shoot(lines, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1050
def shoot(lines, caption = nil)
  if caption
    captionblock('shoot-t', lines, caption, 'shoot-title')
  else
    captionblock('shoot', lines, nil)
  end
end
solve_nest(s) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 94
def solve_nest(s)
  check_nest
  s.gsub("</dd></dl>\x01→dl←\x01", '').
    gsub("\x01→/dl←\x01", "</dd></dl>←END\x01").
    gsub("</li></ul>\x01→ul←\x01", '').
    gsub("\x01→/ul←\x01", "</li></ul>←END\x01").
    gsub("</li></ol>\x01→ol←\x01", '').
    gsub("\x01→/ol←\x01", "</li></ol>←END\x01").
    gsub("</dl>←END\x01<dl>", '').
    gsub("</ul>←END\x01<ul>", '').
    gsub("</ol>←END\x01<ol>", '').
    gsub("←END\x01", '')
end
source(lines, caption = nil, lang = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1254
def source(lines, caption = nil, lang = nil)
  puts '<source>'
  if caption_top?('list')
    source_header(caption)
  end
  source_body(lines, lang)
  unless caption_top?('list')
    source_header(caption)
  end
  puts '</source>'
end
source_body(lines, _lang) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1270
def source_body(lines, _lang)
  puts '<pre>'
  codelines_body(lines)
  print '</pre>'
end
source_header(caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1266
def source_header(caption)
  puts %Q(<caption>#{compile_inline(caption)}</caption>) if caption.present?
end
sup_begin(_level, label, _caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 950
def sup_begin(_level, label, _caption)
  if label
    puts "<supplement id='#{label}'>"
  else
    puts '<supplement>'
  end
end
sup_end(_level) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 958
def sup_end(_level)
  puts '</supplement>'
end
syntaxblock(type, lines, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1097
def syntaxblock(type, lines, caption)
  captionstr = nil
  if caption.present?
    titleopentag = %Q(caption aid:pstyle="#{type}-title")
    titleclosetag = 'caption'
    if type == 'insn'
      titleopentag = %Q(floattitle type="insn")
      titleclosetag = 'floattitle'
    end
    captionstr = %Q(<#{titleopentag}>#{compile_inline(caption)}</#{titleclosetag}>)
  end
  print "<#{type}>"
  if caption_top?('list')
    puts captionstr
  else
    puts ''
  end

  no = 1
  lines.each do |line|
    if @book.config['listinfo']
      print %Q(<listinfo line="#{no}")
      print %Q( begin="1") if no == 1
      print %Q( end="#{no}") if no == lines.size
      print '>'
    end
    print detab(line)
    print "\n"
    print '</listinfo>' if @book.config['listinfo']
    no += 1
  end
  unless caption_top?('list')
    print captionstr
  end
  puts "</#{type}>"
end
table(lines, id = nil, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 480
def table(lines, id = nil, caption = nil)
  @tablewidth = nil
  if @book.config['tableopt']
    @tablewidth = @book.config['tableopt'].split(',')[0].to_f / @book.config['pt_to_mm_unit'].to_f
  end
  @col = 0

  sepidx, rows = parse_table_rows(lines)
  puts '<table>'

  begin
    if caption_top?('table') && caption.present?
      table_header(id, caption)
    end

    if @tablewidth.nil?
      print '<tbody>'
    else
      print %Q(<tbody xmlns:aid5="http://ns.adobe.com/AdobeInDesign/5.0/" aid:table="table" aid:trows="#{rows.length}" aid:tcols="#{@col}">)
    end
    @table_id = id
    table_rows(sepidx, rows)
    puts '</tbody>'

    if !caption_top?('table') && caption.present?
      table_header(id, caption)
    end
  rescue KeyError
    app_error "no such table: #{id}"
  end
  puts '</table>'
  @tsize = nil
end
table_begin(ncols) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 598
def table_begin(ncols)
end
table_end() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 613
def table_end
end
table_header(id, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 588
def table_header(id, caption)
  if id.nil?
    puts %Q(<caption>#{compile_inline(caption)}</caption>)
  elsif get_chap
    puts %Q(<caption>#{I18n.t('table')}#{I18n.t('format_number', [get_chap, @chapter.table(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}</caption>)
  else
    puts %Q(<caption>#{I18n.t('table')}#{I18n.t('format_number_without_chapter', [@chapter.table(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}</caption>)
  end
end
table_rows(sepidx, rows) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 534
def table_rows(sepidx, rows)
  cellwidth = []
  if @tablewidth
    if @tsize.nil?
      @col.times { |n| cellwidth[n] = @tablewidth / @col }
    else
      cellwidth = @tsize.split(/\s*,\s*/)
      totallength = 0
      cellwidth.size.times do |n|
        cellwidth[n] = cellwidth[n].to_f / @book.config['pt_to_mm_unit'].to_f
        totallength += cellwidth[n]
        warn "total length exceeds limit for table: #{@table_id}", location: location if totallength > @tablewidth
      end
      if cellwidth.size < @col
        cw = (@tablewidth - totallength) / (@col - cellwidth.size)
        warn "auto cell sizing exceeds limit for table: #{@table_id}", location: location if cw <= 0
        (cellwidth.size..(@col - 1)).each { |i| cellwidth[i] = cw }
      end
    end
  end

  if sepidx
    sepidx.times do |y|
      if @tablewidth.nil?
        puts %Q(<tr type="header">#{rows.shift}</tr>)
      else
        i = 0
        rows.shift.split(table_row_separator_regexp).each_with_index do |cell, x|
          print %Q(<td xyh="#{x + 1},#{y + 1},#{sepidx}" aid:table="cell" aid:theader="1" aid:crows="1" aid:ccols="1" aid:ccolwidth="#{sprintf('%.3f', cellwidth[i])}">#{cell.sub('DUMMYCELLSPLITTER', '')}</td>)
          i += 1
        end
      end
    end
  end
  trputs(@tablewidth, rows, cellwidth, sepidx)
end
td(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 609
def td(str)
  str
end
term(lines) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1025
def term(lines)
  captionblock('term', lines, nil)
end
texequation(lines, id = nil, caption = '') click to toggle source
# File lib/review/idgxmlbuilder.rb, line 455
def texequation(lines, id = nil, caption = '')
  @texblockequation += 1
  caption_str = nil
  if id
    puts '<equationblock>'
    if get_chap.nil?
      caption_str = %Q(<caption>#{I18n.t('equation')}#{I18n.t('format_number_without_chapter', [@chapter.equation(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}</caption>)
    else
      caption_str = %Q(<caption>#{I18n.t('equation')}#{I18n.t('format_number', [get_chap, @chapter.equation(id).number])}#{I18n.t('caption_prefix_idgxml')}#{compile_inline(caption)}</caption>)
    end
    puts caption_str if caption_top?('equation')
  end

  puts %Q(<replace idref="texblock-#{@texblockequation}">)
  puts '<pre>'
  print lines.join("\n")
  puts '</pre>'
  puts '</replace>'

  if id
    puts caption_str unless caption_top?('equation')
    puts '</equationblock>'
  end
end
text(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1199
def text(str)
  str
end
th(str) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 605
def th(str)
  %Q(<?dtp tablerow header?>#{str})
end
tip(lines, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 988
def tip(lines, caption = nil)
  check_nested_minicolumn
  captionblock('tip', lines, caption)
end
tr(rows) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 601
def tr(rows)
  puts %Q(<tr>#{rows.join("\t")}</tr>)
end
trputs(tablewidth, rows, cellwidth, sepidx) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 571
def trputs(tablewidth, rows, cellwidth, sepidx)
  sepidx = 0 if sepidx.nil?
  if tablewidth
    rows.each_with_index do |row, y|
      i = 0
      row.split(table_row_separator_regexp).each_with_index do |cell, x|
        print %Q(<td xyh="#{x + 1},#{y + 1 + sepidx},#{sepidx}" aid:table="cell" aid:crows="1" aid:ccols="1" aid:ccolwidth="#{sprintf('%.3f', cellwidth[i])}">#{cell.sub('DUMMYCELLSPLITTER', '')}</td>)
        i += 1
      end
    end
  else
    lastline = rows.pop
    rows.each { |row| puts "<tr>#{row}</tr>" }
    puts %Q(<tr type="lastline">#{lastline}</tr>) if lastline
  end
end
ul_begin() { |: ''| ... } click to toggle source
# File lib/review/idgxmlbuilder.rb, line 168
def ul_begin
  level = block_given? ? yield : ''
  level = nil if level == 1
  puts "<ul#{level == 1 ? nil : level}>"
end
ul_end() { |: ''| ... } click to toggle source
# File lib/review/idgxmlbuilder.rb, line 198
def ul_end
  level = block_given? ? yield : ''
  level = nil if level == 1
  puts "</ul#{level}>"
end
ul_item_begin(lines) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 174
def ul_item_begin(lines)
  print %Q(<li aid:pstyle="ul-item">#{join_lines_to_paragraph(lines).chomp})
end
ul_item_end() click to toggle source
# File lib/review/idgxmlbuilder.rb, line 178
def ul_item_end
  puts '</li>'
end
warning(lines, caption = nil) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 1020
def warning(lines, caption = nil)
  check_nested_minicolumn
  captionblock('warning', lines, caption)
end
world_begin(_level, _label, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 906
def world_begin(_level, _label, caption)
  common_column_begin('world', caption)
end
world_end(_level) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 910
def world_end(_level)
  common_column_end('world')
end
xcolumn_begin(_level, _label, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 898
def xcolumn_begin(_level, _label, caption)
  common_column_begin('x', caption)
end
xcolumn_end(_level) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 902
def xcolumn_end(_level)
  common_column_end('x')
end

Private Instance Methods

builder_init_file() click to toggle source
Calls superclass method ReVIEW::Builder#builder_init_file
# File lib/review/idgxmlbuilder.rb, line 49
def builder_init_file
  super
  @warns = []
  @errors = []
  @section = 0
  @subsection = 0
  @subsubsection = 0
  @subsubsubsection = 0
  @sec_counter = SecCounter.new(5, @chapter)
  @column = 0
  @noindent = nil
  @ol_num = nil
  @first_line_num = nil
  @rootelement = 'doc'
  @tsize = nil
  @texblockequation = 0
  @texinlineequation = 0
  print %Q(<?xml version="1.0" encoding="UTF-8"?>\n)
  print %Q(<#{@rootelement} xmlns:aid="http://ns.adobe.com/AdobeInDesign/4.0/">)
  @secttags = @book.config['structuredxml']
end
column_label(id, chapter = @chapter) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 258
def column_label(id, chapter = @chapter)
  num = chapter.column(id).number
  "column-#{num}"
end
quotedlist(lines, css_class, caption) click to toggle source
# File lib/review/idgxmlbuilder.rb, line 358
def quotedlist(lines, css_class, caption)
  print %Q(<list type='#{css_class}'>)
  if caption_top?('list') && caption.present?
    puts "<caption aid:pstyle='#{css_class}-title'>#{compile_inline(caption)}</caption>"
  end
  print '<pre>'
  no = 1
  lines.each do |line|
    if @book.config['listinfo']
      print %Q(<listinfo line="#{no}")
      print %Q( begin="1") if no == 1
      print %Q( end="#{no}") if no == lines.size
      print '>'
    end
    print detab(line)
    print "\n"
    print '</listinfo>' if @book.config['listinfo']
    no += 1
  end
  puts '</pre>'
  if !caption_top?('list') && caption.present?
    puts "<caption aid:pstyle='#{css_class}-title'>#{compile_inline(caption)}</caption>"
  end
  puts '</list>'
end