From 37f81bc4aa6579f269021dfdb3ab84b51f531634 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Mon, 8 Oct 2007 12:23:05 +0100 Subject: dal, shortcut for available outputs, present as grouped text object this makes more sense for search results - matches all available versions of a document [affects document objects and numbering where used, hence version number bump] --- lib/sisu/v0/html_segments.rb | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) (limited to 'lib/sisu/v0/html_segments.rb') diff --git a/lib/sisu/v0/html_segments.rb b/lib/sisu/v0/html_segments.rb index 18ed11ec..de96dd7d 100644 --- a/lib/sisu/v0/html_segments.rb +++ b/lib/sisu/v0/html_segments.rb @@ -68,7 +68,7 @@ module SiSU_HTML_seg @@seg[:tocband],@@seg[:title],@@seg[:headers],@@seg[:main],@@seg[:tail],@@seg[:credits],@@seg_subtoc_array,@@seg_endnotes_array,@@seg[:endnote_all]=Array.new(9){[]} @@seg[:header_endnotes]='' @@tablehead,@@number_of_cols=0,0 - @@flag_group=false + @@flag_alt=false @@dp,@@segtocband=nil,nil @@fns_previous='' attr_reader :seg_name_html,:seg_name_html_tracker @@ -168,7 +168,7 @@ module SiSU_HTML_seg end m=para[/.+?.*/]; @@get_hash_to=$1 if m # changed 2002w42, again w44 ! & again 2003w16 m=para[/^4~(\S+)/]; @@get_hash_fn=$1 if m - para=if para =~//; para.split(/\n/) + para=if para =~//m; para.split(/\n/) else para end if para.class == String @@ -178,10 +178,8 @@ module SiSU_HTML_seg markup(pg) end end - #Seg.new(para,@md).txt if testforartnum[tracking-1] =~/endnote/ if printed_endnote_seg == 'n' - #Seg.new(para,@md).endnote printed_endnote_seg='y' end end @@ -262,20 +260,21 @@ module SiSU_HTML_seg paranum=m[1].to_s @p_num=SiSU_HTML_Format_type::Paragraph_number.new(@md,paranum) end - if para =~/<:(?:code|alt|verse|group)>/ or @@flag_group==true - if para =~/<:(?:code|alt|verse|group)>/ + if para =~/<:(?:code|alt|verse|group)>/m or @@flag_alt==true + if para =~/<:(?:code|alt|verse|group)>/m @group_collect=[] #unless @group_collect.class == Array - @group_collect << @vz.margin_txt_0 + para - @@flag_group=true - elsif @@flag_group==true - unless para =~/<:(?:code|alt|verse|group)-end>/ # neither ideal nor necessary sort later - @group_collect << para - else @group_collect << para.gsub(/<:(?:code|alt|verse|group)-end>/,'') + @group_collect << @vz.margin_txt_0 + para.gsub(/<:(?:code|alt|verse|group)-end>/m,'') #watch ! + @@flag_alt=true + elsif @@flag_alt==true + @group_collect << if para !~/<:(?:code|alt|verse|group)-end>/m # neither ideal nor necessary sort later + para + else + para.gsub(/<:(?:code|alt|verse|group)-end>/m,'') end end - if para =~/<:(?:code|alt|verse|group)-end>/ + if para =~/<:(?:code|alt|verse|group)-end>/m para=@group_collect.flatten.join - @@flag_group=false + @@flag_alt=false @group_collect=[] end end @@ -300,7 +299,7 @@ module SiSU_HTML_seg when /^i([1-9])$/ #indent levels 1-9 format_txt_obj.gsub_body para=@sto.seg_lev_para_ocn.format('p',"i#{$1}") - when /^(?:verse|group|alt)$/ + when /^(?:verse|group|alt)$/m @sto.seg_lev_para_ocn.para when /^code$/ @sto.seg_lev_para_ocn.code @@ -340,7 +339,7 @@ module SiSU_HTML_seg @@seg[:main] << @@seg_subtoc[@@get_hash_fn] #% insertion of sub-toc else para.gsub!(/<:[-_\w\d]?(-.+?-)?>|4~!.+/,'') - @@seg[:main] << para unless @@flag_group==true + @@seg[:main] << para unless @@flag_alt==true end end end -- cgit v1.2.3