class SiSU_AO_DocumentStructureExtract::Structure

Public Class Methods

new(md) click to toggle source
# File lib/sisu/ao_doc_str.rb, line 1307
def initialize(md)
  @md=md
end

Public Instance Methods

structure(data) click to toggle source
# File lib/sisu/ao_doc_str.rb, line 1310
def structure(data)
  data.compact.each do |dob|
    structure_markup(dob)
  end
end
structure_markup(dob) click to toggle source
# File lib/sisu/ao_doc_str.rb, line 1315
def structure_markup(dob)                                   #build structure where structure provided only in meta header
  dob=if dob.is==:para \
  && (((dob.hang !~/[1-9]/) && (dob.indent !~/[1-9]/)) \
  || (dob.hang != dob.indent)) \
  and not dob.bullet_
    dob=case dob.obj
    when /^#{@md.lv0}/
      h={
        is: :heading,
        lv: 'A',
        ln: 0,
      }
      SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h,dob)
    when /^#{@md.lv1}/
      h={
        is: :heading,
        lv: 'B',
        ln: 1,
      }
      SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h,dob)
    when /^#{@md.lv2}/
      h={
        is: :heading,
        lv: 'C',
        ln: 2,
      }
      SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h,dob)
    when /^#{@md.lv3}/
      h={
        is: :heading,
        lv: 'D',
        ln: 3,
      }
      SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h,dob)
    when /^#{@md.lv4}/
      h={
        is: :heading,
        lv: '1',
        ln: 4,
      }
      SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h,dob)
    when /^#{@md.lv5}/
      h={
        is: :heading,
        lv: '2',
        ln: 5,
      }
      SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h,dob)
    when /^#{@md.lv6}/
      h={
        is: :heading,
        lv: '3',
        ln: 6,
      }
      SiSU_AO_DocumentStructure::ObjectHeading.new.heading(h,dob)
    else dob
    end
  else dob
  end
  dob
end