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/plaintext.rb | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) (limited to 'lib/sisu/v0/plaintext.rb') diff --git a/lib/sisu/v0/plaintext.rb b/lib/sisu/v0/plaintext.rb index c39cba14..8728741a 100644 --- a/lib/sisu/v0/plaintext.rb +++ b/lib/sisu/v0/plaintext.rb @@ -143,6 +143,7 @@ module SiSU_Plaintext end end class Scroll \s*)?\d~(?:(\S+))?\s+)?(.+?)\s*<~(\d+);(?:\w|[0-6]:)\d+;\w\d+><#@dp:#@dp>$/ #m # 2004w18 pb pn removal added @@ -171,7 +173,7 @@ module SiSU_Plaintext end end def songsheet - markup + @data=markup(@data) publish #@data.each { |x| puts x.inspect if x =~/\[table/ } end @@ -264,9 +266,10 @@ WOK para.gsub!(/~[{\[]([\d*+]+)\s+(?:.+?)[}\]]~/,'[^\1]') # endnote marker marked up wrapped=if para[@regx] paragraph=para[@regx,2] - if paragraph.include? '<:i1>' - paragraph.gsub!(/<:i1>/,'') - util=SiSU_text_utils::Wrap.new(paragraph,70,2) + if paragraph =~/<:i([1-9])>/ + m=$1.to_i + paragraph.gsub!(/<:i#{m}>/,'') + util=SiSU_text_utils::Wrap.new(paragraph,70,m*2) else util=SiSU_text_utils::Wrap.new(paragraph,70,0) end util.line_wrap @@ -291,8 +294,7 @@ WOK end @@endnotes_para=[] end - def markup # Used for major markup instructions - data=@data + def markup(data) # Used for major markup instructions dir=SiSU_Env::Info_env.new(@md.fns) @data_mod,@endnotes,@level,@cont,@copen,@plaintext_contents_close=Array.new(6){[]} (0..6).each { |x| @cont[x]=@level[x]=false } @@ -303,17 +305,22 @@ WOK data.each do |para| para.gsub!(//,'') # remove dummy headings (used by html) #check - para.gsub!(/_\*\s+/,'* ') # bullet markup, marked down + para.gsub!(/_\*\s+/,'* ') # bullet markup, marked down + #para.gsub!(//,"\n") # introduces a bug para.gsub!(/©/,'©') # bullet markup, marked down - para.gsub!(/&/,'&') # bullet markup, marked down + para.gsub!(/&/,'&') # bullet markup, marked down para.gsub!(/(.+?)<\/sup>/,'^\1^') para.gsub!(/(.+?)<\/sub>/,'[\1]') para.gsub!(/(.+?)<\/i>/,'/\1/') para.gsub!(/(.+?)<\/b>/,'*\1*') para.gsub!(/(.+?)<\/u>/,'_\1_') - para.gsub!(/<:(?:group|verse|alt|code)(?:-end)?>(?:\s+<~(\d+);(?:\w|[0-6]:)\d+;\w\d+><#@dp:#@dp>)?/,'') + if para =~/<:(?:group|verse|alt|code)(?:-end)?>(?:\s+<~(\d+);(?:\w|[0-6]:)\d+;\w\d+><#@dp:#@dp>)?/ + para.gsub!(//,"\n") # watch + para.gsub!(/<:(?:group|verse|alt|code)(?:-end)?>(?:\s+<~(\d+);(?:\w|[0-6]:)\d+;\w\d+><#@dp:#@dp>)?/,'') + end para.gsub!(/<:p[bn]>/,'') # remove page breaks para.gsub!(/^\s*<~\d+;(?:\w|[0-6]:)\d+;\w\d+><#@dp:#@dp>$/,'') # remove empty lines - check + para.gsub!(/(^|\s)(https?:\/\/[^"><]+?)([,.:;"><]?(?:\s|$))/,"\\1#{@url_brace.txt_open}\\2#{@url_brace.txt_close}\\3") para.gsub!(/(.+?)<\/a>/m,'\1') para.gsub!(/<:name#\S+?>/,'') # remove name links para.gsub!(/ /,' ') # decide on @@ -394,13 +401,8 @@ WOK end para='' if (para =~// and para =~/^(-\{{2}~\d+|)/) # -endnote case para - when /<:i1>/ - if para =~/.*<:#>.*$/ - format_text=Format_text_object.new(para,'') - para=format_text.scr_indent_one_no_paranum - end - when /<:i2>/ - if para =~/.*<:#>.*$/ + when /<:i[1-9]>/ + if para =~/.*<:#>.*$/m format_text=Format_text_object.new(para,'') para=format_text.scr_indent_one_no_paranum end @@ -421,7 +423,6 @@ WOK def publish divider="=" content=[] - data=@data content << @@plaintext[:open] content << @@plaintext[:head] content << @@plaintext[:body] @@ -446,11 +447,12 @@ WOK filename_plaintext=SiSU_Env::SiSU_file.new(@md,@md.fn[:plain]).mkfile @sisu=[] @content.each do |para| # this is a hack - if para =~/^\S/ - if para !~/^([*=-]|\.){5}/; filename_plaintext.puts para #unix plaintext - else filename_plaintext.puts para #unix plaintext + if para.class == Array and para.length > 0 + para.each do |line| + line.gsub!(/\s+$/m,'') + filename_plaintext.puts line #unix plaintext end - else filename_plaintext.puts para # if para =~/^\s/ + else filename_plaintext.puts para #unix plaintext # /^([*=-]|\.){5}/ end end end -- cgit v1.2.3