=begin * Name: SiSU * Description: a framework for document structuring, publishing and search * Author: Ralph Amissah * Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Ralph Amissah All Rights Reserved. * License: GPL 3 or later: SiSU, a framework for document structuring, publishing and search Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 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: * Download: * Ralph Amissah ** Description: html formating, css template =end module SiSU_HTML_Format_type require "#{SiSU_lib}/html_format" require "#{SiSU_lib}/param" include SiSU_Param include SiSU_Viz include SiSU_HTML_Format class Head_toc < SiSU_HTML_Format::Head_toc def initialize(md='') super(md) end def head %{#{doc_type} #{@md.html_title} #{@rdf.rdftoc} #{@rdf.metatag_html} #{@css.html} #{@vz.color_body} #{@vz.js_top}} end def concordance if @md.concord_make %{#{@vz.margin_css}

Concordance

#{@vz.table_close}} else %{#{@vz.margin_css} #{@vz.table_close}} end end def metadata %{#{@vz.margin_css}

MetaData

#{@vz.table_close}} end end class Head_seg < SiSU_HTML_Format::Head_seg def initialize(md='') super(md) end def head %{#{doc_type} #{@seg_name_html[@seg_name_html_tracker]} - #{@md.html_title} #{@rdf.rdfseg} #{@rdf.metatag_html} #{@css.html} #{@vz.color_body} #{@vz.js_top}} end def toc_metadata @metalink=%{./#{@md.fn[:meatadata]}} toc_metadata end def title_banner(title,subtitle,creator) %{

#{title}

#{subtitle}

#{creator}

copy @ #{@vz.txt_home}

} end end class Head_scroll < SiSU_HTML_Format::Head_scroll def initialize(md='') super(md) end def toc_endnote %{#{@vz.margin_css}

Endnotes

#{@vz.table_close}} end end class Format_scroll < SiSU_HTML_Format::Format_text_object def initialize(md='',*txt) super(md,*txt) @vz=SiSU_Env::Get_init.instance.skin end def indent_one_no_paranum %{#{@vz.margin_txt_1} #{@paragraph.txt} #@one #{@vz.margin_num} #{@vz.table_close}} end def indent_two_no_paranum %{#{@vz.margin_txt_1} #{@paragraph.txt} #@one #{@vz.margin_num} #{@vz.table_close}} end def endnote_body %{#{@vz.margin_css}

#@one

#{@vz.margin_num_css}   #{@vz.table_close}} end def header_normal %{#{@vz.margin_css} <#@tag class="#@class" #{@p_num.id}>#{@p_num.name} #@headname #@parablock #{@vz.margin_num_css} #{@p_num.ocn_display} #{@vz.table_close}} end def heading_body @tag,@class='p','norm' header_normal end def heading_body1 @tag,@class='h1','norm' header_normal end def heading_body2 @tag,@class='h2','norm' header_normal end def heading_body3 @tag,@class='h3','norm' header_normal end def heading_body4 @tag,@class='h4','norm' header_normal end def heading_body5 @tag,@class='h5','norm' header_normal end def heading_body6 @tag,@class='h6','norm' header_normal end end class Format_seg < SiSU_HTML_Format::Format_text_object def initialize(md='',*txt) super(md,*txt) end def navigation_para %{#{@vz.margin_css} #{@paragraph.txt} #@one

#{@vz.table_close}} end def navigation_toc_lev1_advert %{#{@banner.home_button}\n
#@one #@two

} end def navigation_toc_lev1 %{#{@banner.nav_toc}} end def navigation_toc_lev2 #change bold use css %{

#@one

#{@vz.table_close}} end def navigation_toc_lev3 #change bold use css %{

#@one

#{@vz.table_close}} end def navigation_toc_lev4 %{

#@one

#{@vz.table_close}} end def navigation_toc_lev5 end def navigation_toc_lev6 end def endnote_body_seg_tail %{#{@vz.margin_css}

#@one

#{@vz.margin_num_css}  #{@vz.table_close}} end def endnote_body_seg_tail_indent %{#{@vz.margin_css}

#@one

#{@vz.margin_num_css}  #{@vz.table_close}} end def endnote_seg_body(fn='') #url construction keep within single line... BUG WATCH 200408 fn='doc' if fn.empty? #you may wish to reconsider, sends to 'doc' where no segment info %{#{@vz.margin_css}

#@one#{@md.fnl[:pre]}#{fn}#{@md.fnl[:mid]}#{@md.sfx}#{@md.fnl[:post]}#@two#@three

#{@vz.margin_num_css}  #{@vz.table_close}} end def title_header %{#{@vz.margin_css} <#@tag class="#@class"> #@one #{@vz.margin_num_css}  #@two #{@vz.table_close}} end def title_header1 @tag,@class='h1','banner' title_header end def title_header2 @tag,@class='h2','banner' title_header end def title_header3 @tag,@class='h3','banner' title_header end def title_header4 %{#{@vz.margin_css} #{@vz.margin_num_css}  #{@vz.table_close}} end def subtoc_lev one=if @one \ and @one =~/<\/?i>|/mi @one.gsub(/<\/?i>|/mi,'') #removes name markers from subtoc, go directly to substantive text else @one end note='' if one =~/(~[{\[].+?[}\]]~\s*)/m #this is a clumsy fix, revisit and address upstream note=$1 note.gsub!(/[\n\s]+/m,' ') one.gsub!(/~[{\[].+?[}\]]~\s*/m,' ') one.gsub!(/ \d+<\/sup> /m,'') end %{<#@tag class="#@class"> #{one} #{note} } end def subtoc_lev5 @tag,@class='h5','subtoc' subtoc_lev if @one end def subtoc_lev6 @tag,@class='h6','subtoc' subtoc_lev if @one end #% para sisu def header4 %{#@format #{@vz.margin_css}

#{@p_num.name} #@format #@parablock

#{@vz.margin_num_css} #{@p_num.ocn_display} #{@vz.table_close}} end def header_sub @parablock.gsub!(/~[{\[].+?[}\]]~\s*/m,' ') %{#{@vz.margin_css} #{@headname} <#@tag class="#@class" #{@p_num.id}>#{@p_num.name} #{@parablock} #{@vz.margin_num_css} #{@p_num.ocn_display} #{@vz.table_close}} end def header5 @tag,@class='p','bold' header_sub end def header6 @tag,@class='p','bold' header_sub end def navigation_header4 %{

#@parablock

#{@vz.table_close}} end def navigation_header5 %{

#@parablock

} end def navigation_header6 %{

#@parablock

} end def navigation_indent1 %{#{@vz.margin_txt_00_1} #{@paragraph.txt_00} #@parablock

#{@vz.margin_num_css}  #{@vz.table_close}} end def navigation_indent2 end def navigation_center "
#@parablock
" end end class Format_toc < SiSU_HTML_Format::Format_text_object def initialize(md='',*txt) super(md,*txt) end def links_guide #@three distinguishes between _top and external, can be used e.g. for different colour scheme %{
  • #@linkname
  • } end def lev(tag,attrib) %{<#{tag} class="#{attrib}"> #@one } end def lev1 lev('h1','toc') end def lev2 lev('h2','toc') end def lev3 lev('h3','toc') end def lev4 lev('h4','toc') end def lev5 lev('h5','toc') end def lev6 lev('h6','toc') end def lev0 #docinfo lev('h0','toc') end end end __END__