From d29a3e5469d8468084641c385ebf16948f7c2437 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 22 Jul 2008 20:00:59 -0400 Subject: sisu-0.68.0 proposed * middle layer document representation changed, (accounting for substantial patch) * texpdf multiple document sizes as specified in config * numerous small fixes [should on the whole be easier to maintain] --- lib/sisu/v0/dal_doc_str_code.rb | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'lib/sisu/v0/dal_doc_str_code.rb') diff --git a/lib/sisu/v0/dal_doc_str_code.rb b/lib/sisu/v0/dal_doc_str_code.rb index 9596bb69..82ada040 100644 --- a/lib/sisu/v0/dal_doc_str_code.rb +++ b/lib/sisu/v0/dal_doc_str_code.rb @@ -80,30 +80,30 @@ module SiSU_document_structure_code @@counter=0 @verse_count=0 data.each do |para| - para.gsub!(/(<:(?:code|verse|alt|group)>)\s/,'\1') #double check + para.gsub!(/(#{Mx[:gr_o]}(?:code|verse|alt|group)#{Mx[:gr_c]})\s/,'\1') #double check para.gsub!(/(?:\n\s*\n)+/m,"\n") unless @@flag['code'] - if para =~/^code\{/ + if para =~/^code\{/ and not @@flag['code'] @@flag['code']=true @@counter=1 - para.gsub!(/^code\{.*/,'<:code>') + para.gsub!(/^code\{.*/,"#{Mx[:gr_o]}code#{Mx[:gr_c]}") elsif para =~/^(?:poem)\{/ \ and not @@flag['code'] @@flag['poem']=true - para.gsub!(/^(poem)\{.*/,'<:verse>') + para.gsub!(/^(poem)\{.*/,"#{Mx[:gr_o]}verse#{Mx[:gr_c]}") elsif para =~/^(?:alt|group)\{/ \ and not @@flag['code'] #group not tested, stub 2005 @@flag['group']=true - para.gsub!(/^(alt|group)\{.*/,'<:\1>') + para.gsub!(/^(alt|group)\{.*/,"#{Mx[:gr_o]}\\1#{Mx[:gr_c]}") end if @@flag['code'] if @@flag['code'] \ and para =~/^\}code/ - para.gsub!(/^\}code.*/,'<:code-end>') + para.gsub!(/^\}code.*/,"#{Mx[:gr_o]}code-end#{Mx[:gr_c]}") @@flag['code']=false end if @@flag['code'] \ - or para =~/<:code-end>/ #and para =~/\S/ - sub_array=if para !~/<:code(?:-end)?>/; para.dup + '<:br>' + or para =~/#{Mx[:gr_o]}code-end#{Mx[:gr_c]}/ #and para =~/\S/ + sub_array=if para !~/#{Mx[:gr_o]}code(?:-end)?#{Mx[:gr_c]}/; para.dup + "#{Mx[:br_nl]}" else para.dup end @line_mode=sub_array.scan(/.+/) @@ -117,18 +117,18 @@ module SiSU_document_structure_code and not @@flag['code'] if @@flag['poem'] \ and para =~/^\}(?:poem)/ - para.gsub!(/^\}(poem).*/,"\n<:verse-end>") + para.gsub!(/^\}(poem).*/,"\n#{Mx[:gr_o]}verse-end#{Mx[:gr_c]}") @@flag['poem']=false elsif ( @@flag['group'] \ and para =~/^\}(?:alt|group)/ ) \ and not @@flag['code'] - para.gsub!(/^\}(alt|group).*/,'<:\1-end>') + para.gsub!(/^\}(alt|group).*/,"#{Mx[:gr_o]}\\1-end#{Mx[:gr_c]}") @@flag['group']=false end if @@flag['poem'] \ or @@flag['group'] \ and para =~/\S/ \ - and para !~/<:(verse|code|alt|group)(-end)?>/ \ + and para !~/#{Mx[:gr_o]}(verse|code|alt|group)(-end)?#{Mx[:gr_c]}/ \ and not @@flag['code'] sub_array=para.dup @line_mode=sub_array.scan(/.+/) @@ -138,7 +138,7 @@ module SiSU_document_structure_code SiSU_document_structure_code::Code.new(@md,@line_mode).code_lines(type) div=if @@flag['poem'] \ and @verse_count > 0 - "\n" + '<:verse-end>' + "\n\n" + '<:verse>' + "\n" + "#{Mx[:gr_o]}verse-end#{Mx[:gr_c]}" + "\n\n" + "#{Mx[:gr_o]}verse#{Mx[:gr_c]}" else '' end @verse_count+=1 if @@flag['poem'] @@ -150,13 +150,13 @@ module SiSU_document_structure_code or @@flag['poem'] \ or @@flag['group'] @tuned_group << para if para =~/\S+/ - elsif para =~/<:(?:code|alt|group|verse)-end>/ + elsif para =~/#{Mx[:gr_o]}(?:code|alt|group|verse)-end#{Mx[:gr_c]}/ @verse_count=0 @tuned_group << para - tuned_file <<= if para =~/<:group-end>/ + tuned_file <<= if para =~/#{Mx[:gr_o]}group-end#{Mx[:gr_c]}/ @tuned_group.join("\n") else @tuned_group=@tuned_group.join - @tuned_group.gsub!(/<:br><:br>(<:code-end>)/,'\1') + @tuned_group.gsub!(/#{Mx[:br_nl]}#{Mx[:br_nl]}(#{Mx[:gr_o]}code-end#{Mx[:gr_c]})/,'\1') @tuned_group end @tuned_group=[] @@ -169,18 +169,18 @@ module SiSU_document_structure_code data=@data data.each do |line| if line =~/\S/ \ - and line !~/^code\{|^\}code|<:code.+/ + and line !~/^code\{|^\}code|#{Mx[:gr_o]}code.+/ line.gsub!(/\s\s/,'  ') - line.gsub!(/^/,'<:codeline>') if type=='code' # try sort for texpdf special case + line.gsub!(/^/,"#{Mx[:gr_o]}codeline#{Mx[:gr_c]}") if type=='code' # try sort for texpdf special case if line =~/(?:https?|file|ftp):\/\/\S+$/ - line.gsub!(/$/,' <:br>') - else line.gsub!(/$/,'<:br>') #unless type=='code' + line.gsub!(/$/," #{Mx[:br_nl]}") + else line.gsub!(/$/,"#{Mx[:br_nl]}") #unless type=='code' end if @@flag['code']; @@counter+=1 else end elsif line =~/^\s*$/ - line.gsub!(/$/,' <:br>') + line.gsub!(/$/,"#{Mx[:br_nl]}") end end end -- cgit v1.2.3