\n
}
if defined? @md.make.cover_image \
and @md.make.cover_image.is_a?(Hash) \
and @md.make.cover_image[:cover] =~/\S+/
md_opf_a_content << @epub.metadata_opf.manifest_cover_image_information(@md)
md_opf_a_spine << @epub.metadata_opf.spine_cover_image
md_opf_a_guide << @epub.metadata_opf.guide_cover_image
end
md_opf_a_content << @epub.metadata_opf.manifest_content_sisu_toc
if @make.build.toc?
md_opf_a_spine << @epub.metadata_opf.spine_sisu_toc
md_opf_a_guide << @epub.metadata_opf.guide_sisu_toc
end
@ncxo=[false,false,false,false,false,false,false]
@dob_toc2,@dob_toc3=nil,nil
@ncx_cls=[]
@level_a_first_occurrence=true
@data.each do |dob|
if dob.is==:heading \
|| dob.is==:heading_insert
dob_toc=dob.dup
toc=case dob_toc.ln
when 0
@s_a_no +=1
lv_name='section_a' + @s_a_no.to_s
@nav_no+=1
@nav_no2=@nav_no
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[7]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[6]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[5]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[4]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[3]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[2]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[1]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[0]
@ncxo[0],@ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
true, false, false, false, false, false, false, false
@epub.sections(dob_toc,lv_name)
if @level_a_first_occurrence \
&& @make.build.toc?
@per.ncx << @epub.toc_ncx.navmap_sisu_toc(@nav_no) #epub ncx navmap, toc
@nav_no+=1
@level_a_first_occurrence=false
end
@per.ncx << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name)
md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name)
SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_0
when 1
@s_b_no +=1
lv_name='section_b' + @s_b_no.to_s
@nav_no+=1
@nav_no2=@nav_no
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[7]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[6]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[5]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[4]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[3]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[2]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[1]
@ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
true, false, false, false, false, false, false
@epub.sections(dob_toc,lv_name)
@per.ncx << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name)
md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name)
SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_1
when 2
@s_c_no +=1
lv_name='section_c' + @s_c_no.to_s
@nav_no+=1
@nav_no2=@nav_no
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[7]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[6]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[5]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[4]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[3]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[2]
@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
true, false, false, false, false, false
@epub.sections(dob_toc,lv_name)
@per.ncx << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name)
md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name)
SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_2
when 3
@s_d_no +=1
lv_name='section_d' + @s_d_no.to_s
@nav_no+=1
@nav_no3=@nav_no
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[7]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[6]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[5]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[4]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[3]
@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
true, false, false, false, false
@epub.sections(dob_toc,lv_name)
@per.ncx << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name)
md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name)
SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_3
when 4
@ncx_cls=[]
lv_name=dob_toc.name
@nav_no+=1
@dob_name=dob.name
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[7]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[6]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[5]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[4]
@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
true, false, false, false
@per.ncx << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name)
md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name)
SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_4
when 5
@ncx_cls=[]
hashtag='#o' + dob_toc.ocn.to_s
lv_name=@dob_name
@nav_no+=1
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[7]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[6]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[5]
@ncxo[5],@ncxo[6],@ncxo[7]=
true, false, false
@per.ncx << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag)
md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name,hashtag)
SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_5
when 6
@ncx_cls=[]
hashtag='#o' + dob_toc.ocn.to_s
lv_name=@dob_name
@nav_no+=1
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[7]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[6]
@ncxo[6],@ncxo[7]=
true, false
@per.ncx << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag)
md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name,hashtag)
SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_6
when 7
@ncx_cls=[]
hashtag='#o' + dob_toc.ocn.to_s
lv_name=@dob_name
@nav_no+=1
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[7]
@ncxo[7]=true
@per.ncx << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag)
md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name,hashtag)
SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_7
else nil
end
toc.each do |k,d|
d.gsub!(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
end if toc
if @@firstseg.nil? \
and dob.ln==4 \
and dob.name =~/\S+/
@@firstseg=dob.name
end
if toc
begin
@per.seg << toc[:seg]
@per.scr << toc[:seg]
rescue
SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
end
end
end
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[6]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[5]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[4]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[3]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[2]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[1]
@per.ncx << @epub.toc_ncx.navpoint_close if @ncxo[0]
@ncxo[0],@ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=false,false,false,false,false,false,false
md_opf_a_content << @epub.metadata_opf.manifest_images(@md.ec[:image])
@per.seg << "
\n