diff options
author | Ralph Amissah <ralph@amissah.com> | 2012-03-19 22:07:29 -0400 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2012-03-19 22:07:33 -0400 |
commit | 6811ac91f21a434fc7d967c11e1b20f33918c6ea (patch) | |
tree | 30f39674ca96a79f8a604a9f02d571f24320e221 /lib/sisu/v3/xml_format.rb | |
parent | v3: 3.2.0 version & changelog "opened" (diff) |
v3: 3.2 branch is main (v3dv --> v3); dev (v3dv) branch directories removed
* v3dv (3.2) "merged" into v3 (previously 3.1) (& removed)
* conf/sisu/v3dv --> conf/sisu/v3
* data/sisu/v3dv --> data/sisu/v3
* lib/sisu/v3dv --> lib/sisu/v3
* bin/sisu* (v3dv references changed to v3)
* (--dev modifier (superfluous for the time being) runs main v3 branch)
Diffstat (limited to 'lib/sisu/v3/xml_format.rb')
-rw-r--r-- | lib/sisu/v3/xml_format.rb | 120 |
1 files changed, 57 insertions, 63 deletions
diff --git a/lib/sisu/v3/xml_format.rb b/lib/sisu/v3/xml_format.rb index c0d9d622..b40efc18 100644 --- a/lib/sisu/v3/xml_format.rb +++ b/lib/sisu/v3/xml_format.rb @@ -57,11 +57,11 @@ ** Notes: tidy -xml index.xml >> index.tidy =end -module SiSU_XML_format +module SiSU_XML_Format require_relative 'param' # param.rb include SiSU_Param include SiSU_Viz - class Paragraph_number + class ParagraphNumber def initialize(md,paranum) @md=md @paranum=(paranum ? (/(\d+)/m.match(paranum)[1]) : nil) @@ -84,7 +84,7 @@ module SiSU_XML_format p_num_goto end end - class Head_information + class HeadInformation def initialize #dc rdf @full_title=@subtitle=@author=@subject=@description=@publisher=@contributor=@date=@type=@format=@identifier=@source=@language=@relation=@coverage=@rights=@copyright=@owner=@keywords='' @md=@@md @@ -193,7 +193,7 @@ module SiSU_XML_format @copyright=%{<meta name="copyright" content="#{@md.rights.copyright.all}" />\n} if @md.rights.copyright.all # possibly redundant see dc.rights @owner=%{<meta name="owner" content="#{@md.owner}" />\n} if @md.owner @keywords=%{<meta name="keywords" content="#{@md.keywords}" />\n} if @md.keywords - @vz=SiSU_Env::Get_init.instance.skin #margin,paragraph,table,banner,url,png,txt,color,font,nav_txt,nav_png,credits,js,php + @vz=SiSU_Env::GetInit.instance.skin #margin,paragraph,table,banner,url,png,txt,color,font,nav_txt,nav_png,credits,js,php @index='index' end def toc_head_escript #embedded script in this case PHP @@ -274,7 +274,7 @@ module SiSU_XML_format WOK end end - class Format_text_object + class FormatTextObject attr_accessor :md,:txt,:format,:paranum,:p_num,:para_id,:headname,:font def initialize(md,dob) @md,@dob=md,dob @@ -282,19 +282,19 @@ WOK @paranum=/(\d+)/m.match(@dob[:ocn])[1] @headname='' @headname=%{<a name="h#{dob.name}"></a>} if defined? dob.name - @p_num=SiSU_XML_format::Paragraph_number.new(@md,dob.ocn) + @p_num=SiSU_XML_Format::ParagraphNumber.new(@md,dob.ocn) end rgx=/^[1-6-]~{1,2}/ #watch @lnk_url=@lnk_url.gsub(rgx,'') if @lnk_url =~rgx rgx=/~\{\d+\s+(.+?)\}~/ @lnk_url=@lnk_url.gsub(rgx,'\1') if @lnk_url =~rgx - @vz=SiSU_Env::Get_init.instance.skin + @vz=SiSU_Env::GetInit.instance.skin end def scr_endnote_body "<endnote>#{@txt}</endnote> " end end - class Format_scroll < Format_text_object + class FormatScroll < FormatTextObject def initialize(md,dob) super(md,dob) end @@ -327,33 +327,26 @@ WOK %{<p class="paranum"><font size="1" color="#777777"> #{@dob.ocn}</font></p>\n} end end - class Paragraph_number + class ParagraphNumber def initialize(md,ocn) @md,@ocn=md,ocn.to_s @ocn ||='' - vz=SiSU_Env::Get_init.instance.skin - @skin_no_ocn=if not ocn - true - elsif defined? vz.ocn_display_off \ - and vz.ocn_display_off==true - true - else false - end end def ocn_display - if @md.markup.inspect =~/no_ocn/ \ - or @md.opt.mod.inspect =~/--no-ocn/ \ - or @skin_no_ocn - ocn_class='ocn_off' - @ocn.gsub(/^(\d+|)$/, - %{<label class="#{ocn_class}"> </label>}) - elsif @ocn.to_i==0 - @ocn.gsub(/^(\d+|)$/, - %{<label class="#{ocn_class}"><a name="#{@ocn}"> </a></label>}) - else + @make=SiSU_Env::ProcessingSettings.new(@md) + if @make.build.ocn? ocn_class='ocn' + if @ocn.to_i==0 + @ocn.gsub(/^(\d+|)$/, + %{<label class="#{ocn_class}"><a name="#{@ocn}"> </a></label>}) + else + @ocn.gsub(/^(\d+|)$/, + %{<label class="#{ocn_class}"><a name="#{@ocn}">\\1</a></label>}) + end + else + ocn_class='ocn_off' @ocn.gsub(/^(\d+|)$/, - %{<label class="#{ocn_class}"><a name="#{@ocn}">\\1</a></label>}) + %{<label class="#{ocn_class}"> </label>}) end end def name @@ -366,15 +359,15 @@ WOK %{<a href="##{@ocn}">} end end - class Head_information + class HeadInformation include SiSU_Viz attr_reader :md,:sfx,:pdf,:rdf,:vz def initialize(md) @md=md - @rdf=SiSU_XML_tags::RDF.new(md) + @rdf=SiSU_XML_Tags::RDF.new(md) # DublinCore 1 - title - @vz=SiSU_Env::Get_init.instance.skin - @css=SiSU_Env::CSS_stylesheet.new(md) + @vz=SiSU_Env::GetInit.instance.skin + @stylesheet=SiSU_Style::CSS_HeadInfo.new(md).stylesheet @seg_name_html=(SiSU_HTML::Source::Seg.new.seg_name_html || []) @seg_name_html_tracker=(SiSU_HTML::Source::Seg.new.seg_name_html_tracker || []) @index='index' @@ -408,7 +401,7 @@ WOK end class XML end - class Head_toc < Head_information + class HeadToc < HeadInformation def initialize(md) super(md) @md=md @@ -544,7 +537,7 @@ WOK <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> #{@rdf.rdftoc} #{@rdf.metatag_html} -#{@css.html} +#{@stylesheet.css_head} </head> #{@vz.color_body} <a name="top" id="top"></a> @@ -708,7 +701,7 @@ WOK } end end - class Head_seg < Head_information + class HeadSeg < HeadInformation def initialize(md) #(md='') super(md) end @@ -788,7 +781,7 @@ WOK def doc_types #used in seg_nav_band ### scroll=seg='' wgt=Widget.new(@md) - #dir=SiSU_Env::Info_env.new(@md.fns) + #dir=SiSU_Env::InfoEnv.new(@md.fns) x=if @md.concord_make %{ <table summary="segment navigation available documents types: toc,doc,pdf,concordance" border="0" cellpadding="3" cellspacing="0"> @@ -834,7 +827,7 @@ WOK <font size="2">} end def header_advert_local_1 - dir=SiSU_Env::Info_env.new(@fns) + dir=SiSU_Env::InfoEnv.new(@fns) %{ <center> <table summary="image" border="0" cellpadding="3" cellspacing="0" align="center"> <tr><td align="center" bgcolor="white"> @@ -846,7 +839,7 @@ WOK </center>} end def header_advert_local_2 - dir=SiSU_Env::Info_env.new(@fns) + dir=SiSU_Env::InfoEnv.new(@fns) %{ <center> <table summary="image" border="0" cellpadding="3" cellspacing="0" align="center"> <tr><td align="center" bgcolor="white"> @@ -858,7 +851,7 @@ WOK </center>} end def header_advert_external - dir=SiSU_Env::Info_env.new(@fns) + dir=SiSU_Env::InfoEnv.new(@fns) %{ <center> <table summary="image" border="0" cellpadding="3" cellspacing="0" align="center"> <tr><td align="center" bgcolor="white"> @@ -938,7 +931,7 @@ WOK <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> #{@rdf.rdfseg} #{@rdf.metatag_html} -#{@css.html} +#{@stylesheet.css_head} </head> #{@vz.color_body} <a name="top" id="top"></a> @@ -968,7 +961,7 @@ WOK } end end - class Head_scroll < Head_toc + class HeadScroll < HeadToc def initialize(md) #(md='') super(md) end @@ -1002,8 +995,8 @@ WOK #{@vz.paragraph_txt}} end end - class Format_text_object - @vz=SiSU_Env::Get_init.instance.skin + class FormatTextObject + @vz=SiSU_Env::GetInit.instance.skin attr_accessor :md,:dob,:txt,:ocn,:format,:table,:link,:linkname,:paranum,:p_num,:headname,:banner,:url def initialize(md,t_o) @md,@t_o=md,t_o @@ -1026,7 +1019,7 @@ WOK @ocn=if defined? t_o.ocn; t_o.ocn.to_s else nil end - @headname=if t_o.is=='heading' and defined? t_o.name; t_o.name + @headname=if t_o.is==:heading and defined? t_o.name; t_o.name else nil end else @@ -1038,7 +1031,7 @@ WOK end if defined? @t_o.ocn ocn=((@t_o.ocn.to_s =~/\d+/) ? @t_o.ocn : nil) - @p_num=Paragraph_number.new(@md,ocn) + @p_num=ParagraphNumber.new(@md,ocn) end if @format and not @format.empty? if @format=~/^\d:(\S+)/ #need more reliable marker #if @format =~ /#{Rx[:lv]}/ @@ -1049,7 +1042,7 @@ WOK end end @dob=t_o if defined? t_o.is - @vz=SiSU_Env::Get_init.instance.skin + @vz=SiSU_Env::GetInit.instance.skin end def endnote_body %{ @@ -1177,17 +1170,18 @@ WOK end def gsub_body #fix - case @txt + @txt=case @txt when /^\s*\((i+|iv|v|vi+|ix|x|xi+)\)/ - @txt.gsub!(/^\((i+|iv|v|vi+|ix|x|xi+)\)/,'<b>(\1)</b>') - @txt.gsub!(/^(#{Mx[:pa_o]}i[1-9]#{Mx[:pa_c]})\s*\((i+|iv|v|vi+|ix|x|xi+)\)/,'\1<b>(\2)</b>') + @txt.gsub(/^\((i+|iv|v|vi+|ix|x|xi+)\)/,'<b>(\1)</b>'). + gsub(/^(#{Mx[:pa_o]}i[1-9]#{Mx[:pa_c]})\s*\((i+|iv|v|vi+|ix|x|xi+)\)/,'\1<b>(\2)</b>') when /^\s*\(?(\d|[a-z])+\)/ - @txt.gsub!(/^\((\d+|[a-z])+\)/,'<b>(\1)</b>') - @txt.gsub!(/^(#{Mx[:pa_o]}i[1-9]#{Mx[:pa_c]})\s*\((\d+|[a-z])+\)/,'\1<b>(\2)</b>') + @txt.gsub(/^\((\d+|[a-z])+\)/,'<b>(\1)</b>'). + gsub(/^(#{Mx[:pa_o]}i[1-9]#{Mx[:pa_c]})\s*\((\d+|[a-z])+\)/,'\1<b>(\2)</b>') when /^\s*\d{1,3}\.\s/ - @txt.gsub!(/^\s*(\d+\.)/,'<b>\1</b>') + @txt.gsub(/^\s*(\d+\.)/,'<b>\1</b>') when /^\s*[A-Z]\.\s/ - @txt.gsub!(/^\s*([A-Z]\.)/,'<b>\1</b>') + @txt.gsub(/^\s*([A-Z]\.)/,'<b>\1</b>') + else @txt end end def bold_para @@ -1200,8 +1194,8 @@ WOK #{@vz.table_close}} end def bold_header - @txt.gsub!(/[1-9]~(\S+)/,'<a name="\1"></a>') - @txt.gsub!(/[1-9]~/,'') + @txt=@txt.gsub(/[1-9]~(\S+)/,'<a name="\1"></a>'). + gsub(/[1-9]~/,'') %{<p class="bold"> #{@txt} </p> @@ -1222,13 +1216,13 @@ WOK %{<p class="centerbold">#{@txt}</p>\n} end end - class Format_scroll < Format_text_object + class FormatScroll < FormatTextObject def initialize(md,txt) super(md,txt) - @vz=SiSU_Env::Get_init.instance.skin + @vz=SiSU_Env::GetInit.instance.skin end end - class Format_seg < Format_text_object + class FormatSeg < FormatTextObject def initialize(md,txt) super(md,txt) end @@ -1297,9 +1291,9 @@ WOK note='' if txt =~/(#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}\s*)/m note=$1 - note.gsub!(/[\n\s]+/m,' ') - txt.gsub!(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ') - txt.gsub!(/<a[\n\s]+name="-\d+"[\n\s]+href="#_\d+"> <sup>\d+<\/sup> /m,'') + note=note.gsub(/[\n\s]+/m,' ') + txt=txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' '). + gsub(/<a[\n\s]+name="-\d+"[\n\s]+href="#_\d+"> <sup>\d+<\/sup> /m,'') end %{<#{tag} class="#{attrib}"> <a href="##{@ocn}"><i>#{txt}</i></a> #{note} @@ -1313,7 +1307,7 @@ WOK end #% para sisu def header_sub(tag,attrib) - @txt.gsub!(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ') + @txt=@txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ') %{ <div class="substance"> #{@p_num.ocn_display} @@ -1362,7 +1356,7 @@ WOK "<center>#{@txt}</center>" end end - class Format_toc < Format_text_object + class FormatToc < FormatTextObject def initialize(md,txt) super(md,txt) end |