aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/xml_odf_odt.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/xml_odf_odt.rb')
-rw-r--r--lib/sisu/xml_odf_odt.rb127
1 files changed, 63 insertions, 64 deletions
diff --git a/lib/sisu/xml_odf_odt.rb b/lib/sisu/xml_odf_odt.rb
index 4d670a92..fb9c9cde 100644
--- a/lib/sisu/xml_odf_odt.rb
+++ b/lib/sisu/xml_odf_odt.rb
@@ -1,57 +1,55 @@
-# encoding: utf-8
-=begin
-
-* Name: SiSU
-
-** Description: documents, structuring, processing, publishing, search
-*** opendocument text generation
-
-** Author: Ralph Amissah
- [ralph@amissah.com]
- [ralph.amissah@gmail.com]
-
-** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Ralph Amissah,
- All Rights Reserved.
-
-** License: GPL 3 or later:
-
- SiSU, a framework for document structuring, publishing and search
-
- Copyright (C) Ralph Amissah
-
- This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the Free
- Software Foundation, either version 3 of the License, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see [http://www.gnu.org/licenses/].
-
- If you have Internet connection, the latest version of the GPL should be
- available at these locations:
- [http://www.fsf.org/licensing/licenses/gpl.html]
- [http://www.gnu.org/licenses/gpl.html]
-
-** SiSU uses:
- * Standard SiSU markup syntax,
- * Standard SiSU meta-markup syntax, and the
- * Standard SiSU object citation numbering and system
-
-** Hompages:
- [http://www.jus.uio.no/sisu]
- [http://www.sisudoc.org]
-
-** Git
- [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary]
- [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/odf.rb;hb=HEAD]
-
-=end
+#encoding: utf-8
+#- Name: SiSU
+#
+# - Description: documents, structuring, processing, publishing, search
+# xml
+#
+# - Author: Ralph Amissah
+# <ralph.amissah@gmail.com>
+#
+# - Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019,
+# 2020, 2021, Ralph Amissah,
+# All Rights Reserved.
+#
+# - License: GPL 3 or later:
+#
+# SiSU, a framework for document structuring, publishing and search
+#
+# Copyright (C) Ralph Amissah
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation, either version 3 of the License, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# If you have Internet connection, the latest version of the GPL should be
+# available at these locations:
+# <http://www.fsf.org/licensing/licenses/gpl.html>
+# <http://www.gnu.org/licenses/gpl.html>
+#
+# <http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html>
+#
+# - SiSU uses:
+# - Standard SiSU markup syntax,
+# - Standard SiSU meta-markup syntax, and the
+# - Standard SiSU object citation numbering and system
+#
+# - Homepages:
+# <http://www.sisudoc.org>
+#
+# - Git
+# <https://git.sisudoc.org/projects/>
+# <https://git.sisudoc.org/projects/?p=software/sisu.git;a=summary>
+# <https://git.sisudoc.org/projects/?p=markup/sisu-markup-samples.git;a=summary>
module SiSU_XML_ODF_ODT
require_relative 'se_hub_particulars' # se_hub_particulars.rb
include SiSU_Particulars
@@ -215,7 +213,8 @@ module SiSU_XML_ODF_ODT
end
unless @@docstart
breakpage=if (@md.pagenew || @md.pagebreak) \
- and (@md.pagenew =~m or @md.pagebreak =~m)
+ and (@md.pagenew.to_s =~m \
+ or @md.pagebreak.to_s =~m)
'<text:p text:style-name="P_normal_page_new"> </text:p>'
elsif @md.pageline \
and @md.pageline =~m #fix
@@ -257,15 +256,15 @@ module SiSU_XML_ODF_ODT
@md.opt.act[:color_state][:set],
"ERROR - image:",
%{"#{i}" missing},
- "search locations: #{@env.path.image_source_include_local}," \
+ "search locations: #{$sisu_base_data}/image," \
+ "#{@env.path.image_source_include_remote} and" \
+ "#{@env.path.image_source_include}"
).error2 unless @md.opt.act[:quiet][:set]==:on
nil
end
elsif @md.fns =~/\.ss[tm]$/ \
- and FileTest.file?("#{@env.path.image_source_include_local}/#{i}") #review
- @env.path.image_source_include_local
+ and FileTest.file?("#{$sisu_base_data}/image/#{i}") #review
+ $sisu_base_data + '/image'
elsif @md.fns =~/\.ss[tm]$/ \
and FileTest.file?("#{@env.path.image_source_sisu_includes(@md)}/#{i}")
@env.path.image_source_sisu_includes(@md)
@@ -278,7 +277,7 @@ module SiSU_XML_ODF_ODT
"ERROR - image:",
%{"#{i}" missing},
"search locations: " \
- + @env.path.image_source_include_local + ',' \
+ + $sisu_base_data + '/image' + ',' \
+ @env.path.image_source_include_remote + 'and' \
+ @env.path.image_source_include \
+ @md.opt.sisu_data_dir?
@@ -612,7 +611,7 @@ module SiSU_XML_ODF_ODT
if dob.is !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/
if @make.build.odt_ocn?
if defined? dob.ocn \
- and dob.ocn.is_a?(Fixnum)
+ and dob.ocn.is_a?(Integer)
p_num=SiSU_XML_ODF_ODT_Format::ParagraphNumber.new(@make,dob.ocn).set_bookmark_and_display
end
end
@@ -670,7 +669,7 @@ module SiSU_XML_ODF_ODT
word=dob.obj.scan(/\S+|\n/)
if word
word.each do |w| # _ - / # | : ! ^ ~
- unless dob =~/^(?:#{Rx[:meta]}|%+ )/m
+ unless dob.obj =~/^(?:#{Rx[:meta]}|%+ )/m
w=w.gsub(/&#(?:126|152);/,'~'). #126 usual
gsub(/&nbsp;/,'&#160;')
if w !~/(?:&\S{2,7}?;)+/
@@ -735,9 +734,9 @@ module SiSU_XML_ODF_ODT
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]
+ or dob.obj =~/#{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]})/ #check
- if defined? dob.ocn and dob.ocn =~/\d+/
+ if defined? dob.ocn and dob.ocn.to_s =~/\d+/
@p_num=SiSU_XML_ODF_ODT_Format::ParagraphNumber.new(@make,dob.ocn)
end
if dob.is ==:heading \
@@ -859,7 +858,7 @@ WOK
env.make_path(@md.file.output_path.odt.dir)
filename="#{@env.processing_path.odt}/content.xml"
od=File.new(filename,'w+')
- @content.compact.each do |para| # this is a hack
+ @content.flatten.compact.each do |para| # this is a hack, check change does not alter behavior
od.puts para unless para =~/\A\s*\Z/
end
od.close