From 4c11eebf5ea1ce4abaeb8dc555ec1bf2cb27947e Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Thu, 14 Jun 2007 10:16:51 +0100 Subject: sisu-0.54.0 (minor additions to syntax, indent range extended) * indent levels (1-9) added [previously two levels] done for plaintext, html, xml, odf, latex/pdf [minor syntax addition (_3 - _9), version number change] * bullet indent levels (1-9) added [previously two levels] done for plaintext, html, odf, latex/pdf [minor syntax addition (_3* - _9*), version number change] * url decoration, open close, default angle brackets * fixes, some line-breaking for plaintext (and text groups for) odf and xml * css, modifications for extended indents in html and xml [sisu -CC (for update)] * vim syntax highlighter updated to take account of extended indent range * rant installer minor changes for future ruby * conversion script in data/sisu/conf/convert/sisu_convert --- lib/sisu/v0/html_scroll.rb | 172 ++++++++++++++------------------------------- 1 file changed, 52 insertions(+), 120 deletions(-) (limited to 'lib/sisu/v0/html_scroll.rb') 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?\*|\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 =~/<#@dp:#@dp>$/ - format_txt_obj=SiSU_HTML_Format_type::Format_text_object.new(@md,'
Note') - 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,'
Owner Details') - @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 =~// and para =~/^(?:\^~\d+\s|)/) # 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

(.*)/.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 =~/<#@dp:#@dp>$/ - format_txt_obj=SiSU_HTML_Format_type::Format_text_object.new(@md,'
Note') - 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,'
MetaData') - 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,'
Owner Details') - @scr[:owner_details]=format_txt_obj.bold_para - meta='' - elsif para =~/(ยก|<#@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 =~// and para =~/^(\^~\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,'
Note') + 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,'
Owner Details') + @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 =~// and para =~/^(?:\^~\d+\s|)/) # 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

(.*)/.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 -- cgit v1.2.3