From 6811ac91f21a434fc7d967c11e1b20f33918c6ea Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Mon, 19 Mar 2012 22:07:29 -0400 Subject: v3: 3.2 branch is main (v3dv --> v3); dev (v3dv) branch directories removed * v3dv (3.2) "merged" into v3 (previously 3.1) (& removed) * conf/sisu/v3dv --> conf/sisu/v3 * data/sisu/v3dv --> data/sisu/v3 * lib/sisu/v3dv --> lib/sisu/v3 * bin/sisu* (v3dv references changed to v3) * (--dev modifier (superfluous for the time being) runs main v3 branch) --- lib/sisu/v3/html_segments.rb | 307 +++++++++++++++++++++++++------------------ 1 file changed, 181 insertions(+), 126 deletions(-) (limited to 'lib/sisu/v3/html_segments.rb') diff --git a/lib/sisu/v3/html_segments.rb b/lib/sisu/v3/html_segments.rb index a7e37227..b1dbf73f 100644 --- a/lib/sisu/v3/html_segments.rb +++ b/lib/sisu/v3/html_segments.rb @@ -56,62 +56,78 @@ ** Description: html segment generation, processing =end -module SiSU_HTML_seg +module SiSU_HTML_Seg require_relative 'shared_html' # shared_html.rb require_relative 'html' # html.rb require_relative 'html_promo' # html_promo.rb require_relative 'shared_metadata' # shared_metadata.rb - class Seg_output + class Output def initialize(md,outputfile,seg,minitoc,type='') @md,@output_seg_file,@seg,@minitoc,@type=md,outputfile,seg,minitoc,type - @title_banner_=SiSU_Env::Create_site.new(@md.opt.cmd).html_seg_title_banner? - @file=SiSU_Env::SiSU_file.new(@md) + @title_banner_=SiSU_Env::CreateSite.new(@md.opt.cmd).html_seg_title_banner? + @file=SiSU_Env::FileOp.new(@md) + @make=SiSU_Env::ProcessingSettings.new(@md) + @cl=(@make.build.html_minitoc?) \ + ? 'content' + : 'content0' end def output if @seg[:title] =~/\S/ filename_seg=[] - filename_seg << @seg[:title] << @seg[:tocband_banner] + if @make.build.html_top_band? + filename_seg << @seg[:title] << @seg[:tocband_banner] + else + filename_seg << @seg[:title] + end if @type=='endnotes' @seg[:headings]=[] - format_head_seg=SiSU_HTML_Format::Head_seg.new(@md) + format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md) if @title_banner_ @seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author) end txt_obj={ txt: 'Endnotes', ocn_display: '' } - format_seg=SiSU_HTML_Format::Format_seg.new(@md,txt_obj) + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) @seg[:headings] << format_seg.title_heading1 - filename_seg << @seg[:heading_endnotes] << @minitoc << @seg[:headings] << %{\n
\n} << @seg[:endnote_all] << '
' # << '' + filename_seg << @seg[:heading_endnotes] << @minitoc << @seg[:headings] << %{\n
\n} << @seg[:endnote_all] << '
' # << '' elsif @type=='idx' @seg[:headings]=[] - format_head_seg=SiSU_HTML_Format::Head_seg.new(@md) + format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md) if @title_banner_ @seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author) end txt_obj={ txt: 'Index', ocn_display: '' } - format_seg=SiSU_HTML_Format::Format_seg.new(@md,txt_obj) + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) @seg[:headings] << format_seg.title_heading1 - filename_seg << @seg[:heading_idx] << @minitoc << @seg[:headings] << %{\n
\n} << @seg[:idx] << '
' # << '' + filename_seg << @seg[:heading_idx] << @minitoc << @seg[:headings] << %{\n
\n} << @seg[:idx] << '
' # << '' elsif @type=='metadata' - metadata=Metadata::Summary.new(@md).xhtml_display.metadata + metadata=SiSU_Metadata::Summary.new(@md).xhtml_display.metadata @seg[:headings]=[] - format_head_seg=SiSU_HTML_Format::Head_seg.new(@md) + format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md) if @title_banner_ @seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author) end txt_obj={ txt: 'Metadata', ocn_display: '' } - format_seg=SiSU_HTML_Format::Format_seg.new(@md,txt_obj) + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) @seg[:headings] << format_seg.title_heading1 - filename_seg << @seg[:heading_idx] << @minitoc << @seg[:headings] << %{\n
\n} << metadata << '
' # << '' + filename_seg << @seg[:heading_idx] << @minitoc << @seg[:headings] << %{\n
\n} << metadata << '
' # << '' + else + if @make.build.html_top_band? + filename_seg << @minitoc << @seg[:headings] << @seg[:main] << "\n\n" + else + filename_seg << @minitoc << @seg[:main] << "\n\n" + end + end + filename_seg <<=if @make.build.html_top_band? + @seg[:tail] << @seg[:tocband_bannerless] << @seg[:credits] else - filename_seg << @minitoc << @seg[:headings] << @seg[:main] << "\n\n" + @seg[:tail] << @seg[:credits] end - filename_seg << @seg[:tail] << @seg[:tocband_bannerless] << @seg[:credits] - filename_seg.flatten!.compact! + filename_seg=filename_seg.flatten.compact #watch filename_seg.each do |str| unless str =~/\A\s*\Z/ - str.strip! - str.gsub!(Xx[:html_relative2],@file.path_rel_links.html_seg_2) - str.gsub!(Xx[:html_relative1],@file.path_rel_links.html_seg_1) + str=str.strip. + gsub(Xx[:html_relative2],@file.path_rel_links.html_seg_2). + gsub(Xx[:html_relative1],@file.path_rel_links.html_seg_1) @output_seg_file << str end end @@ -134,12 +150,19 @@ module SiSU_HTML_seg attr_reader :seg_name_html,:seg_name_html_tracker def initialize(md=nil,data='') @md,@data=md,data - @vz=SiSU_Env::Get_init.instance.skin + @vz=SiSU_Env::GetInit.instance.skin @seg_name_html=@@seg_name_html || nil @seg_name_html_tracker=@@tracker || nil - @env=SiSU_Env::Info_env.new(@md.fns) if @md + @env=SiSU_Env::InfoEnv.new(@md.fns) if @md if @md - @title_banner_=SiSU_Env::Create_site.new(@md.opt.cmd).html_seg_title_banner? + @make=SiSU_Env::ProcessingSettings.new(@md) + @cl=(@make.build.html_minitoc?) \ + ? 'content' + : 'content0' + else @cl='content' + end + if @md + @title_banner_=SiSU_Env::CreateSite.new(@md.opt.cmd).html_seg_title_banner? end end def songsheet @@ -147,9 +170,9 @@ module SiSU_HTML_seg @minitoc=SiSU_HTML::Source::Toc.new(@md,@data).minitoc data=get_subtoc_endnotes(@data) data=articles(data) - Seg.new.cleanup # (((( added )))) + SiSU_HTML_Seg::Seg.new.cleanup # (((( added )))) #### (((( END )))) #### - rescue; SiSU_Errors::Info_error.new($!,$@,@md.opt.cmd,@md.fns).error + rescue; SiSU_Errors::InfoError.new($!,$@,@md.opt.cmd,@md.fns).error ensure @@seg_name=[] end @@ -161,14 +184,15 @@ module SiSU_HTML_seg printed_endnote_seg='n' idx_html=nil if @md.book_idx - #my_make_source_file=SiSU_Env::Create_file.new(@md.fns) - idx_html=SiSU_Particulars::Combined_singleton.instance.get_idx_html(@md.opt).html_idx + #my_make_source_file=SiSU_Env::CreateFile.new(@md.fns) + idx_html=SiSU_Particulars::CombinedSingleton.instance.get_idx_html(@md.opt).html_idx idx_html.each {|x| @@seg[:idx] << x } @@seg[:heading_idx]='' end data.each do |dob| - if (dob.is=='heading' or dob.is=='heading_insert') \ - and dob.ln==4 + if (dob.is == :heading \ + || dob.is == :heading_insert) \ + && dob.ln == 4 @@seg_name << dob.name seg_name=dob.name end @@ -177,7 +201,7 @@ module SiSU_HTML_seg @@seg_total=@@seg_name.length testforartnum=@@seg_name_html SiSU_Screen::Ansi.new(@md.opt.cmd,@@seg_name.length).segmented if @md.opt.cmd =~/[MVv]/ - map_nametags=SiSU_Particulars::Combined_singleton.instance.get_map_nametags(@md).nametags_map #p map_nametags + map_nametags=SiSU_Particulars::CombinedSingleton.instance.get_map_nametags(@md).nametags_map #p map_nametags data.each do |dob| if defined? dob.obj \ and dob.obj =~/href="#{Xx[:segment]}#+\S+?"/ @@ -192,32 +216,37 @@ module SiSU_HTML_seg end end end - if (dob.is=='heading' or dob.is=='heading_insert') \ - and dob.ln==4 + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==4 if dob.ocn==0 @@heading4=dob.obj else @@heading4=dob.obj end @@is4=newfile=1 end - if (dob.is=='heading' or dob.is=='heading_insert') \ - and dob.ln==3 + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==3 @@heading3=dob.obj @@is4,@@is3=0,1 end - if (dob.is=='heading' or dob.is=='heading_insert') \ - and dob.ln==2 + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==2 @@heading2=dob.obj @@is4,@@is3,@@is2=0,0,1 end - if (dob.is=='heading' or dob.is=='heading_insert') \ - and dob.ln==1 + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==1 @@heading1=dob.obj @@is4,@@is3,@@is2,@@is1=0,0,0,1 end if (@@is1 && !@@is2 && !@@is3 && !@@is4) - if not (dob.is=='heading' or dob.is=='heading_insert') \ - and dob.ln==1 + if not (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==1 head1=$_ #; check end end @@ -225,46 +254,47 @@ module SiSU_HTML_seg if newfile==1 \ or dob.obj =~/^#{Mx[:br_endnotes]}|^#{Mx[:br_eof]}/ newfile=0 - if (dob.is=='heading' or dob.is=='heading_insert') \ - and dob.ln==4 + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==4 if tracking != 0 - dirout=SiSU_Env::Info_env.new(@md.fns) + dirout=SiSU_Env::InfoEnv.new(@md.fns) dir_sisu=dirout.path.output - @file=SiSU_Env::SiSU_file.new(@md) + @file=SiSU_Env::FileOp.new(@md) unless FileTest.directory?(@file.output_path.html_seg.dir) FileUtils::mkdir_p(@file.output_path.html_seg.dir) if File.writable?("#{@file.output_path.base.dir}/.") end - Seg.new(@md).tail + SiSU_HTML_Seg::Seg.new(@md).tail segfilename="#{@file.output_path.html_seg.dir}/#{@@seg_name_html[tracking-1]}#{@md.lang_code_insert}#{Sfx[:html]}" output_seg_file=File.new(segfilename,'w') if @@seg_name_html[tracking-1] - minitoc=(@env.html_minitoc?) \ + minitoc=(@make.build.html_minitoc?) \ ? @minitoc : '' - if dob.is=='heading' \ - or @@seg_name_html[tracking-1] !~/endnotes|book_index|metadata/ - Seg_output.new(@md,output_seg_file,@@seg,minitoc).output - elsif dob.is=='heading_insert' + if dob.is==:heading \ + || (@@seg_name_html[tracking-1] !~/endnotes|book_index|metadata/) + SiSU_HTML_Seg::Output.new(@md,output_seg_file,@@seg,minitoc).output + elsif dob.is==:heading_insert if @@seg_name_html[tracking-1]=='endnotes' - Seg_output.new(@md,output_seg_file,@@seg,minitoc,'endnotes').output + SiSU_HTML_Seg::Output.new(@md,output_seg_file,@@seg,minitoc,'endnotes').output elsif @@seg_name_html[tracking-1]=='book_index' - Seg_output.new(@md,output_seg_file,@@seg,minitoc,'idx').output + SiSU_HTML_Seg::Output.new(@md,output_seg_file,@@seg,minitoc,'idx').output @@seg[:idx]=[] elsif @@seg_name_html[tracking-1]=='metadata' - Seg_output.new(@md,output_seg_file,@@seg,minitoc,'metadata').output + SiSU_HTML_Seg::Output.new(@md,output_seg_file,@@seg,minitoc,'metadata').output else puts "#{__FILE__}::#{__LINE__}" end else puts "#{__FILE__}::#{__LINE__}" end - Seg.new.reinitialise + SiSU_HTML_Seg::Seg.new.reinitialise heading_art(dob) head(dob) #keep use for last segment, eg if metadata is last segment - #if @@seg_name_html[tracking] =~/metadata/ # this is for metadata - # segfilename="#{@md.dir_out}/#{@md.fnl[:pre]}#{@@seg_name_html[tracking]}#{@md.fnl[:mid]}#{Sfx[:html]}#{@md.fnl[:post]}" - # output_seg_file=File.new(segfilename,'w') - # Seg_output.new(@md,output_seg_file,@@seg,minitoc,'metadata').output - # Seg.new.reinitialise - #end + if @@seg_name_html[tracking] =='metadata' # this is for metadata + segfilename="#{@file.output_path.html_seg.dir}/#{@@seg_name_html[tracking]}#{@md.lang_code_insert}#{Sfx[:html]}" + output_seg_file=File.new(segfilename,'w') + SiSU_HTML_Seg::Output.new(@md,output_seg_file,@@seg,minitoc,'metadata').output + Seg.new.reinitialise + end end if tracking==0 heading_art(dob) @@ -273,8 +303,13 @@ module SiSU_HTML_seg end tracking=tracking+1 end - @@get_hash_to=dob.name if (dob.is=='heading' or dob.is=='heading_insert') and dob.ln==4 and dob.name - @@get_hash_fn=dob.name if (dob.is=='heading' or dob.is=='heading_insert') and dob.ln==4 and dob.name + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==4 \ + && dob.name + @@get_hash_to=dob.name + @@get_hash_fn=dob.name + end if dob.obj.class==String markup(dob) elsif dob.obj.class==Array @@ -292,19 +327,27 @@ module SiSU_HTML_seg data end def heading_art(dob) - format_head_seg=SiSU_HTML_Format::Head_seg.new(@md) - if (dob.is=='heading' or dob.is=='heading_insert') \ - and dob.ln.to_s =~/^[1-6]/ - if @@tracker < @@seg_total-1; @@seg[:dot_nav]=format_head_seg.dot_control_pre_next - else @@seg[:dot_nav]=format_head_seg.dot_control_pre + format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md) + @@seg[:dot_nav]=if (@make.build.html_navigation?) \ + && (@make.build.html_navigation_bar?) + x=if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && (dob.ln.to_s =~/^[1-6]/) + x=if @@tracker < @@seg_total-1 + format_head_seg.dot_control_pre_next + else + format_head_seg.dot_control_pre + end + else @@seg[:dot_nav] end + else @@seg[:dot_nav]='' end - ads=SiSU_HTML_promo::Ad.new(@md) + ads=SiSU_HTML_Promo::Ad.new(@md) @@seg[:title]=format_head_seg.head_seg << ads.div.major end def head(dob) clean=/|<:.*?>/ - format_head_seg=SiSU_HTML_Format::Head_seg.new(@md) + format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md) if @@tracker < @@seg_total-1 if @@tracker==0; @@segtocband=format_head_seg.toc_next2 #if format_head_seg.toc_next2 else @@segtocband=format_head_seg.toc_pre_next2 #if format_head_seg.toc_pre_next2 @@ -320,64 +363,68 @@ module SiSU_HTML_seg else '' end @@seg[:tocband_bannerless] << '
' << conditional_div_close << format_head_seg.navigation_band_bottom(@@segtocband,@@seg[:dot_nav]) - @@seg[:headings] << format_head_seg.seg_head_escript if SiSU_HTML_Format::Head_seg.method_defined? :seg_head_escript #debug PHP move up in text #bug + @@seg[:headings] << format_head_seg.seg_head_escript if SiSU_HTML_Format::HeadSeg.method_defined? :seg_head_escript #debug PHP move up in text #bug if @title_banner_ @@seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author).gsub(clean,'') end ocn=if @@heading1[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]; $1 #fix else '' end - @p_num=SiSU_HTML_Format::Paragraph_number.new(@md,ocn) + @p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn) txt_obj={ txt: @@heading1, ocn_display: @p_num.ocn_display } - format_seg=SiSU_HTML_Format::Format_seg.new(@md,txt_obj) + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) @@seg[:headings] << format_seg.title_heading1.gsub(clean,'') - @@heading1.gsub!(/  [\d*+]+<\/sup> <\/a>/,'') + @@heading1=@@heading1.gsub(/  [\d*+]+<\/sup> <\/a>/,'') end if @@is2==1 heading2=@@heading2 ocn=if heading2[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]; $1 #fix else '' end - @p_num=SiSU_HTML_Format::Paragraph_number.new(@md,ocn) + @p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn) txt_obj={ txt: heading2, ocn_display: @p_num.ocn_display } - format_seg=SiSU_HTML_Format::Format_seg.new(@md,txt_obj) + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) @@seg[:headings] << format_seg.title_heading2.gsub(clean,'') - @@heading2.gsub!(/  [\d*+]+<\/sup> <\/a>/,'') + @@heading2=@@heading2.gsub(/  [\d*+]+<\/sup> <\/a>/,'') end if @@is3==1 heading3=@@heading3 ocn=if heading3[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]; $1 #fix else '' end - @p_num=SiSU_HTML_Format::Paragraph_number.new(@md,ocn) + @p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn) txt_obj={ txt: heading3, ocn_display: @p_num.ocn_display } - format_seg=SiSU_HTML_Format::Format_seg.new(@md,txt_obj) + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) @@seg[:headings] << format_seg.title_heading3.gsub(clean,'') - @@heading3.gsub!(/  [\d*+]+<\/sup> <\/a>/,'') + @@heading3=@@heading3.gsub(/  [\d*+]+<\/sup> <\/a>/,'') end if @@is4==1 heading4=@@heading4 ocn=if heading4[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]; $1 #fix else '' end - @p_num=SiSU_HTML_Format::Paragraph_number.new(@md,ocn) + @p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn) txt_obj={ txt: heading4, ocn_display: @p_num.ocn_display } - format_seg=SiSU_HTML_Format::Format_seg.new(@md,txt_obj) + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) @@seg[:headings] << format_seg.title_heading4.gsub(clean,'') end @@tracker=@@tracker+1 end def markup(dob) @debug=[] - format_head_seg=SiSU_HTML_Format::Head_seg.new(@md) - if dob.is !~/meta/ - if dob.is =~/(?:heading|para)/ #extend as necessary FIX - @p_num=SiSU_HTML_Format::Paragraph_number.new(@md,dob.ocn) + format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md) + if dob.is !=:meta + if dob.is==:heading \ + || dob.is==:heading_insert \ + || dob.is == :para + @p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,dob.ocn) end - sto=SiSU_HTML_Format::Format_text_object.new(@md,dob) - dob_html=if dob.is =~/heading|para/ - dob_html=if (dob.is=='heading' \ - or dob.is=='heading_insert') + sto=SiSU_HTML_Format::FormatTextObject.new(@md,dob) + dob_html=if dob.is == :heading \ + || dob.is==:heading_insert \ + || dob.is==:para + dob_html=if dob.is==:heading \ + || dob.is==:heading_insert x=if dob.ln==4 sto.seg_heading4 elsif dob.ln==5 @@ -385,7 +432,7 @@ module SiSU_HTML_seg elsif dob.ln==6 sto.seg_heading6 end - elsif dob.is=='para' + elsif dob.is==:para if dob.indent \ and dob.hang \ and dob.indent =~/[0-9]/ \ @@ -405,49 +452,55 @@ module SiSU_HTML_seg else sto.para end end - elsif dob.is=='block' + elsif dob.is==:block sto.block - elsif dob.is=='group' + elsif dob.is==:group sto.group - elsif dob.is=='alt' + elsif dob.is==:alt sto.alt - elsif dob.is=='verse' + elsif dob.is==:verse sto.verse - elsif dob.is=='code' + elsif dob.is==:code sto.code - elsif dob.is=='table' + elsif dob.is==:table sto.table - elsif dob.is=='break' + elsif dob.is==:break sto.break end if @md.flag_separate_endnotes - dob.obj.gsub!(/"\s+href="#_(\d+)">/,%{" href=\"endnotes#{Sfx[:html]}#_\\1">}) #endnote- twice #removed file type + dob.obj=dob.obj.gsub(/"\s+href="#_(\d+)">/,%{" href=\"endnotes#{Sfx[:html]}#_\\1">}) #endnote- twice #removed file type end if dob.obj !~/#{@vz.margin_txt_w1}|#{@vz.margin_txt_w2}/ - if dob.is =~/heading|para/ and (not dob.ocn or dob.ocn.to_s.empty?) - format_seg=SiSU_HTML_Format::Format_seg.new(@md,dob) + if (dob.is==:heading \ + || dob.is==:heading_insert \ + || dob.is==:para) \ + && (not dob.ocn \ + || (dob.ocn.to_s.empty?)) + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,dob) end - dob.obj.gsub!(/\s*(-\{{2}~\d+|<:e[:_]\d+>).*/,'') #potentially dagerous - removes all paragraphs with #?? workpoint + dob.obj=dob.obj.gsub(/\s*(-\{{2}~\d+|<:e[:_]\d+>).*/,'') #potentially dagerous - removes all paragraphs with #?? workpoint if dob.obj =~/ / #endnote- note- - format_seg=SiSU_HTML_Format::Format_seg.new(@md,dob) + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,dob) dob=format_seg.no_paranum end end - if (dob.is=='heading' \ - || dob.is=='heading_insert') \ - and dob.ln==4 - @@seg[:main] << %{\n
\n} + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==4 + @@seg[:main] << %{\n
\n} @@seg[:main] << dob_html - @@seg[:main] << @@seg_subtoc[@@get_hash_fn] #% insertion of sub-toc + if @make.build.segsubtoc? + @@seg[:main] << @@seg_subtoc[@@get_hash_fn] #% insertion of sub-toc + end else @@seg[:main] << dob_html #unless @@flag_alt==true end end end def tail - format_head_seg=SiSU_HTML_Format::Head_seg.new(@md) + format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md) if @md.flag_auto_endnotes and @@seg_endnotes[@@get_hash_fn] - @@seg[:tail] << %{\n
\n
\n} + @@seg[:tail] << %{\n
\n
\n} if @@seg_endnotes[@@get_hash_fn].flatten.length > 0 @@seg[:tail] << format_head_seg.endnote_mark @@seg[:tail] << @@seg_endnotes[@@get_hash_fn].flatten #endnotes deposited at end of individual segments ||@|EXTRACTION OF ENDNOTES| @@ -455,7 +508,7 @@ module SiSU_HTML_seg @@seg[:tail] << '
' @@seg[:tail] << '
' #this div closes div class content end - ads=SiSU_HTML_promo::Ad.new(@md) + ads=SiSU_HTML_Promo::Ad.new(@md) @@seg[:credits] << format_head_seg.credit << ads.div.close << ads.display << format_head_seg.html_close end def reinitialise @@ -471,18 +524,20 @@ module SiSU_HTML_seg end def get_subtoc_endnotes(data) #get endnotes & sub-table of contents subtoc data.each do |dob| - dob.obj.gsub!(/
(.+?)<\/a>/mi,'\1') + dob.obj=dob.obj.gsub(/(.+?)<\/a>/mi,'\1') if @md.flag_auto_endnotes - if (dob.is=='heading' or dob.is=='heading_insert') \ - and dob.ln.to_s =~/^[1234]/ \ + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && (dob.ln.to_s =~/^[1234]/) \ and not @@fn.to_s.empty? @@seg_endnotes[@@fn]=[] @@seg_endnotes[@@fn] << @@seg_endnotes_array @@seg_endnotes_array=[] if dob.ln==4 @@fns_previous=@md.fns if dob.ln==4 and dob.name =~/^meta/ end - if (dob.is=='heading' or dob.is=='heading_insert') \ - and dob.ln==4 #% EXTRACTION OF SUB-TOCs & SEGMENT NAME, after EXTRACTION OF ENDNOTES & SUB-TOCs + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==4 #% EXTRACTION OF SUB-TOCs & SEGMENT NAME, after EXTRACTION OF ENDNOTES & SUB-TOCs @@seg_subtoc[@@fn]=@@seg_subtoc_array @@seg_subtoc_array=[] if dob.name \ @@ -496,23 +551,23 @@ module SiSU_HTML_seg end end end - if dob.is=='heading' \ - and dob.ln.to_s =~/^[56]/ + if dob.is==:heading \ + && (dob.ln.to_s =~/^[56]/) case dob.ln when 5 txt_obj={ txt: dob.obj.strip, ocn: dob.ocn } - format_seg=SiSU_HTML_Format::Format_seg.new(@md,txt_obj) + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) subtoc=format_seg.subtoc_lev5 #keep and make available, this is the subtoc when 6 txt_obj={ txt: dob.obj.strip, ocn: dob.ocn } - format_seg=SiSU_HTML_Format::Format_seg.new(@md,txt_obj) + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) subtoc=format_seg.subtoc_lev6 #keep and make available, this is the subtoc end @@seg_subtoc_array << subtoc end if @md.flag_auto_endnotes - if dob.obj =~/(?:#{Mx[:en_a_o]}|#{Mx[:en_b_o]})[\d*+]+ /) try.each do |e| txt_obj={ txt: e } - format_seg=SiSU_HTML_Format::Format_seg.new(@md,txt_obj) + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) note_match=if e =~/#{Mx[:pa_o]}i[1-9]#{Mx[:pa_c]}/ format_seg.endnote_body_indent else format_seg.endnote_body @@ -544,11 +599,11 @@ module SiSU_HTML_seg endnote_part_a=note_match_seg[m,1] endnote_part_b=note_match_seg[m,2] txt_obj={ endnote_part_a: endnote_part_a, endnote_part_b: endnote_part_b } - format_seg=SiSU_HTML_Format::Format_seg.new(@md,txt_obj) + format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj) note_match_all_seg=format_seg.endnote_seg_body(@@fn) #BUG WATCH 200408 @@seg[:endnote_all] << note_match_all_seg end - dob.obj.gsub!(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ') + dob.obj=dob.obj.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ') end end end -- cgit v1.2.3