diff options
Diffstat (limited to 'lib/sisu/v0/xml_format.rb')
-rw-r--r-- | lib/sisu/v0/xml_format.rb | 57 |
1 files changed, 33 insertions, 24 deletions
diff --git a/lib/sisu/v0/xml_format.rb b/lib/sisu/v0/xml_format.rb index 20eb6736..a801f9d2 100644 --- a/lib/sisu/v0/xml_format.rb +++ b/lib/sisu/v0/xml_format.rb @@ -282,64 +282,74 @@ WOK end class Format_text_object @@dp=nil - attr_accessor :md,:one,:two,:three,:parablock,:table,:link,:linkname,:format,:paranum,:p_num,:para_id,:headname,:margin,:paragraph,:table,:banner,:url,:icon,:font,:one_stripped - def initialize(md,*txt) - @md=md - txt[0].gsub!(/\.(html|pdf|php)/,'') if one =~/\.\.\/\S+/ - @one,@two,@three=txt[0],txt[1],txt[2] - @format,@parablock=txt[0],txt[1] - if txt[2]=~/\d+/ - @paranum=/(\d+)/m.match(txt[2])[1] + attr_accessor :md,:txt,:format,:paranum,:p_num,:para_id,:headname,:font + def initialize(md,t_o) + @md,@t_o=md,t_o + if t_o.class == Hash + @txt =t_o[:txt] || nil + @format =t_o[:format] || nil + @lnk_url =t_o[:lnk_url] || nil + @lnk_txt =t_o[:lnk_txt] || nil + @ocn =t_o[:ocn] || nil + #@h_name =t_o[:h_name] || nil + #elsif t_o.class == Array + # @txt =txt[0] + #elsif t_o.class == String + # @txt =txt + else + p t_o.class + p caller + end + if @t_o[:ocn]=~/\d+/ + @paranum=/(\d+)/m.match(@t_o[:ocn])[1] @headname='' #if txt[2]=~/\d+/ - m=/#{Mx[:lv_o]}\d:(\S+?)#{Mx[:lv_c]}/m.match(format) + m=/#{Mx[:lv_o]}\d:(\S+?)#{Mx[:lv_c]}/m.match(@format) headname=m[1] if m @headname=%{<a name="h#{headname}"></a>} unless headname.nil? @p_num=SiSU_XML_format::Paragraph_number.new(@md,@paranum) end - #{ rgx=/^[1-6-]~{1,2}/ #watch - link=txt[0].gsub(rgx,'') if @one =~rgx + @lnk_url=@lnk_url.gsub(rgx,'') if @lnk_url =~rgx @dp=@@dp ||=SiSU_Env::Info_env.new.digest.pattern rgx=/~\{\d+\s+(.+?)#{Mx[:id_o]}#@dp#{Mx[:id_c]}\}~/ - link=txt[0].gsub(rgx,'\1') if txt[0] =~rgx - @link,@linkname=link,txt[1] + @lnk_url=@lnk_url.gsub(rgx,'\1') if @lnk_url =~rgx @vz=SiSU_Env::Get_init.instance.skin end def scr_endnote_body - "<endnote>#@one</endnote> " + "<endnote>#{@txt}</endnote> " end end class Format_scroll < Format_text_object - def initialize(*txt) - super(*txt) + def initialize(md,t_o) + super(md,t_o) end def heading_body - %{<p class="norm">#{@p_num.name}#@headname#@parablock </p>} + + %{<p class="norm">#{@p_num.name}#{@headname}#{@txt} </p>} + %{<p class="paranum">#{@p_num.display} </p>\n} end def heading_body1 - %{<h1 class="norm">#{@p_num.name}#@headname#@parablock </h1>} + + %{<h1 class="norm">#{@p_num.name}#{@headname}#{@txt} </h1>} + %{<p class="paranum">#{@p_num.display} </p>\n} end def heading_body2 - %{<h2 class="norm">#{@p_num.name}#@headname#@parablock </h2>} + + %{<h2 class="norm">#{@p_num.name}#{@headname}#{@txt} </h2>} + %{<p class="paranum">#{@p_num.display} </p>\n} end def heading_body3 - %{<h3 class="norm">#{@p_num.name}#@headname#@parablock </h3>} + + %{<h3 class="norm">#{@p_num.name}#{@headname}#{@txt} </h3>} + %{<p class="paranum">#{@p_num.display} </p>\n} end def heading_body4 - %{<h4 class="norm">#{@p_num.name}#@headname#@parablock</h4>} + + %{<h4 class="norm">#{@p_num.name}#{@headname}#{@txt}</h4>} + %{<p class="paranum">#{@p_num.display} </p>\n} end def heading_body5 - %{<h5 class="norm">#{@p_num.name}#@headname#@parablock </h5>} + + %{<h5 class="norm">#{@p_num.name}#{@headname}#{@txt} </h5>} + %{<p class="paranum">#{@p_num.display} </p>\n} end def heading_body6 - %{<h6 class="norm">#{@p_num.name}#@headname#@parablock </h6>} + + %{<h6 class="norm">#{@p_num.name}#{@headname}#{@txt} </h6>} + %{<p class="paranum">#{@p_num.display} </p>\n} end end @@ -347,4 +357,3 @@ WOK end end __END__ - |