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/odf.rb | 81 +++++++++++++++++++++++++++--------------------------- 1 file changed, 41 insertions(+), 40 deletions(-) (limited to 'lib/sisu/v0/odf.rb') diff --git a/lib/sisu/v0/odf.rb b/lib/sisu/v0/odf.rb index caf86a39..feac2d03 100644 --- a/lib/sisu/v0/odf.rb +++ b/lib/sisu/v0/odf.rb @@ -140,6 +140,7 @@ module SiSU_ODF end end class Scroll [],:open=>[],:close=>[],:head=>[],:metadata=>[],:tail=>[],:endnotes=>[] } @@ -153,13 +154,14 @@ module SiSU_ODF @regx=/^(?:(?:<:p[bn]>\s*)?\d~(?:(\S+))?\s+)?(.+?)\s*<~(\d+);(?:\w|[0-6]:)\d+;\w\d+><#@dp:#@dp>$/ @serial=/\s*<~\d+;(?:\w|[0-6]:)\d+;\w\d+><#@dp:#@dp>\s*/ @tab="\t" + @url_brace=SiSU_Viz::Skin.new.url_decoration @br=if @md.cmd =~/M/; "\n" else '' end end def songsheet pre - @data=markup + @data=markup(@data) post publish end @@ -169,8 +171,8 @@ module SiSU_ODF @n=[] notes.each do |n| #high cost to deal with
appropriately within odf, consider n=n.dup.to_s - if n =~// - fix=n.split(//) #watch #added + if n =~/<:?br(?: \/)?>/ + fix=n.split(/<:?br(?: \/)?>/) #watch #added fix.each do |x| if x =~/\S+/; @n << x end @@ -282,16 +284,16 @@ module SiSU_ODF end def normal(para) #P1 - P3 para.gsub!(@serial,'') - para.gsub!(/(^|\s)(https?:\/\/[^'">< ]+)/,'\1\2') - para.gsub!(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/,'\1') - par=case para - when /^<:i1>\s/m; para.gsub!(/^<:i1>\s/m,'') - %{#{para}} - when /^<:i2>\s/m; para.gsub!(/^<:i2>\s/m,'') - %{#{para}} - else %{#{para}} #%{#{para}} + para.gsub!(/(^|\s)(https?:\/\/[^'">< ]+)/,%{\\1#{@url_brace.xml_open}\\2#{@url_brace.xml_close}}) + para.gsub!(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/,%{#{@url_brace.xml_open}\\1#{@url_brace.xml_close}}) + para=case para + when /^<:i([1-9])>\s/m + m=$1 + para.gsub!(/^<:i#{m}>\s/m,'') + %{#{para}} + else %{#{para}} end - para=par #+ %{} + para end def fontface(para) #para=para.gsub(/(.+?)<\/b>/,%{\\1}) @@ -300,7 +302,7 @@ module SiSU_ODF def footnote(para) @astx||=10000 para.gsub!(/<#@dp>([}\]]~)/,'\1') - para.gsub!(/
<:i1>/,'
') + #para.gsub!(/
<:i[1-9]>/,'
') if para =~/~\{\d+\s+/ para=para.gsub(/~\{(\d+)\s+(.+?)\}~/,'\1 \2') end @@ -324,9 +326,7 @@ module SiSU_ODF end def group_clean(para) para.gsub!(/&nbsp;| /,' ') - para.gsub!(//,'>') - #para.gsub!(//,'
') + para.gsub!(//,'>') para.gsub!(/<br(?:\s+\/)?>/,'
') #para.gsub!(/\s\s/,'  ') para @@ -334,9 +334,9 @@ module SiSU_ODF def poem(para) #P4 #same as group para.gsub!(@serial,'') para.gsub!(/<:verse(?:-end)?>\s*/m,'') - para=group_clean(para) parray=[] - para.split(//).each do |parablock| + para.split(/<:?br(?: \/)?>/).each do |parablock| + parablock=group_clean(parablock) parray << %{#{parablock}} if parablock =~/\S+/ end para=parray.join + '' @@ -344,9 +344,9 @@ module SiSU_ODF def group(para) #P4 #same as verse para.gsub!(@serial,'') para.gsub!(/<:group(?:-end)?>\s*/m,'') - para=group_clean(para) parray=[] - para.split(//).each do |parablock| + para.split(/<:?br(?: \/)?>/).each do |parablock| + parablock=group_clean(parablock) parray << %{#{parablock}} if parablock =~/\S+/ end para=parray.join + '' @@ -354,10 +354,10 @@ module SiSU_ODF def code(para) #P5 para.gsub!(@serial,'') para.gsub!(/<:code(?:-end)?>\s*/m,'') - para=group_clean(para) para.gsub!(/\s\s/,'  ') parray=[] - para.split(/<:br>/).each do |parablock| + para.split(/<:?br(?: \/)?>/).each do |parablock| + parablock=group_clean(parablock) parray << %{#{parablock}} if parablock =~/\S+/ end para=parray.join + '' @@ -414,8 +414,7 @@ module SiSU_ODF #end wordlist end - def markup # Used for major markup instructions - data=@data + def markup(data) # Used for major markup instructions safe_characters=/[^a-zA-Z0-9}{\/?,."';:)(><\-_&!@%~#\]\[*=$| \n+`¡]/ dir=SiSU_Env::Info_env.new(@md.fns) @data_mod,@endnotes,@level,@cont,@copen,@odf_contents_close=Array.new(6){[]} @@ -443,9 +442,11 @@ module SiSU_ODF para=para_array.join(' ') para=para.strip end - para.gsub!(/^(<:i[12]>\s+)?_\*\s+/,'\\1 ') # bullet_red.png + para.gsub!(/^(<:i[1-9]>\s+)?_\*\s+/,'\\1 ') # bullet_red.png #para.gsub!(/^_\*\s+/,'· ') #bullet - para.gsub!(/^(<:i[12]>)\s+_\*\s+/,'\1 · ') #bullet + para.gsub!(/^(<:i[1-9]>)\s+_\*\s+/,'\1 · ') #bullet + #para.gsub!(/^(<:i[1-9]>\s+)?_\*\s+/,'\\1 ') # bullet_red.png + #para.gsub!(/^(<:i[1-9]>)\s+_\*\s+/,'\1 · ') #bullet para.gsub!(/
/,'
') para.gsub!(/<:p[bn]>/,' ') para.gsub!(/©/,'©') #too arbitrary @@ -542,18 +543,6 @@ module SiSU_ODF para=format_text.seg_no_paranum end para='' if para =~// and para =~/^(-\{{2}~\d+|)/ # -endnote - case para #remove - when /<:i1>/ - if para =~/.*<:#>.*$/ - format_text=OD_format::Format_text_object.new(para,'') - para=format_text.scr_indent_one_no_paranum - end - when /<:i2>/ - if para =~/.*<:#>.*$/ - format_text=OD_format::Format_text_object.new(para,'') - para=format_text.scr_indent_one_no_paranum - end - end if (para !~/#{@vz.margin_txt_0}|#{@vz.margin_txt_1}|#{@vz.margin_txt_2}/) # i don't get the condition for no paranum end @@ -613,14 +602,26 @@ module SiSU_ODF %{#@br} + %{#{table}#@br} + %{#@br} + - %{#@br} + - %{#@br} + + %{#@br} + # P1 + %{#@br} + # P1 %{#@br} + %{#@br} + %{#@br} + %{#@br} + %{#@br} + %{#@br} + + %{#@br} + # P1 + + %{#@br} + + %{#@br} + + %{#@br} + + %{#@br} + + %{#@br} + + %{#@br} + + %{#@br} + + %{#@br} + + %{#@br} + + %{#@br} + %{#@br} + %{#@br} + -- cgit v1.2.3