class SiSU_HTML_MiniToc::TocMini

Public Class Methods

new(md,data) click to toggle source
# File lib/sisu/html_minitoc.rb, line 62
def initialize(md,data)
  @md,@data=md,data
  @pat_strip_heading_name=/<a name="h?\d.*?">(.+?)<\/a>/
  @tell=SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set]) if @md
end

Public Instance Methods

songsheet() click to toggle source
# File lib/sisu/html_minitoc.rb, line 67
def songsheet
  if (@md.opt.act[:verbose][:set]==:on \
  || @md.opt.act[:verbose_plus][:set]==:on \
  || @md.opt.act[:maintenance][:set]==:on)
    SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set],'Toc').txt_grey
  end
  toc=nil
  @toc=[]
  @data.each do |txt|
    if txt.is ==:heading \
    || txt.is ==:heading_insert
      txt.obj=txt.obj.gsub(/(?:#{Mx[:en_a_o]}|#{Mx[:en_b_o]}).+?(?:#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/m,''). #remove endnotes from toc
        gsub(/<a name="-\d+" href="#_\d+">&nbsp;<sup>\d+<\/sup>&nbsp;<\/a>/,'').
        gsub(@pat_strip_heading_name,'\1')
        #gsub(/(.*?)<a name="(\d+)"><\/a>(.*)/,'\1') #2002w42 altered gsub - problematic? - suspect
      toc=case txt.ln
      when 0 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_0
      when 1 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_1
      when 2 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_2
      when 3 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_3
      when 4 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_4
      when 5 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_5
      when 6 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_6
      else
      end
      @toc << toc
    end
  end
  @toc
end

Protected Instance Methods

level_0() click to toggle source
# File lib/sisu/html_minitoc.rb, line 110
def level_0
  txt=@data
  if (txt.is ==:heading \
  || txt.is ==:heading_insert) \
  && txt.ocn !=0
    txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1')
  end
  txt_obj={ txt: txt.obj }
  format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj)
  toc_mini=format_toc.mini_lev0
  toc_mini
end
level_1() click to toggle source
# File lib/sisu/html_minitoc.rb, line 122
def level_1
  txt=@data
  if (txt.is ==:heading \
  || txt.is ==:heading_insert) \
  && txt.ocn !=0
    txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1')
  end
  title=unless txt.obj =~/Document Information/ then txt.obj
  else
    link='metadata'
    %{<b><a href="#{link}#{@md.lang_code_insert}#{Sfx[:html]}">#{txt.obj}</a></b>}
  end
  txt_obj={ txt: title }
  format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj)
  toc_mini=if txt.name =~/^meta/ \
  and txt.obj=~/Document Information/
    format_toc.mini_tail
  else format_toc.mini_lev1
  end
  toc_mini
end
level_2() click to toggle source
# File lib/sisu/html_minitoc.rb, line 143
def level_2
  txt=@data
  if (txt.is ==:heading \
  || txt.is ==:heading_insert) \
  && txt.ocn !=0
    txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1')
  end
  txt_obj={ txt: txt.obj }
  format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj)
  toc_mini=format_toc.mini_lev2
  toc_mini
end
level_3() click to toggle source
# File lib/sisu/html_minitoc.rb, line 155
def level_3
  txt=@data
  txt_obj={ txt: txt.obj }
  format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj)
  toc_mini=format_toc.mini_lev3
  toc_mini
end
level_4() click to toggle source
# File lib/sisu/html_minitoc.rb, line 162
    def level_4
      txt=@data
      unless txt =~/~metadata/
        if txt.ln ==4
          fnh={
            fn: txt.name,
          }
          f=@md.file.base_filename.html_seg(fnh)
          seg_link=%{  <a href="#{f}" target="_top">
  #{txt.obj}
</a> }
          @@seg_url=txt.name
        elsif txt.obj =~/\d+.\d+.\d+.\d+|\d+.\d+.\d+|\d+.\d+|\d+/
          fn,hd=/^(\d+.\d+.\d+.\d+|\d+.\d+.\d+|\d+.\d+|\d+)(.*)/.match(dob.obj)[1,2]
          fnh={
            fn: fn,
          }
          f=@md.file.base_filename.html_seg(fnh)
          seg_link=%{<a href="#{f}" target="_top">#{fn} #{hd}</a> }
        end
        txt_obj={ txt: seg_link }
        format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj)
        toc_mini=format_toc.mini_lev4
        toc_mini
      end
    end
level_5() click to toggle source
# File lib/sisu/html_minitoc.rb, line 188
    def level_5
      txt=@data
      if (txt.is ==:heading \
      || txt.is ==:heading_insert) \
      && txt.ocn !=0
        txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1')
      end
      fnh={
        fn: @@seg_url,
      }
      f=@md.file.base_filename.html_seg(fnh)
      lnk_n_txt=%{  <a href="#{f}##{txt.ocn}">
  #{txt.obj}
</a>}
        txt_obj={ txt: lnk_n_txt }
        format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj)
        toc_mini=format_toc.mini_lev5
      toc_mini
    end
level_6() click to toggle source
# File lib/sisu/html_minitoc.rb, line 207
    def level_6
      txt=@data
      if (txt.is ==:heading \
      || txt.is ==:heading_insert) \
      && txt.ocn !=0
        txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1')
      end
      fnh={
        fn: @@seg_url,
      }
      f=@md.file.base_filename.html_seg(fnh)
      lnk_n_txt=%{  <a href="#{f}##{txt.ocn}">
  #{txt.obj}
</a>}
        txt_obj={ txt: lnk_n_txt }
        format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj)
        toc_mini=format_toc.mini_lev6
      toc_mini
    end
level_concordance() click to toggle source
# File lib/sisu/html_minitoc.rb, line 98
def level_concordance
  format_head_toc=SiSU_HTML_Format::HeadToc.new(@md)
  @@seg_mini << format_head_toc.mini_seg_concordance
end
level_metadata() click to toggle source
# File lib/sisu/html_minitoc.rb, line 102
def level_metadata
  format_head_toc=SiSU_HTML_Format::HeadToc.new(@md)
  @@seg_mini << format_head_toc.mini_seg_metadata
end
level_word_index() click to toggle source
# File lib/sisu/html_minitoc.rb, line 106
def level_word_index
  format_head_toc=SiSU_HTML_Format::HeadToc.new(@d0c)
  @@seg_mini << format_head_toc.mini_concordance
end