diff options
Diffstat (limited to 'lib/sisu/xml_odf_odt.rb')
-rw-r--r-- | lib/sisu/xml_odf_odt.rb | 127 |
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(/ /,' ') 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 |