diff options
Diffstat (limited to 'lib/sisu/v0/plaintext.rb')
-rw-r--r-- | lib/sisu/v0/plaintext.rb | 47 |
1 files changed, 13 insertions, 34 deletions
diff --git a/lib/sisu/v0/plaintext.rb b/lib/sisu/v0/plaintext.rb index b89a6252..754e366d 100644 --- a/lib/sisu/v0/plaintext.rb +++ b/lib/sisu/v0/plaintext.rb @@ -66,7 +66,7 @@ module SiSU_Plaintext include SiSU_Param include SiSU_Viz require "#{SiSU_lib}/plaintext_format" - include Format + include SiSU_Plaintext_format require "#{SiSU_lib}/shared_txt" require "#{SiSU_lib}/shared_structure" pwd=Dir.pwd @@ -275,6 +275,7 @@ WOK table_message='[table omitted, see other document formats]' fix=[] data.each do |para| + para.gsub!(/#{Mx[:id_o]}~0;0:0;x\d+#{Mx[:id_c]}/,'') # if book index? remove para.gsub!(/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}.+/um,"#@br#{table_message}") para.gsub!(/.+?#{Mx[:gl_o]}-##{Mx[:gl_c]}/,'') # remove dummy headings (used by html) #check para.gsub!(/#{Mx[:gl_bullet]}\s*/,'* ') # bullet markup, marked down @@ -287,7 +288,7 @@ WOK para.gsub!(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'"\1"') para.gsub!(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'-\1-') unless para =~/#{Mx[:gr_o]}code#{Mx[:gr_c]}/ - para.gsub!(/\{(.+?)\}((?:https?|file|ftp):\/\/\S+|image)/,'\1 [link:] \2') + para.gsub!(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}((?:https?|file|ftp):\/\/\S+|image)/,'\1 [link:] \2') para.gsub!(/(^|#{Mx[:gl_c]}|\s)((?:https?|file|ftp):\/\/\S+?\.[^'"><\s]+?)([.,]?(?:\s|$))/,"\\1#{@url_brace.txt_open}\\2#{@url_brace.txt_close}\\3") para.gsub!(/_((?:https?|file|ftp):\/\/\S+)/,'\1') extract_endnotes(para) @@ -321,8 +322,8 @@ WOK para.gsub!(/(^|#{Mx[:gl_c]}|\s)[_\\]((?:https?|file|ftp):\/\/\S+?\.[^'"><\s]+?)([.,]?(?:\s|$))/,'\1\2\3') para.gsub!(/<a href=".+?">(.+?)<\/a>/m,'\1') para.gsub!(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,'') # remove name links - para.gsub!(/ /,' ') # decide on - para.gsub!(/(?:^|[^_\\])\{(\S+?\.(?:png|jpg|gif)) .+?\}(?:(?:https?|file|ftp):\/\/\S+|image)/,' [ \1 ]') #"[ #{dir.url.images_local}\/\\1 ]") + para.gsub!(/ |#{Mx[:nbsp]}/,' ') # decide on + para.gsub!(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}(?:(?:https?|file|ftp):\/\/\S+|image)/,' [ \1 ]') #"[ #{dir.url.images_local}\/\\1 ]") para.gsub!(/(?:^|[^_\\])\{\s*\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"\s*\}\S+/,'[image: "\1"]') #para.gsub!(/^\{\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"\s*\}\S+/,'[image: "\1"]') wordlist=para.scan(/\S+/) @@ -334,7 +335,7 @@ WOK if para !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ if para =~@regx #/.+?<~\d+;\w\d+;\w\d+>.*/ #watch change paranum=para[@regx,3] - @p_num=Format::Paragraph_number.new(paranum) + @p_num=SiSU_Plaintext_format::Paragraph_number.new(paranum) end @sto=SiSU_Structure::Split_text_object.new(@md,para).txt ### problem in scroll, it appears tables are getting paragraph numbers @@ -360,25 +361,6 @@ WOK when /^(6):(\S*?)/ plaintext_structure(para,$1,@sto.ocn,$2) @sto.lev_para_ocn.heading_body6 - #when /^(i1)$/ - # #formatMono.gsubBody - # #para=@sto[:lev_para_ocn].scrIndent1 - #when /^(i2)$/ - # formatMono.gsubBody - # para=@sto[:lev_para_ocn].scrIndent2 - #when /^(center)$/ - # para.gsub!(/(.+)/, - # %{<center>(\\1)</center>}) - # para=@sto[:lev_para_ocn].scrPara - #when /^(b|bold)$/ - # para.gsub!(/(.+)/, - # %{<b>(\\1)</b>}) - # para=@sto[:lev_para_ocn].scrPara - #when /null/ # see whether u can improve - # if (para !~/#{@margin.txt_0}|#{@margin.txt_1}|#{@margin.txt_2}/) - # #formatMono.gsubBody - # #para=@sto[:lev_para_ocn].scrPara - # end else plaintext_structure(para,nil,nil,nil) #watch may be problematic para @@ -397,28 +379,25 @@ WOK #@plaintext[:owner_details]=formatMono.bold_para #para='' elsif para =~/(#{Mx[:tc_p]}|#{Mx[:gr_o]}Th?)/u #tables ! check - elsif para =~/(.*)<!#!>(.*)/ - one,two=$1,$2 - format_text=Format_text_object.new(one,two) - para=format_text.seg_no_paranum end para='' if (para =~/<a name="n\d+">/ \ and para =~/^(-\{{2}~\d+|<!e[:_]\d+!>)/) # -endnote case para when /#{Mx[:pa_o]}:i[1-9]#{Mx[:pa_c]}/ if para =~/.*<:#>.*$/m - format_text=Format_text_object.new(para,'') + txt_obj={:txt =>para} + format_text=Format_text_object.new(@md,txt_obj) 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 - if para =~/<:center>/ - one,two=/(.*)<:center>(.*)/.match(para)[1,2] - format_text=Format_text_object.new(one,two) - para=format_text.center - end + #if para =~/<:center>/ + # one,two=/(.*)<:center>(.*)/.match(para)[1,2] + # format_text=Format_text_object.new(one,two) + # para=format_text.center + #end para.gsub!(/#{Mx[:id_o]}.+?#{Mx[:id_c]}/,' ') if para ## Clean Prepared Text para.gsub!(/<!.+!>/,' ') if para ## Clean Prepared Text para.gsub!(/<:\S+>/,' ') if para ## Clean Prepared Text |