From 4db4dcc886b85bf9db43d66025452fb33c94a9dd Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Wed, 26 Nov 2014 09:12:11 -0500 Subject: c&d: project dir structure, libs moved under new branch names * libs & version files under new branch names: current & develop * previously under branch version numbers (v5|v6) * version .yml files moved * associated adjustments made as required, notably to: bin/sisu se* qi* (file headers); breakage potential, testing required * [on dir names, want release to (alphabetically) precede next/development, considered (cur|dev) (current|(dev|development|progress|next)) (stable|unstable), alpha sorting fail (release|(next|develop))] --- lib/sisu/v5/shared_metadata.rb | 1361 ---------------------------------------- 1 file changed, 1361 deletions(-) delete mode 100644 lib/sisu/v5/shared_metadata.rb (limited to 'lib/sisu/v5/shared_metadata.rb') diff --git a/lib/sisu/v5/shared_metadata.rb b/lib/sisu/v5/shared_metadata.rb deleted file mode 100644 index 3ce45603..00000000 --- a/lib/sisu/v5/shared_metadata.rb +++ /dev/null @@ -1,1361 +0,0 @@ -# encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** system environment, resource control and configuration details - -** Author: Ralph Amissah - - - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 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 . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - -** SiSU uses: - * Standard SiSU markup syntax, - * Standard SiSU meta-markup syntax, and the - * Standard SiSU object citation numbering and system - -** Hompages: - - - -** Git - - - -=end -module SiSU_Metadata - require_relative 'xml_parts' # xml_parts.rb - require_relative 'xml_shared' # xml_shared.rb - class Summary - include SiSU_Parts_XML - attr_accessor :tag,:inf,:class,:attrib - def initialize(md,display_heading=false) - @md,@display_heading=md,display_heading - @tag,@inf,@class,@attrib=nil - end - def metadata_base - meta=[] - l=SiSU_Env::StandardiseLanguage.new(@md.opt.lng).language - language=l[:n] - tr=SiSU_Translate::Source.new(@md,language) - @attrib='md' - def meta_content_clean(content='') - content=if not content.nil? - content=content.tr('"',"'"). - gsub(/&/,'&') - content=SiSU_XML_Munge::Trans.new(@md).char_enc.utf8(content) - else content - end - end - if @display_heading - @tag,@inf=%{Document Metadata},'' - meta << self.meta_para - end - if defined? @md.title.full \ - and @md.title.full=~/\S+/ - @tag,@inf,@class=tr.full_title,@md.title.full,'dc' #1 - meta << self.meta_para - end - if defined? @md.creator.author \ - and @md.creator.author=~/\S+/ - @tag,@inf,@class=tr.author,@md.creator.author,'dc' #2 - meta << self.meta_para - end - if defined? @md.creator.translator \ - and @md.creator.translator=~/\S+/ - @tag,@inf,@class=tr.translator,@md.creator.translator,'ext' - meta << self.meta_para - end - if defined? @md.creator.illustrator \ - and @md.creator.illustrator=~/\S+/ - @tag,@inf,@class=tr.illustrator,@md.creator.illustrator,'ext' - meta << self.meta_para - end - if defined? @md.creator.prepared_by \ - and @md.creator.prepared_by=~/\S+/ - @tag,@inf,@class=tr.prepared_by,@md.creator.prepared_by,'ext' - meta << self.meta_para - end - if defined? @md.creator.digitized_by \ - and @md.creator.digitized_by=~/\S+/ - @tag,@inf,@class=tr.digitized_by,@md.creator.digitized_by,'ext' - meta << self.meta_para - end - if defined? @md.creator.contributor \ - and @md.creator.contributor=~/\S+/ - @tag,@inf,@class=tr.contributor,@md.creator.contributor,'dc' #6 - meta << self.meta_para - end - if defined? @md.rights.all \ - and @md.rights.all=~/\S+/ - @tag,@inf,@class=tr.rights,meta_content_clean(@md.rights.all),'dc' #15 - meta << self.meta_para - end - if defined? @md.classify.subject \ - and @md.classify.subject=~/\S+/ - @tag,@inf,@class=tr.subject,@md.classify.subject,'dc' #3 - meta << self.meta_para - end - if defined? @md.classify.keywords \ - and @md.classify.keywords=~/\S+/ - @tag,@inf,@class=tr.keywords,@md.classify.keywords,'ext' - meta << self.meta_para - end - if defined? @md.classify.loc \ - and @md.classify.loc=~/\S+/ - @tag,@inf,@class=tr.cls_loc,@md.classify.loc,'id' - meta << self.meta_para - end - if defined? @md.classify.dewey \ - and @md.classify.dewey=~/\S+/ - @tag,@inf,@class=tr.cls_dewey,@md.classify.dewey,'id' - meta << self.meta_para - end - if defined? @md.publisher \ - and @md.publisher=~/\S+/ - @tag,@inf,@class=tr.publisher,@md.publisher,'dc' #5 - meta << self.meta_para - end - if defined? @md.date.created \ - and @md.date.created=~/\S+/ - @tag,@inf,@class=tr.date_created,@md.date.created,'dc' #7 - meta << self.meta_para - end - if defined? @md.date.issued \ - and @md.date.issued=~/\S+/ - @tag,@inf,@class=tr.date_issued,@md.date.issued,'dc' #7 - meta << self.meta_para - end - if defined? @md.date.available \ - and @md.date.available=~/\S+/ - @tag,@inf,@class=tr.date_available,@md.date.available,'dc' #7 - meta << self.meta_para - end - if defined? @md.date.modified \ - and @md.date.modified=~/\S+/ - @tag,@inf,@class=tr.date_modified,@md.date.modified,'dc' #7 - meta << self.meta_para - end - if defined? @md.date.valid \ - and @md.date.valid=~/\S+/ - @tag,@inf,@class=tr.date_valid,@md.date.valid,'dc' #7 - meta << self.meta_para - end - if defined? @md.date.published \ - and @md.date.published=~/\S+/ - @tag,@inf,@class=tr.date,@md.date.published,'dc' #7 - meta << self.meta_para - end - if defined? @md.identifier.isbn \ - and @md.identifier.isbn=~/\S+/ - @tag,@inf,@class=tr.cls_isbn,@md.identifier.isbn,'id' - meta << self.meta_para - end - if defined? @md.identifier.oclc \ - and @md.identifier.oclc=~/\S+/ - @tag,@inf,@class=tr.cls_oclc,@md.identifier.oclc,'id' - meta << self.meta_para - end - if defined? @md.notes.description \ - and @md.notes.description=~/\S+/ - @tag,@inf,@class=tr.description,@md.notes.description,'dc' #4 - meta << self.meta_para - end - if defined? @md.notes.abstract \ - and @md.notes.abstract=~/\S+/ - @tag,@inf,@class=tr.abstract,@md.notes.abstract,'ext' - meta << self.meta_para - end - if defined? @md.notes.comment \ - and @md.notes.comment=~/\S+/ - @tag,@inf,@class=tr.comments,@md.notes.comment,'ext' - meta << self.meta_para - end - if defined? @md.notes.coverage \ - and @md.notes.coverage=~/\S+/ - @tag,@inf,@class=tr.coverage,@md.notes.coverage,'dc' #14 - meta << self.meta_para - end - if defined? @md.notes.relation \ - and @md.notes.relation=~/\S+/ - @tag,@inf,@class=tr.relation,@md.notes.relation,'dc' #13 - meta << self.meta_para - end - #if defined? @md.notes.source \ - #and @md.notes.source=~/\S+/ - # @tag,@inf,@class=tr.source,@md.notes.source,'dc' #11 - # meta << self.meta_para - #end - if defined? @md.notes.history \ - and @md.notes.history=~/\S+/ - @tag,@inf,@class=tr.type,@md.notes.history,'dc' #8 - meta << self.meta_para - end - if defined? @md.notes.type \ - and @md.notes.type=~/\S+/ - @tag,@inf,@class=tr.type,@md.notes.type,'dc' #8 - meta << self.meta_para - end - if defined? @md.notes.format \ - and @md.notes.format=~/\S+/ - @tag,@inf,@class=tr.format,@md.notes.format,'dc' #9 - meta << self.meta_para - end - if defined? @md.notes.prefix_a \ - and @md.notes.prefix_a=~/\S+/ - @tag,@inf,@class=tr.prefix_a,@md.notes.prefix_a,'inf' - meta << self.meta_para - end - if defined? @md.notes.prefix_b \ - and @md.notes.prefix_b=~/\S+/ - @tag,@inf,@class=tr.prefix_b,@md.notes.prefix_b,'inf' - meta << self.meta_para - end - if defined? @md.original.source \ - and @md.original.source=~/\S+/ - @tag,@inf,@class=tr.source,@md.original.source,'dc' #11 - meta << self.meta_para - end - if defined? @md.title.language \ - and @md.title.language=~/\S+/ - @tag,@inf,@class=tr.language,@md.title.language,'dc' #12 - meta << self.meta_para - end - if defined? @md.original.language \ - and @md.original.language=~/\S+/ - @tag,@inf,@class=tr.language_original,@md.original.language,'ext' - meta << self.meta_para - end - if @display_heading - @tag,@inf=%{Version Information},'' - meta << self.meta_para - end - if defined? @md.fns \ - and @md.fns=~/\S+/ - @tag,@inf,@class=tr.sourcefile,@md.fns,'src' - meta << self.meta_para - end - if defined? @md.file_encoding \ - and @md.file_encoding=~/\S+/ - @tag,@inf,@class='Filetype',@md.file_encoding,'src' - meta << self.meta_para - end - if defined? @md.dgst \ - and @md.dgst.is_a?(Array) - @tag,@inf,@class='Source Digest',"#{@md.dgst[0]} #{@md.dgst[1]}",'src' - meta << self.meta_para - end - if @display_heading - @tag,@inf=%{Generated},'' - meta << self.meta_para - end - if defined? @md.sisu_version \ - and @md.sisu_version[:version]=~/\S+/ - v="#{tr.sisu_version}: " + - "#{@md.sisu_version[:project]} " + - "#{@md.sisu_version[:version]} " + - "of #{@md.sisu_version[:date_stamp]} " + - "(#{@md.sisu_version[:date]})" - @tag,@inf,@class='Generated by',v,'ver' - meta << self.meta_para - end - if defined? @md.ruby_version \ - and @md.ruby_version=~/\S+/ - @tag,@inf,@class=tr.ruby_version,@md.ruby_version,'ver' - meta << self.meta_para - end - if defined? @md.generated \ - and @md.generated.is_a?(Time) - @tag,@inf,@class=tr.last_generated,@md.generated,'date' - meta << self.meta_para - end - meta - end - def metadata_alt - meta=[] - if @display_heading - @tag,@inf=%{Document Metadata},'' - meta << self.meta_para - end - if defined? @md.title.main \ - and @md.title.main=~/\S+/ - @tag='title' - @inf=@md.title.main - meta << self.meta_para - end - if defined? @md.title.sub \ - and @md.title.sub=~/\S+/ - @tag='subtitle' - @inf=@md.title.sub - meta << self.meta_para - end - if defined? @md.creator.author \ - and @md.creator.author=~/\S+/ - @tag='author' - @inf=@md.creator.author - meta << self.meta_para - end - if defined? @md.creator.translator \ - and @md.creator.translator=~/\S+/ - @tag='translator' - @inf=@md.creator.translator - meta << self.meta_para - end - if defined? @md.creator.illustrator \ - and @md.creator.illustrator=~/\S+/ - @tag='illustrator' - @inf=@md.creator.illustrator - meta << self.meta_para - end - if defined? @md.rights.copyright.text \ - and @md.rights.copyright.text=~/\S+/ - @tag='copyright' - @inf=@md.rights.copyright.text # year & holder - @inf=@inf.gsub(/(?:Copyright|\(C\))+\s*/,'') - meta << self.meta_para - end - if defined? @md.rights.license \ - and @md.rights.license=~/\S+/ - @tag='license' - @inf=@md.rights.license - meta << self.meta_para - end - meta - end - def processing_tags - def make - def language - if defined? @md.make.language \ - and @md.make.language - ' :language: ' + @md.make.language.join(', ') - else nil - end - end - def headings - if defined? @md.make.headings \ - and @md.make.headings - ' :headings: ' + @md.make.headings[0].join('; ') - else nil - end - end - def num_top - if defined? @md.make.num_top \ - and @md.make.num_top - ' :num_top: ' + @md.make.num_top - else nil - end - end - def breaks - x=if defined? @md.make.breaks \ - and @md.make.breaks - x=' :breaks:' - if @md.make.breaks[:page_break] - x +=' break=' + @md.make.breaks[:page_break] + ';' - end - if @md.make.breaks[:page_new] - x +=' new=' + @md.make.breaks[:page_new] + ';' - end - else nil - end - end - def emphasis - if defined? @md.make.emphasis \ - and @md.make.emphasis - ' :emphasis: ' + @md.make.emphasis[:regx].inspect - else nil - end - end - def bold - if defined? @md.make.bold \ - and @md.make.bold - ' :bold: ' + @md.make.bold[:regx].inspect - else nil - end - end - def italics - if defined? @md.make.italics \ - and @md.make.italics - ' :italics: ' + @md.make.italics[:regx].inspect - else nil - end - end - def texpdf_font - if defined? @md.make.texpdf_font \ - and @md.make.texpdf_font - ' :texpdf_font: ' + @md.make.texpdf_font.main - else nil - end - end - self - end - self - end - def metadata_tags - def title - def main - if defined? @md.title.main \ - and @md.title.main - '@title: ' + @md.title.main - else '@title:' - end - end - def sub - if defined? @md.title.sub \ - and @md.title.sub - ' :subtitle: ' + @md.title.sub - else nil - end - end - def edition - if defined? @md.title.edition \ - and @md.title.edition - ' :edition: ' + @md.title.edition - else nil - end - end - def note - if defined? @md.title.note \ - and @md.title.note - ' :note: ' + @md.title.note - else nil - end - end - def short - if defined? @md.title.short \ - and @md.title.short - ' :short: ' + @md.title.short - else nil - end - end - def language - if defined? @md.title.language \ - and @md.title.language - ' :language: ' + @md.title.language.join(', ') - else nil - end - end - def language_char - if defined? @md.title.language_char \ - and @md.title.language_char - ' :language_char: ' + @md.title.language_char - else nil - end - end - self - end - def creator - def head - '@creator:' - end - def author - x=if defined? @md.creator.author_detail \ - and @md.creator.author_detail - x='' - @md.creator.author_detail.each do |n| - x += "#{n[:the]}, #{n[:others]}; " - end - x=x.gsub(/;\s*$/,'') - ' :author: ' + x - else nil - end - end - def contributor - x=if defined? @md.creator.contributor_detail \ - and @md.creator.contributor_detail - x='' - @md.creator.contributor_detail.each do |n| - x += "#{n[:the]}, #{n[:others]}; " - end - x=x.gsub(/;\s*$/,'') - ' :contributor: ' + x - else nil - end - end - def illustrator - x=if defined? @md.creator.illustrator_detail \ - and @md.creator.illustrator_detail - x='' - @md.creator.illustrator_detail.each do |n| - x += "#{n[:the]}, #{n[:others]}; " - end - x=x.gsub(/;\s*$/,'') - ' :illustrator: ' + x - else nil - end - end - def photographer - x=if defined? @md.creator.photographer_detail \ - and @md.creator.photographer_detail - x='' - @md.creator.photographer_detail.each do |n| - x += "#{n[:the]}, #{n[:others]}; " - end - x=x.gsub(/;\s*$/,'') - ' :photographer: ' + x - else nil - end - end - def translator - x=if defined? @md.creator.translator_detail \ - and @md.creator.translator_detail - x='' - @md.creator.translator_detail.each do |n| - x += "#{n[:the]}, #{n[:others]}; " - end - x=x.gsub(/;\s*$/,'') - ' :translator: ' + x - else nil - end - end - def audio - x=if defined? @md.creator.audio_detail \ - and @md.creator.audio_detail - x='' - @md.creator.audio_detail.each do |n| - x += "#{n[:the]}, #{n[:others]}; " - end - x=x.gsub(/;\s*$/,'') - ' :audio: ' + x - else nil - end - end - def digitized_by - x=if defined? @md.creator.digitized_by_detail \ - and @md.creator.digitized_by_detail - x='' - @md.creator.digitized_by_detail.each do |n| - x += "#{n[:the]}, #{n[:others]}; " - end - x=x.gsub(/;\s*$/,'') - ' :digitized_by: ' + x - else nil - end - end - def prepared_by - x=if defined? @md.creator.prepared_by_detail \ - and @md.creator.prepared_by_detail - x='' - @md.creator.prepared_by_detail.each do |n| - x += "#{n[:the]}, #{n[:others]}; " - end - x=x.gsub(/;\s*$/,'') - ' :prepared_by: ' + x - else nil - end - end - self - end - def rights - def head - '@rights:' - end - def copyright - def text - if defined? @md.rights.copyright.text \ - and @md.rights.copyright.text - ' :copyright: ' + @md.rights.copyright.text - else nil - end - end - def translation - if defined? @md.rights.copyright.translation \ - and @md.rights.copyright.translation - ' :translation: ' + @md.rights.copyright.translation - else nil - end - end - def illustrations - if defined? @md.rights.copyright.illustrations \ - and @md.rights.copyright.illustrations - ' :illustrations: ' + @md.rights.copyright.illustrations - else nil - end - end - def photographs - if defined? @md.rights.copyright.photographs \ - and @md.rights.copyright.photographs - ' :photographs: ' + @md.rights.copyright.photographs - else nil - end - end - def digitization - if defined? @md.rights.copyright.digitization \ - and @md.rights.copyright.digitization - ' :digitization: ' + @md.rights.copyright.digitization - else nil - end - end - def audio - if defined? @md.rights.copyright.audio \ - and @md.rights.copyright.audio - ' :audio: ' + @md.rights.copyright.audio - else nil - end - end - self - end - def license - if defined? @md.rights.license \ - and @md.rights.license - ' :license: ' + @md.rights.license - else nil - end - end - self - end - def classify - def head - '@classify:' - end - def coverage - if defined? @md.classify.coverage \ - and @md.classify.coverage - ' :coverage: ' + @md.classify.coverage - else nil - end - end - def relation - if defined? @md.classify.relation \ - and @md.classify.relation - ' :relation: ' + @md.classify.relation - else nil - end - end - def subject - if defined? @md.classify.subject \ - and @md.classify.subject - ' :subject: ' + @md.classify.subject - else nil - end - end - def topic_register - if defined? @md.classify.topic_register \ - and @md.classify.topic_register - ' :topic_register: ' + @md.classify.topic_register - else nil - end - end - def type -# if defined? @md.classify.type \ -# and @md.classify.type -# ' :type: ' + @md.classify.type -# else nil -# end - nil - end - def identifier - if defined? @md.classify.identifier \ - and @md.classify.identifier - ' :identifier: ' + @md.classify.identifier - else nil - end - end - def loc - if defined? @md.classify.loc \ - and @md.classify.loc - ' :loc: ' + @md.classify.loc - else nil - end - end - def dewey - if defined? @md.classify.dewey \ - and @md.classify.dewey - ' :dewey: ' + @md.classify.dewey - else nil - end - end - def oclc - if defined? @md.classify.oclc \ - and @md.classify.oclc - ' :oclc: ' + @md.classify.oclc - else nil - end - end - def pg - if defined? @md.classify.pg \ - and @md.classify.pg - ' :pg: ' + @md.classify.pg - else nil - end - end - def isbn - if defined? @md.classify.isbn \ - and @md.classify.isbn - ' :isbn: ' + @md.classify.isbn - else nil - end - end - self - end - def date - def head - '@date:' - end - def added_to_site - if defined? @md.date.added_to_site \ - and @md.date.added_to_site - ' :added_to_site: ' + @md.date.added_to_site - else nil - end - end - def available - if defined? @md.date.available \ - and @md.date.available - ' :available: ' + @md.date.available - else nil - end - end - def created - if defined? @md.date.created \ - and @md.date.created - ' :created: ' + @md.date.created - else nil - end - end - def issued - if defined? @md.date.issued \ - and @md.date.issued - ' :issued: ' + @md.date.issued - else nil - end - end - def modified - if defined? @md.date.modified \ - and @md.date.modified - ' :modified: ' + @md.date.modified - else nil - end - end - def published - if defined? @md.date.published \ - and @md.date.published - ' :published: ' + @md.date.published - else nil - end - end - def valid - if defined? @md.date.valid \ - and @md.date.valid - ' :valid: ' + @md.date.valid - else nil - end - end - self - end - #def make - # def headings - # @md.make.headings \ - # ? (' :headings: ' + @md.make.headings) \ - # : nil - # end - #end - self - end - def char_enc(str) - @s=str - def amp - if @s \ - and @s.is_a?(String) - @s=@s.gsub(/&/u,'&') - end - @s - end - def br - if @s \ - and @s.is_a?(String) - @s=@s.gsub(/(?:#{Mx[:br_line]}|\\\\)+/,'
') - end - @s - end - def utf8 - if @s \ - and @s.is_a?(String) - @s=@s.gsub(//u,Mx[:br_paragraph]). - gsub(//um,'>'). - #gsub(//um,'>'). - gsub(/ /um,' '). # space identify - gsub(/ /um,' '). # space identify - gsub(/#{Mx[:br_paragraph]}/u,'
') - end - @s - end - self - end - def xml_docbook - def meta_para - inf_xml=char_enc(@inf).amp - inf_xml=char_enc(inf_xml).utf8 - inf_xml=char_enc(inf_xml).br - < -#{Ax[:tab]*2}#{inf_xml} -#{Ax[:tab]} -WOK - end - def metadata - SiSU_Metadata::Summary.new(@md).metadata_alt - end - self - end - def html_display - def meta_para - inf_xml=char_enc(@inf).amp - inf_xml=char_enc(inf_xml).utf8 - inf_xml=char_enc(inf_xml).br - %{

- #{@tag}: #{inf_xml} -

} - end - def metadata - SiSU_Metadata::Summary.new(@md,true).metadata_base - end - self - end - def xml_sax - def meta_para - inf_xml=char_enc(@inf).utf8 - inf_xml=char_enc(inf_xml).br - < -#{Ax[:tab]}#{@tag.capitalize}: -#{Ax[:tab]} -#{Ax[:tab]*2}#{inf_xml} -#{Ax[:tab]} - -WOK - end - def metadata - SiSU_Metadata::Summary.new(@md).metadata_base - end - self - end - def xml_dom - def meta_para - inf_xml=char_enc(inf_xml).amp - inf_xml=char_enc(@inf).utf8 - inf_xml=char_enc(inf_xml).br - < -#{Ax[:tab]*2}#{@tag.capitalize}: -#{Ax[:tab]*2}<#{@attrib}> -#{Ax[:tab]*3}#{inf_xml} -#{Ax[:tab]*2} -#{Ax[:tab]} -WOK - end - def metadata - SiSU_Metadata::Summary.new(@md).metadata_base - end - self - end - def xhtml_scroll - def meta_para - inf_xml=char_enc(inf_xml).amp - inf_xml=char_enc(@inf).utf8 - inf_xml=char_enc(inf_xml).br - < -#{Ax[:tab]}#{@tag.capitalize}: -#{Ax[:tab]}<#{@attrib} class="#{@class}"> -#{Ax[:tab]*2}#{inf_xml} -#{Ax[:tab]} -#{Ax[:tab]} -
-WOK - end - def metadata - SiSU_Metadata::Summary.new(@md).metadata_base - end - self - end - def xhtml_display - def meta_para - inf_xml=char_enc(@inf).amp - inf_xml=char_enc(inf_xml).utf8 - inf_xml=char_enc(inf_xml).br - %{

- #{@tag}: #{inf_xml} -

} - end - def metadata - SiSU_Metadata::Summary.new(@md,true).metadata_base - end - self - end - def odf - def meta_para - if @inf.is_a?(String) - @inf=@inf.gsub(//,'>'). - gsub(/<br(?: \/)?>/,'
') - if @inf =~/&/ - inf_array=[] - word=@inf.scan(/\S+|\n/) - word.each do |w| # _ - / # | : ! ^ ~ - w=w.gsub(/ /,' ') - if w !~/&\S{2,7}?;/ - w=w.gsub(/&/,'&') - end - inf_array << w - end - @inf=inf_array.join(' ') - end - @inf=@inf.gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/, - '\1'). #http ftp matches escaped, no decoration - gsub(/(#{Mx[:lnk_c]})#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, - '\1\2') #special case \{ e.g. \}http://url - @inf=if @inf =~/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/ - @inf.gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, - %{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}) #http ftp matches with decoration - else - @inf.gsub(/(https?:\/\/[^<>()'"\s]+)/, - %{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}) #http ftp matches with decoration - end - @inf=@inf.gsub(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/, - %{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}) if @inf !~/http:\/\// # improve upon, document crash where url contains '@' symbol - end - <#{@tag.capitalize}: #{@inf} -WOK - end - def metadata - SiSU_Metadata::Summary.new(@md).metadata_base - end - self - end - def plaintext - def meta_para - <