aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v3dv/odf.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v3dv/odf.rb')
-rw-r--r--lib/sisu/v3dv/odf.rb42
1 files changed, 24 insertions, 18 deletions
diff --git a/lib/sisu/v3dv/odf.rb b/lib/sisu/v3dv/odf.rb
index 1b928548..68aa6e40 100644
--- a/lib/sisu/v3dv/odf.rb
+++ b/lib/sisu/v3dv/odf.rb
@@ -305,11 +305,11 @@ module SiSU_ODF
%{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="mailto:\\1">\\1</text:a>#{@brace_url.xml_close}}).
gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,
%{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="\\1">\\1</text:a>#{@brace_url.xml_close}}) #http ftp matches with decoration
- dob.obj= if dob.is=='para' \
+ dob.obj= if dob.is==:para \
and dob.indent.to_s =~/[0-9]/ \
and dob.indent == dob.hang
%{<text:p text:style-name="P_indent_#{dob.indent}">#{dob.obj}#{p_num}</text:p>}
- elsif dob.is=='para' \
+ elsif dob.is==:para \
and dob.hang.to_s =~/[0-9]/ \
and dob.indent != dob.hang
%{<text:p text:style-name="P_h#{dob.hang}_i#{dob.indent}">#{dob.obj}#{p_num}</text:p>}
@@ -432,7 +432,7 @@ module SiSU_ODF
dob
end
def code(dob,p_num) #P5
- if dob.is=='code'
+ if dob.is==:code
dob.obj=dob.obj.gsub(/\s\s/,'&#160;&#160;')
parray=[]
dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each do |parablock|
@@ -449,14 +449,14 @@ module SiSU_ODF
dob
end
def table(dob,p_num) #
- if dob.is =='table'
+ if dob.is ==:table
table=SiSU_ODF_Format::Table.new(@md,dob,p_num)
dob=table.table
end
dob
end
def obj_break(dob)
- if dob.is =='break'
+ if dob.is ==:break
br=SiSU_ODF_Format::FormatObjBreak.new(@md,dob)
if dob.obj==Mx[:br_page] \
or dob.obj==Mx[:br_page_new]
@@ -469,7 +469,7 @@ module SiSU_ODF
end
def odf_structure(md,dob)
@md,@dob=md,dob
- dob=if dob.is !='code'
+ dob=if dob.is !=:code
dob=image(dob) if dob.obj =~/#{Mx[:lnk_o]}[ ]*\S+?\.(?:png|jpg|gif)\s.+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image)/
dob=text_link(dob) if dob.obj =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/
dob=text_link_relative(dob) if dob.obj =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}/
@@ -486,19 +486,19 @@ module SiSU_ODF
end
end
dob=footnote(dob)
- if dob.is=='heading'
+ if dob.is==:heading
@@odf[:body] << heading(dob,p_num).obj << @br*2
- elsif dob.is =='verse'
+ elsif dob.is ==:verse
@@odf[:body] << poem(dob,p_num).obj << @br*2
- elsif dob.is=='group'
+ elsif dob.is==:group
@@odf[:body] << group(dob,p_num).obj << @br*2
- elsif dob.is=='block'
+ elsif dob.is==:block
@@odf[:body] << block(dob,p_num).obj << @br*2
- elsif dob.is=='code'
+ elsif dob.is==:code
@@odf[:body] << code(dob,p_num).obj << @br*2
- elsif dob.is=='table' #elsif dob.obj =~ /<!Th?¡/u
+ elsif dob.is==:table #elsif dob.obj =~ /<!Th?¡/u
@@odf[:body] << table(dob,p_num).obj << @br*2
- elsif dob.is=='break'
+ elsif dob.is==:break
@@odf[:body] << obj_break(dob).obj << @br*2
else
@@odf[:body] << normal(dob,p_num).obj << @br*2 # main text, contents, body KEEP
@@ -546,11 +546,11 @@ module SiSU_ODF
dob.obj=para_array.join(' ')
dob.obj=dob.obj.strip
end
- if dob.is=='code' #{Mx[:gr_o]}code#{Mx[:gr_c]}/ #fix #code-block: angle brackets special characters #fix
+ if dob.is==:code #{Mx[:gr_o]}code#{Mx[:gr_c]}/ #fix #code-block: angle brackets special characters #fix
dob.obj=dob.obj.gsub(/(^|[^}])_(?:<|&lt;)/m,'\1&lt;').gsub(/(^|[^}])_(?:>|&gt;)/m,'\1&gt;').
gsub(/(^|[^}])_(?:<|&lt;)/m,'\1&lt;').gsub(/(^|[^}])_(?:>|&gt;)/m,'\1&gt;')
end
- if dob.of=='block'
+ if dob.of==:block
dob.obj=dob.obj.gsub(/#{Mx[:gl_bullet]}/,'● ')
end
dob.obj=dob.obj.gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'<del>\1</del>').
@@ -560,7 +560,7 @@ module SiSU_ODF
gsub(/#{Mx[:mk_o]}#([a-zA-Z]+)#{Mx[:mk_c]}/,'&\1;').
gsub(/#{Mx[:mk_o]}(#[0-9]+)#{Mx[:mk_c]}/,'&\1;').
gsub(/#{Mx[:mk_o]}[~-]##{Mx[:mk_c]}/,'')
- if dob.is=='para' \
+ if dob.is==:para \
and dob.bullet_
dob.obj='<draw:frame draw:style-name="gr1" text:anchor-type="as-char" svg:width="0.22cm" svg:height="0.22cm" draw:z-index="2"><draw:image xlink:href="Pictures/bullet_09.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/></draw:frame> ' +
dob.obj
@@ -595,11 +595,17 @@ module SiSU_ODF
dob.obj=tidywords(wordlist).join(' ').strip
@rcdc=true if @rcdc==false \
and (dob.obj =~/~metadata/ or dob =~/#{Mx[:lv_o]}1:meta#{Mx[:lv_x]}\s*Document Information/) #fix Mx[:lv_o]
- if dob.is !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/
+ if dob.is !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ #check
if defined? dob.ocn and dob.ocn =~/\d+/
@p_num=SiSU_ODF_Format::ParagraphNumber.new(dob.ocn)
end
- if dob.is=~/heading|para|group|verse|code|table|break/ # extend, include other types
+ if dob.is ==:heading \
+ || dob.is ==:para \
+ || dob.is ==:group \
+ || dob.is ==:verse \
+ || dob.is ==:code \
+ || dob.is ==:table \
+ || dob.is ==:break
odf_structure(@md,dob)
end
if dob.obj ## Clean Prepared Text