diff options
Diffstat (limited to 'lib/sisu/v0/html_scroll.rb')
| -rw-r--r-- | lib/sisu/v0/html_scroll.rb | 172 | 
1 files changed, 52 insertions, 120 deletions
| diff --git a/lib/sisu/v0/html_scroll.rb b/lib/sisu/v0/html_scroll.rb index bc03fc7d..1774fb3f 100644 --- a/lib/sisu/v0/html_scroll.rb +++ b/lib/sisu/v0/html_scroll.rb @@ -86,136 +86,68 @@ module SiSU_HTML_scroll              @p_num=SiSU_HTML_Format_type::Paragraph_number.new(@md,paranum)            end            @sto=SiSU_HTML::Source::Split_text_object.new(@md,para).lev_segname_para_ocn -          unless @rcdc -            m=/<~\d+;(?:[oh]|[0-6]:)\d+;\w\d+><#@dp:#@dp>$/ -            if para =~m -              format_txt_obj=SiSU_HTML_Format_type::Format_text_object.new(@md,@sto.text) if @sto.format =~/[12]|_1?\*|<!i[12]!>\s*_\*|null/ -              case @sto.format -              when /^1~\S*/; para=@sto.scroll_lev_para_ocn.heading_body1 -              when /^2~\S*/; para=@sto.scroll_lev_para_ocn.heading_body2 -              when /^3~\S*/; para=@sto.scroll_lev_para_ocn.heading_body3 -              when /^4~\S+/;      para=@sto.scroll_lev_para_ocn.heading_body4 # work on see Split_text_object4 -              when /^5~\S*/; para=@sto.scroll_lev_para_ocn.heading_body5 -              when /^6~\S*/; para=@sto.scroll_lev_para_ocn.heading_body6 -              when /^_\*$/;       para=@sto.scroll_lev_para_ocn.bullet -              when /^_1\*$/ +          m=/<~\d+;(?:[oh]|[0-6]:)\d+;\w\d+><#@dp:#@dp>$/ +          if para =~m +            format_txt_obj=SiSU_HTML_Format_type::Format_text_object.new(@md,@sto.text) if @sto.format =~/i[1-9]|_[1-9]?\*|<:i[1-9]>\s*_\*|null/ +            case @sto.format +            when /^1~\S*/; para=@sto.scroll_lev_para_ocn.heading_body1 +            when /^2~\S*/; para=@sto.scroll_lev_para_ocn.heading_body2 +            when /^3~\S*/; para=@sto.scroll_lev_para_ocn.heading_body3 +            when /^4~\S+/; para=@sto.scroll_lev_para_ocn.heading_body4 # work on see Split_text_object4 +            when /^5~\S*/; para=@sto.scroll_lev_para_ocn.heading_body5 +            when /^6~\S*/; para=@sto.scroll_lev_para_ocn.heading_body6 +            when /^_\*$/;  para=@sto.scroll_lev_para_ocn.bullet +            when /^_([1-9])\*$/ #indent with bullet +              format_txt_obj.gsub_body +              para=@sto.scroll_lev_para_ocn.format('li',"i#{$1}") +            when /^i([1-9])$/ #indent +              format_txt_obj.gsub_body +              para=@sto.scroll_lev_para_ocn.format('p',"i#{$1}") +            when /^center$/;               para=@sto.scroll_lev_para_ocn.center +            when /^(?:b|bold)$/;           para=@sto.scroll_lev_para_ocn.bold +            when /^(?:verse|group|alt)$/;  para=@sto.scroll_lev_para_ocn.para +            when /^code$/;                 para=@sto.scroll_lev_para_ocn.code +            when /null/ # see whether u can improve +              if para !~/#{@vz.margin_txt_0}|#{@vz.margin_txt_1}|#{@vz.margin_txt_2}/                  format_txt_obj.gsub_body -                para=@sto.scroll_lev_para_ocn.bullet_indent1 -              when /^_2\*$/ -                format_txt_obj.gsub_body -                para=@sto.scroll_lev_para_ocn.bullet_indent2 -              when /^i1$/ -                format_txt_obj.gsub_body -                para=@sto.scroll_lev_para_ocn.indent1 -              when /^i2$/ -                format_txt_obj.gsub_body -                para=@sto.scroll_lev_para_ocn.indent2 -              when /^center$/;               para=@sto.scroll_lev_para_ocn.center -              when /^(?:b|bold)$/;           para=@sto.scroll_lev_para_ocn.bold -              when /^(?:verse|group|alt)$/;  para=@sto.scroll_lev_para_ocn.para -              when /^code$/;                 para=@sto.scroll_lev_para_ocn.code -              when /null/ # see whether u can improve -                if para !~/#{@vz.margin_txt_0}|#{@vz.margin_txt_1}|#{@vz.margin_txt_2}/ -                  format_txt_obj.gsub_body -                  para=@sto.scroll_lev_para_ocn.para -                  if para =~/<!Th?.+/ # tables come as single block -                    table=SiSU_HTML_shared::Table.new(para) -                    para=table.table_split -                  end -                end -              end -            elsif para =~/Endnotes?/ and para !~/<~\d+;(?:[oh]|[0-6]:)\d+;\w\d+><#@dp:#@dp>$/ -              format_txt_obj=SiSU_HTML_Format_type::Format_text_object.new(@md,'<br /><a name="notes">Note</a>') -              para=format_txt_obj.bold_para -            elsif para =~/Owner Details/ and para !~/<~\d+;(?:[oh]|[0-6]:)\d+;\w\d+><#@dp:#@dp>$/ -              format_txt_obj=SiSU_HTML_Format_type::Format_text_object.new(@md,'<br /><a name="owner.details">Owner Details</a>') -              @scr[:owner_details]=format_txt_obj.bold_para -              para='' -            elsif para =~/(.*)<~0;(?:\w|[0-6]:)\d+;\w\d+><#@dp:#@dp>(.*)/ #watch -              one,two=$1,$2 -              format_seg=SiSU_HTML_Format_type::Format_seg.new(@md,one,two) -              para=format_seg.no_paranum -            end -            #para=para.gsub(/ [2-6]~\S+ /,'') #and @md.cmd =~/[VM]/ #arbitrary, watch problematic as too general -            para='' if (para =~/<a name="n\d+">/ and para =~/^(?:\^~\d+\s|<!e[:_]\d+!>)/) # hmmm re-adjusted 200507, for alt endnote which should again be matched ^~ ... not in response to problem though -            if para =~/<:center>/ #rules changed now a <p class="center" problems may arise 2005w11 ! -              one,two=/(.*)<:center>(.*)/.match(para).captures -              format_scroll=SiSU_HTML_Format_type::Format_scroll.new(@md,one,two) -            end -          else # this is crazy rethink and redo later with some form of inject -            m=/<~\d+;(?:[oh]|[0-6]:)\d+;\w\d+><#@dp:#@dp>$/ -            if para =~m -              format_txt_obj=SiSU_HTML_Format_type::Format_text_object.new(@md,@sto.text) if @sto.format =~/[12]|null/ -              meta=case @sto.format -              when /^1~/;    @sto.scroll_lev_para_ocn.heading_body1 -              when /^2~/;    @sto.scroll_lev_para_ocn.heading_body2 -              when /^3~/;    @sto.scroll_lev_para_ocn.heading_body3 -              when /^4~\S+/; @sto.scroll_lev_para_ocn.heading_body4 # work on see Split_text_object -              when /^5~/;    @sto.scroll_lev_para_ocn.heading_body5 -              when /^6~/;    @sto.scroll_lev_para_ocn.heading_body6 -              when /^i1$/ -                format_txt_obj.gsub_body -                @sto.scroll_lev_para_ocn.indent1 -              when /^i2$/ -                format_txt_obj.gsub_body -                @sto.scroll_lev_para_ocn.indent2 -              when /^center$/;   @sto.scroll_lev_para_ocn.center -              when /^(b|bold)$/; @sto.scroll_lev_para_ocn.bold -              when /null/ # see whether u can improve -                if para !~/#{@vz.margin_txt_0}|#{@vz.margin_txt_1}|#{@vz.margin_txt_2}/ -                  format_txt_obj.gsub_body -                  @sto.scroll_lev_para_ocn.para -                  if para =~/<!Th?.+/ # tables come as single block -                    table=Table.new(para) -                    para=table.table_split -                  end +                para=@sto.scroll_lev_para_ocn.para +                if para =~/<!Th?.+/ # tables come as single block +                  table=SiSU_HTML_shared::Table.new(para) +                  para=table.table_split                  end                end -            elsif para =~/(Endnotes?)/ and para !~/<~\d+;(?:[oh]|[0-6]:)\d+;\w\d+><#@dp:#@dp>$/ -              format_txt_obj=SiSU_HTML_Format_type::Format_text_object.new(@md,'<br /><a name="notes">Note</a>') -              meta=format_txt_obj.bold_para -            elsif para =~/MetaData/ and para =~/<~0;(?:\w|[0-6]:)\d+;\w\d+><#@dp:#@dp>$/ #debug 2003w46 add rc info -              format_txt_obj=SiSU_HTML_Format_type::Format_text_object.new(@md,'<br /><a name="metadata">MetaData</a>') -              meta=format_txt_obj.bold_para -            elsif para =~/Owner Details/ and para !~/<~\d+;(?:[oh]|[0-6]:)\d+;\w\d+><#@dp:#@dp>$/ -              format_txt_obj=SiSU_HTML_Format_type::Format_text_object.new(@md,'<br /><a name="owner.details">Owner Details</a>') -              @scr[:owner_details]=format_txt_obj.bold_para -              meta='' -            elsif para =~/(ยก|<!Th?)/ -              table=Table.new(para) -              para=table.table -            elsif para =~/(.*)<~0;(?:\w|[0-6]:)\d+;\w\d+><#@dp:#@dp>(.*)/ #ok - bug in equiv for seg 2004w46 -              one,two=$1,$2 -              format_scroll=SiSU_HTML_Format_type::Format_scroll.new(@md,one,two) #watch #fix -              meta=format_scroll.no_paranum -            end -            meta='' if para =~/<a name="n\d+">/ and para =~/^(\^~\d+ |<!e[:_]\d+!>)/ # -endnote -            if para =~/<~0;(?:\w|[0-6]:)\d+;\w\d+><#@dp:#@dp>$/ -              case para -              when /<:i1>/ -                gsub(/<:i1>/,'') -                format_scroll=SiSU_HTML_Format_type::Format_scroll.new(@md,para) -                meta=format_scroll.indent_one_no_paranum -              when /<:i2>/ -                gsub(/<:i2>/,'') -                format_scroll=SiSU_HTML_Format_type::Format_scroll.new(@md,para) -                meta=format_scroll.indent_one_no_paranum -              end -            end -            if para !~/#{@vz.margin_txt_0}|#{@vz.margin_txt_1}|#{@vz.margin_txt_2}/ -            end -            if para =~/<:center>/ -              one,two=/(.*)<:center>(.*)/.match(para).captures -              format_scroll=SiSU_HTML_Format_type::Format_scroll.new(@md,one,two)              end +          elsif para =~/^[1-9]~\S*/ and para !~/<~\d+;(?:[oh]|[0-6]:)\d+;\w\d+><#@dp:#@dp>$/ +            format_txt_obj=SiSU_HTML_Format_type::Format_text_object.new(@md,para) +            para=format_txt_obj.bold_header +          elsif para =~/Endnotes?/ and para !~/<~\d+;(?:[oh]|[0-6]:)\d+;\w\d+><#@dp:#@dp>$/ +            format_txt_obj=SiSU_HTML_Format_type::Format_text_object.new(@md,'<br /><a name="notes">Note</a>') +            para=format_txt_obj.bold_para +          elsif para =~/Owner Details/ and para !~/<~\d+;(?:[oh]|[0-6]:)\d+;\w\d+><#@dp:#@dp>$/ +            format_txt_obj=SiSU_HTML_Format_type::Format_text_object.new(@md,'<br /><a name="owner.details">Owner Details</a>') +            @scr[:owner_details]=format_txt_obj.bold_para +            para='' +          elsif para =~/(.*)<~0;(?:\w|[0-6]:)\d+;\w\d+><#@dp:#@dp>(.*)/ #watch +            one,two=$1,$2 +            format_seg=SiSU_HTML_Format_type::Format_seg.new(@md,one,two) +            para=format_seg.no_paranum +          end +          #para=para.gsub(/ [2-6]~\S+ /,'') #and @md.cmd =~/[VM]/ #arbitrary, watch problematic as too general +          para='' if (para =~/<a name="n\d+">/ and para =~/^(?:\^~\d+\s|<!e[:_]\d+!>)/) # hmmm re-adjusted 200507, for alt endnote which should again be matched ^~ ... not in response to problem though +          if para =~/<:center>/ #rules changed now a <p class="center" problems may arise 2005w11 ! +            one,two=/(.*)<:center>(.*)/.match(para).captures +            format_scroll=SiSU_HTML_Format_type::Format_scroll.new(@md,one,two)            end            para.gsub!(/<!.+!>/,' ')            para.gsub!(/^<:\S?>/,'')            para.gsub!(/<:\S?>/,' ')            para.strip! -          unless meta; @scr[:body] << para unless para =~/\A\s*\Z/ -          else         @scr[:metadata] << meta +          unless @rcdc; @scr[:body] << para unless para =~/\A\s*\Z/ +          else          @scr[:metadata] << para            end +          #unless meta; @scr[:body] << para unless para =~/\A\s*\Z/ +          #else         @scr[:metadata] << meta +          #end          end        end        @scr | 
