diff options
| author | Ralph Amissah <ralph@amissah.com> | 2014-10-12 10:52:35 -0400 | 
|---|---|---|
| committer | Ralph Amissah <ralph@amissah.com> | 2014-10-12 10:52:35 -0400 | 
| commit | 32fd8f3908bc8632e2d8ab4d872f6e4362fe031b (patch) | |
| tree | 8094371a7fd511409992200f4b7c1cb4c33582d6 | |
| parent | v6: '*_parts', remove defaults.rb & some relics related to sisu skins, long gone (diff) | |
v5: merge v6: remove defaults.rb & some relics related to sisu skinssisu_5.7.0
62 files changed, 1561 insertions, 2468 deletions
| diff --git a/data/doc/sisu/CHANGELOG_v5 b/data/doc/sisu/CHANGELOG_v5 index 235d4db5..6294f34a 100644 --- a/data/doc/sisu/CHANGELOG_v5 +++ b/data/doc/sisu/CHANGELOG_v5 @@ -38,6 +38,10 @@ http://www.jus.uio.no/sisu/pkg/src/sisu_5.7.0.orig.tar.xz    sisu_5.7.0.orig.tar.xz    sisu_5.7.0-1.dsc +* '*_parts', remove defaults.rb & some relics related to sisu skins (long gone) +  * old code removed & substituted as required by *_parts +  * attending code changes, fairly wide ranging +  * html, epub, set document body language  * html_format, label, re: object number object names diff --git a/lib/sisu/v5/ao.rb b/lib/sisu/v5/ao.rb index 3f1ce71e..ebb17a8f 100644 --- a/lib/sisu/v5/ao.rb +++ b/lib/sisu/v5/ao.rb @@ -59,8 +59,6 @@  =end  module SiSU_AO -  require_relative 'defaults'                           # defaults.rb -    include SiSU_Viz    require_relative 'se'                                 # se.rb      include SiSU_Env    require_relative 'dp'                                 # dp.rb diff --git a/lib/sisu/v5/ao_syntax.rb b/lib/sisu/v5/ao_syntax.rb index e9f4d3bd..be184a5e 100644 --- a/lib/sisu/v5/ao_syntax.rb +++ b/lib/sisu/v5/ao_syntax.rb @@ -66,7 +66,6 @@ module SiSU_AO_Syntax    class Markup      def initialize(md='',data='')        @md,@data=md,data -      @vz=SiSU_Viz::Defaults.new        @data_new=[]        url_and_stub=SiSU_Env::InfoEnv.new.url        @output_url="#{url_and_stub.remote}" @@ -98,23 +97,13 @@ module SiSU_AO_Syntax        #ital_line=%{^/_\s.+?(?:#{Mx[:br_line]}|\n|$)} #not implemented        @line_scan_ital=if defined? @md.italics_match_list[:str]          /#{@http_m}|#{bold_line}|#{@manmkp_ital}#{tail_m_ital}|#{@md.italics_match_list[:str]}#{tail_m_ital}|\S+|\n/i -      elsif defined? @vz.markup_make_italic[:str] -        /#{@http_m}|#{bold_line}|#{@manmkp_ital}#{tail_m_ital}|#{@vz.markup_make_italic[:str]}#{tail_m_ital}|\S+|\n/i        end        @manmkp_bold=emph_italics \        ? '^!_\s.+?(?:\n|$)|[!b]\\{.+?\\}[*!b]|[*!][a-zA-Z0-9\-_]+[!]'        : '^!_\s.+?(?:\n|$)|[*!b]\\{.+?\\}[*!b]|[*!][a-zA-Z0-9\-_]+[*!]' -      @line_scan_bold=if (defined? @md.bold_match_list[:str] \ -      and @md.bold_match_list[:str]) \ -      and (defined? @vz.markup_make_bold[:str] \ -      and @vz.markup_make_bold[:str]) -        /#{@http_m}|#{bold_line}|(?:#{@manmkp_bold}|#{@md.bold_match_list[:str]}|#{@vz.markup_make_bold[:str]})#{tail_m_bold}|\S+|\n/i -      elsif defined? @md.bold_match_list[:str] \ +      @line_scan_bold=if defined? @md.bold_match_list[:str] \        and @md.bold_match_list[:str]          /#{@http_m}|#{bold_line}|(?:#{@manmkp_bold}|#{@md.bold_match_list[:str]})#{tail_m_bold}|\S+|\n/i -      elsif defined? @vz.markup_make_bold[:str] \ -      and @vz.markup_make_bold[:str] -        /#{@http_m}|#{bold_line}|(?:#{@manmkp_bold}|#{@vz.markup_make_bold[:str]})#{tail_m_bold}|\S+|\n/i        end      end      def songsheet @@ -154,9 +143,7 @@ module SiSU_AO_Syntax      def wordlist_italics(dob)        dob=dob.dup        if (defined? @md.italics_match_list[:str] \ -      and @md.italics_match_list[:str]) \ -      or (defined? @vz.markup_make_italic[:str] \ -      and @vz.markup_make_italic[:str]) +      and @md.italics_match_list[:str])          dob.obj=if dob.is !=:meta \          && dob.is !=:heading \          && dob.is !=:heading_insert \ @@ -172,10 +159,6 @@ module SiSU_AO_Syntax                and @md.italics_match_list[:regx]                  w=w.gsub(@md.italics_match_list[:regx],                    "#{Mx[:fa_italics_o]}\\1#{Mx[:fa_italics_c]}") -              elsif defined? @vz.markup_make_italic \ -              and @vz.markup_make_italic -                w=w.gsub(@vz.markup_make_italic, -                  "#{Mx[:fa_italics_o]}\\1#{Mx[:fa_italics_c]}")                else w                end              end @@ -267,9 +250,7 @@ module SiSU_AO_Syntax      def wordlist_bold(dob)        dob=dob.dup        if (defined? @md.bold_match_list[:str] \ -      and @md.bold_match_list[:str]) \ -      or (defined? @vz.markup_make_bold[:str] \ -      and @vz.markup_make_bold[:str]) +      and @md.bold_match_list[:str])          dob.obj=if dob.is !=:meta \          && dob.is !=:heading \          && dob.is !=:heading_insert \ @@ -285,10 +266,6 @@ module SiSU_AO_Syntax                and @md.bold_match_list[:regx]                                             #document header: @bold: [bold word list]                  w=w.gsub(@md.bold_match_list[:regx],                    "#{Mx[:fa_bold_o]}\\1#{Mx[:fa_bold_c]}") -              elsif defined? @vz.markup_make_bold \ -              and @vz.markup_make_bold                                                   #defaults adjusted bold word list -                w=w.gsub(@vz.markup_make_bold, -                  "#{Mx[:fa_bold_o]}\\1#{Mx[:fa_bold_c]}")                end              else                w=if w =~ /(?:^!_|^#{Mx[:lv_o]}[7-9]:\S*?#{Mx[:lv_c]})\s+/ diff --git a/lib/sisu/v5/css.rb b/lib/sisu/v5/css.rb index 09f5a435..b70d3edd 100644 --- a/lib/sisu/v5/css.rb +++ b/lib/sisu/v5/css.rb @@ -59,7 +59,7 @@  =end  module SiSU_Style    require_relative 'se'                                 # se.rb -  require_relative 'defaults'                           # defaults.rb +  require_relative 'html_parts'                         # html_parts.rb    class CSS_HeadInfo      def initialize(md,ft='html')        @md,@ft=md,ft @@ -159,40 +159,38 @@ module SiSU_Style      end    end    class CSS -    def initialize -      @vz=SiSU_Viz::Defaults.new -    end +    include SiSU_Parts_HTML      def fonts -      @vz.font_fonts +      the_font.set_fonts      end      def html_tables                               #stylesheet for css table_pages  <<WOK  /* SiSU table output stylesheet */    body {      color: black; -    background: #{@vz.color_white}; +    background: #{the_color.white};    }    p {      display: block;      line-height: 1.5; -    font-family: #{fonts}; +    font-family: #{the_font.set_fonts};    }    a:link { -    color: #{@vz.color_blue_ink}; +    color: #{the_color.blue_ink};      text-decoration: none;    }    a:visited { -    color: #{@vz.color_blue_ink}; +    color: #{the_color.blue_ink};      text-decoration: none; -    /* background-color: #{@vz.color_blue_tinge}; */ +    /* background-color: #{the_color.blue_tinge}; */    }    a:hover { -    color: #{@vz.color_black}; +    color: #{the_color.black};      text-decoration: underline; -    background-color: #{@vz.color_yellow_light}; +    background-color: #{the_color.yellow_light};    }    a:active { -    color: #{@vz.color_blue_ink}; +    color: #{the_color.blue_ink};      text-decoration: underline;    }  WOK @@ -1679,14 +1677,14 @@ WOK      end      def homepage                                  #stylesheet for index, home page  <<WOK -  body {color: black; background: #{@vz.color_white}; margin:10px 10px 0px 10px; padding:0px;} +  body {color: black; background: #{the_color.white}; margin:10px 10px 0px 10px; padding:0px;}    p { line-height: 1.5 } -  a:link      {color: #{@vz.color_blue_ink};   text-decoration: none; } -  a:visited       {color: #{@vz.color_blue_ink};   text-decoration: none; } -  a:hover {color: #{@vz.color_black}; text-decoration: underline; background-color: #{@vz.color_yellow_light};} -  a:active {color: #{@vz.color_blue_ink}; text-decoration: underline;} +  a:link      {color: #{the_color.blue_ink};   text-decoration: none; } +  a:visited       {color: #{the_color.blue_ink};   text-decoration: none; } +  a:hover {color: #{the_color.black}; text-decoration: underline; background-color: #{the_color.yellow_light};} +  a:active {color: #{the_color.blue_ink}; text-decoration: underline;}    #banner { -    background:#{@vz.color_white}; +    background:#{the_color.white};    }    #column_left {      width:25%; @@ -1697,7 +1695,7 @@ WOK    #column_center {      width:55%;      float:left; -    background:#{@vz.color_white}; +    background:#{the_color.white};      padding-bottom:10px;    }    #column_right { @@ -1707,7 +1705,7 @@ WOK      padding-bottom:10px;    }    p,h1,pre { -    font-family: #{fonts}; +    font-family: #{the_font.set_fonts};      margin:0px 10px 10px 10px;    }    h1 { @@ -1757,7 +1755,7 @@ WOK      }      dc {        display: block; -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        color: blue;        background-color: #dddddd;        font-weight: normal; @@ -1775,7 +1773,7 @@ WOK      }      keywords,copyright {        display: block; -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        color: red;        background-color: #dddddd;        font-weight: normal; @@ -1831,7 +1829,7 @@ WOK      }      text,text[class|="norm"] {        display: block; -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        text-align: justify;        font-weight: normal;        font-size: 100%; @@ -2377,7 +2375,7 @@ WOK      endnote {        display: block;        font-size: small; -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        font-weight: normal;        line-height: 150%;        text-align: justify; @@ -2389,7 +2387,7 @@ WOK      endnote_indent {        display: block;        font-size: small; -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        font-weight: normal;        line-height: 150%;        text-align: justify; @@ -2499,7 +2497,7 @@ WOK      }      dc {        display: block; -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        color: blue;        background-color: #dddddd;        font-weight: normal; @@ -2517,7 +2515,7 @@ WOK      }      keywords,copyright {        display: block; -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        color: red;        background-color: #dddddd;        font-weight: normal; @@ -2569,7 +2567,7 @@ WOK      }      text {        display: block; -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        text-align: justify;        font-size: 100%;        line-height: 150%; @@ -3128,7 +3126,7 @@ WOK      endnote {        display: block;        font-size: small; -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        font-weight: normal;        line-height: 150%;        text-align: justify; @@ -3140,7 +3138,7 @@ WOK      endnote_indent {        display: block;        font-size: small; -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        font-weight: normal;        line-height: 150%;        text-align: justify; @@ -3177,7 +3175,7 @@ WOK      }      dc,sc {        display: block; -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        color: blue;        background-color: #dddddd;        font-weight: normal; @@ -3194,7 +3192,7 @@ WOK      }      keywords,copyright {        display: block; -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        color: red;        background-color: #dddddd;        font-weight: normal; @@ -3247,7 +3245,7 @@ WOK      }      para {        display: block; -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        /* font-weight: normal; */        text-align: justify;        font-size: 100%; @@ -3261,12 +3259,12 @@ WOK        text-align: left;      }      para.norm { -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        font-weight: normal;      }      para.h1, title {        display: block; -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        font-size: 120%;        font-weight: bold;        text-align: left; @@ -3336,7 +3334,7 @@ WOK      endnote {        display: block;        font-size: small; -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        font-weight: normal;        line-height: 150%;        text-align: justify; @@ -3348,7 +3346,7 @@ WOK      endnote_indent {        display: block;        font-size: small; -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        font-weight: normal;        line-height: 150%;        text-align: justify; @@ -3402,7 +3400,7 @@ WOK      }      p {        display: block; -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        font-size: 100%;        font-weight: normal;        line-height: 150%; @@ -3424,7 +3422,7 @@ WOK        text-indent: 5%      }      p.h1 { -      font-family: #{fonts}; +      font-family: #{the_font.set_fonts};        font-weight: bold;        line-height: 120%;        margin-left: 10mm; diff --git a/lib/sisu/v5/defaults.rb b/lib/sisu/v5/defaults.rb deleted file mode 100644 index da8b13a2..00000000 --- a/lib/sisu/v5/defaults.rb +++ /dev/null @@ -1,1214 +0,0 @@ -# encoding: utf-8 -=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, 2008, 2009, 2010, 2011, 2012, 2013, 2014 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 - - * 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/v5/defaults.rb;hb=HEAD> - - * Ralph Amissah -   <ralph@amissah.com> -   <ralph.amissah@gmail.com> - - ** Description: Default values - -=end -$latex_run=nil -module SiSU_Viz -  begin -    require 'uri' -  rescue LoadError -    SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia). -      error('uri NOT FOUND (LoadError)') -  end -  require_relative 'se'                                 # se.rb -    include SiSU_Env -  require_relative 'css'                                # css.rb -    include SiSU_Style -  class Defaults -    def initialize -      @fonts='verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman' # 'verdana, arial, georgia, tahoma, sans-serif, helvetica, "times new roman", times, roman' -      @dir=SiSU_Env::InfoEnv.new -      @date=SiSU_Env::InfoDate.new #{@date.year} -      @v=SiSU_Env::InfoVersion.instance.get_version -    end -    #% glyph -    def glyph_bullet # • -      '• ' # [• flagged] -    end -    #% html -    def html_hardspace -      ' ' -    end -    def semantic_tags -      def default -        { -          pub:     'publication', -          conv:    'convention', -          vol:     'volume', -          pg:      'page', -          cty:     'city', -          org:     'organization', -          uni:     'university', -          dept:    'department', -          fac:     'faculty', -          inst:    'institute', -          co:      'company', -          com:     'company', -          conv:    'convention', -          dt:      'date', -          y:       'year', -          m:       'month', -          d:       'day', -          ti:      'title', -          au:      'author', -          ed:      'editor', #editor? -          v:       'version', #edition -          n:       'name', -          fn:      'firstname', -          mn:      'middlename', -          ln:      'lastname', -          in:      'initials', -          qt:      'quote', -          ct:      'cite', -          ref:     'reference', -          ab:      'abreviation', -          def:     'define', -          desc:    'description', -          trans:   'translate', -        } -      end -      self -    end -    #% decorate -    def decorate_italics -      'title|article|book|journal' -    end -    def decorate_bold -    end -    def decorate_uppercase -      'surname' -    end -    #% semantic -    def sem_title #dc 1 -      'title' -    end -    def sem_article -      'article' -    end -    def sem_book -      'book' -    end -    def sem_journal -      'journal' -    end -    def sem_fullname # (contains: firstname, surname) #issues arise as contains surname etc. -      'fullname' -    end -    def sem_first -      'first' -    end -    def sem_surname -      'surname' -    end -    def sem_middle -      'middle' -    end -    def sem_creator #dc 2 #==fullname (contains: firstname, surname) -      'creator' -    end -    def sem_author #==fullname (contains: firstname, surname) -      'author' -    end -    def sem_editor #==fullname (contains: firstname, surname) -      'editor' -    end -    def sem_illustrator #==fullname (contains: firstname, surname) -      'illustrator' -    end -    def sem_translator #==fullname (contains: firstname, surname) -      'translator' -    end -    def sem_isbn # 10 or 13 -      'isbn' -    end -    def sem_isbn_10 -      'isbn10' -    end -    def sem_isbn_13 -      'isbn13' -    end -    def sem_loc # library of congress -      'loc' -    end -    def sem_dewey -      'dewey' -    end -    def sem_pg # project gutenberg number -      'pg' -    end -    def sem_subject #dc 3 -      'subject' -    end -    def sem_date #dc 7 -      'date' -    end -    def sem_date_created -      'date_created' -    end -    def sem_date_issued -      'date_issued' -    end -    def sem_date_available -      'date_available' -    end -    def sem_date_valid -      'date_valid' -    end -    def sem_date_modified -      'date_modified' -    end -    def sem_type #dc 8 -      'type' -    end -    def sem_description #dc 4 -      'description' -    end -    def sem_publisher #dc 5 -      'publisher' -    end -    def sem_contributor #dc 6 -      'contributor' -    end -    def sem_format #dc 9 -      'format' -    end -    def sem_identifier #dc 10 -      'identifier' -    end -    def sem_source #dc 11 -      'source' -    end -    def sem_language #dc 12 -      'language' -    end -    def sem_relation #dc 13 -      'source' -    end -    def sem_coverage #dc 14 -      'coverage' -    end -    def sem_rights #dc 15 -      'rights' -    end -    def sem_copyright -      'copyright' -    end -    def sem_license -      'license' -    end -    def sem_prepared_by -      'prepared_by' -    end -    def sem_digitized_by -      'digitized_by' -    end -    def sem_keywords -      'keywords' -    end -    def sem_comments -      'comments' -    end -    def sem_abstract -      'abstract' -    end -    #% path -    def path_stylesheet_home -      %{  <link href="./#{@dir.path.style}/homepage.css" rel="stylesheet">} -    end -    #% text #changed from txt to avoid naming conflicts #FOLLOW -    def txt_generator -      %{  <meta name="generator" content="#{@v[:project]} #{@v[:version]} of #{@v[:date_stamp]} (#{@v[:date]}) (n*x and Ruby!)" /> -    <link rel="generator" href="http://www.sisudoc.org/" />} -    end -    def txt_generator_comment -      %{  <!- #{@v[:project]} #{@v[:version]} of #{@v[:date_stamp]} (#{@v[:date]}) (n*x and Ruby!)" http://www.sisudoc.org/ ->} -    end -    def txt_hp -      ' SiSU' -    end -    def txt_hp_alias -      'SiSU' -    end -    def txt_home -      'SiSU' -    end -    def txt_signature # used in latex/pdf footer -      'SiSU' -    end -    #% url -    def url_urify(uri) -      URI.parse(uri) -    end -    def url_sisu -      'http://www.sisudoc.org/' -    end -    def url_sisudoc -      'http://www.sisudoc.org' -    end -    def url_footer_signature -      'http://www.sisudoc.org/' -    end -    def url_root -      '/sisu' #watch -    end -    def url_root_http -      'http://www.sisudoc.org/' #watch -    end -    def url_home -      'http://www.sisudoc.org/' # used in pdf header -    end -    def url_site #used as stub... where there are subdirectories and is different from home -      url_home -      #'http://www.sisudoc.org/' # used in pdf header -    end -    def url_txt -      'www.sisudoc.org/' -    end -    def url_path_image_base #used for html image display -      "#{Xx[:html_relative2]}_sisu/image" -    end -    def url_path_image #used for html image display -      "#{Xx[:html_relative2]}_sisu/image" -    end -    def url_path_image_sys #used for html image display -      "#{Xx[:html_relative2]}_sisu/image_sys" -    end -    def url_decoration -      def tex_open                     #'{\UseTextSymbol{OML}{<}}' -        Dx[:url_o] -      end -      def tex_close                    #'{\UseTextSymbol{OML}{>}}' -        Dx[:url_c] -      end -      def xml_open                     #'<' -        Dx[:url_o] -      end -      def xml_close                    #'>' -        Dx[:url_c] -      end -      def txt_open -        '<' -      end -      def txt_close -        '>' -      end -      self -    end -    def rel_decoration -      def tex_open                     #'{\UseTextSymbol{OML}{<}}' -        Dx[:rel_o] -      end -      def tex_close                    #'{\UseTextSymbol{OML}{>}}' -        Dx[:rel_c] -      end -      def xml_open                     #'<' -        Dx[:rel_o] -      end -      def xml_close                    #'>' -        Dx[:rel_c] -      end -      def txt_open -        '<' -      end -      def txt_close -        '>' -      end -      self -    end -    #% color -    def color_body -      %{<body lang="en" xml:lang="en">} -    end -    def color_white -      '"#ffffff"' -    end -    def color_black -      '#000000' -    end -    def color_blue_ink -      '#003399' -    end -    def color_blue_tinge -      '#e3ecef' -    end -    def color_blue_grey -      '#8faebf' -    end -    def color_blue_murky -      '#437389' -    end -    def color_beige -      '#f1e8de' -    end -    def color_subtleglow -      '#dddccc' -    end -    def color_glow -      '#fff0c3' -    end -    def color_rose -      '#ffdec9' -    end -    def color_turquoise -      '#1c869b' -    end -    def color_grey_pale -      '#eeeeee' -    end -    def color_grey_medium -      '#cccccc' -    end -    def color_grey -      '#999999' -    end -    def color_yellow_light -      '#fff3b6' -    end -    def color_yellow -      '#ffde14' -    end -    def color_yellow_dark -      '#ffcc00' -    end -    def color_green_light -      '#b7d398'  #  #e2efd5 #b7d398 #b1c999 # '#aed19e' -    end -    def color_green -      '#0a8400' -    end -    def color_green_dark -      '#086800' -    end -    def color_ruby -      '#a00000' -    end -    def color_maroon -      '#800000' -    end -    def color_paper -      %{"#{color_white}"} -    end -    def color_band1 -      %{"#{color_white}"} -    end -    def color_band2 -      %{"#{color_white}"} -    end -    def color_body -      %{<body lang="en" xml:lang="en">} -    end -    def color_font_face #was font WATCH -      "#{color_black}" -    end -    def color_surround -      %{"#{color_white}"} -    end -    def color_band -      %{"#{color_white}"} -    end -    def color_table1 -      'ffffcc' -    end -    def color_table2 -      'c0d0f0' -    end -    def color_band1 -      '"#ffffff"' -    end -    def color_band2 -      '"#ffffff"' -    end -    #% icon -    def icon_ico -      'rb7.ico' -    end -    def icon_sisu -      'sisu.png' -    end -    def icon_manifest -      'b_info.png' -    end -    def icon_doc -      'b_doc.png' -    end -    def icon_toc -      'b_toc.png' -    end -    def icon_wmp -      'b_wmp.png' -    end -    def icon_odf -      'b_odf.png' -    end -    def icon_epub -      'b_epub.png' -    end -    def icon_pdf -      'b_pdf.png' -    end -    def icon_pdf_portrait -      'b_pdf.png' -    end -    def icon_pdf_landscape -      'b_pdf.png' -    end -    def icon_choice -      'b_choice.png' -    end -    def icon_new -      'b_new.png' -    end -    def icon_dot_clear -      'dot_clear.png' -    end -    def icon_dot_white -      'dot_white.png' -    end -    def icon_dot -      icon_dot_white -    end -    def icon_home_button -      'sisu.png' -    end -    def icon_next -      'arrow_next_red.png' -    end -    def icon_previous -      'arrow_prev_red.png' -    end -    def icon_up -      'arrow_up_red.png' -    end -    #% font -    def font_fonts -      @fonts -    end -    def font_face -      %{face="#{font_fonts}"} -    end -    def font_color -      'color="#000000"' -    end -    def font_size_endnote -      'size="3"' -    end -    def font_small -      'size="3"' -    end -    def font_tiny -      'size="2"' -    end -    #% markup -    def markup_italics_list #regular expression of words to be italised -    end -    def markup_bold_list #regular expression of words to be made bold -      'SiSU' -    end -    def markup_make_italic -      if defined? italics_list \ -      and italics_list -        make={} -        if italics_list -          r=italics_list.dup -          x=case r -          when /\/i$/ then 'i' -          else             '' -          end -          r=r.gsub(/^\/(.+?)\/i?/,'\1'). -            gsub(/\(/,'(?:') # avoid need to escape use of brackets within regex provided -          m='\b(' + r + ')\b' -          make[:str] -          make[:regx]=(x =~/i/) \ -          ? (/#{m}/i) -          : (/#{m}/) -        else nil -        end -      end -    end -    def markup_make_bold -      if defined? bold_list \ -      and not bold_list.empty? -        make={} -        if bold_list -          r=bold_list.dup -          x=case r -          when /\/i$/ then 'i' -          else             '' -          end -          r.gsub(/^\/(.+?)\/i?/,'\1'). -            gsub(/\(/,'(?:') # avoid need to escape use of brackets within regex provided -          m='\b(' + r + ')\b' -          make[:str] -          make[:regx]=(x =~/i/) \ -          ? (/#{m}/i) -          : (/#{m}/) -        else nil -        end -        make -      end -    end -    #% paragraph -    def paragraph_txt -      %{<p class="normal">} -    end -    def paragraph_endnote -      %{<p class="endnote">} -    end -    def paragraph_font_tiny -      %{<font #{font_tiny} #{font_face}>} -    end -    def paragraph_font_small -      %{<font #{font_small} #{font_face}>} -    end -    #% table -    def table_close -      '</td></tr> -</table>' -    end -    def table_width_1 -      '"100%"' -    end -    def table_width_2 -      '"99%"' -    end -    def table_width_txt -      '"94%"' -    end -    def table_width_txt_r -      '"96%"' -    end -    def table_cellpad_box -      '"20"' -    end -    #% indent -    def indent_level_0 -      '"1%"' -    end -    def indent_level_1 -      '"4%"' -    end -    def indent_level_2 -      '"6%"' -    end -    def indent_level_3 -      '"8%"' -    end -    def indent_level_4 -      '"10%"' -    end -    #% margin -    def margin_num -      '</p> </td><td width="4%" align="right" valign="top">' -    end -    def margin_numless -      '</td><td width="4%" align="right" valign="top">' -    end -    def margin_num_css -      '</td> -<td width="2%" align="right" valign="top">  ' -    end -    def margin_txt_w1 -      %{<table summary="" width=#{table_width_txt_r} border="0" cellpadding="2" align="center"> -<tr><td width="6%" align="right"> </td> -<td width="90%" valign="top" align="justify">} -    end -    def margin_txt_w2 -      %{<table summary="" width=#{table_width_txt_r} border="0" cellpadding="2" align="center"> -<tr><td width="10%" align="right"> </td> -<td width="86%" valign="top" align="justify">} -    end -    def margin_txt_0 -      %{<table summary="" width=#{table_width_txt} border="0" cellpadding="2" align="center"> -<tr><td width=#{indent_level_0} align="right"> -</td><td valign="top" align="justify">} -    end -    def margin_txt_1 -      %{<table summary="" width=#{table_width_txt} border="0" cellpadding="2" align="center"> -<tr><td width=#{indent_level_1} align="right"></td><td valign="top" align="justify">} -    end -    def margin_txt_2 -      %{<table summary="" width=#{table_width_txt} border="0" cellpadding="2" align="center"> -<tr><td width=#{indent_level_2} align="right"> -</td> -<td valign="top" align="justify">} -    end -    def margin_txt_3 -      %{<table summary="" width=#{table_width_txt} border="0" cellpadding="2" align="center"> -<tr><td width=#{indent_level_3} align="right"> -</td> -<td valign="top" align="justify">} -    end -    def margin_css -      '<table summary="normal text css" width="100%" border="0" cellpadding="2" align="center"> -<tr><td valign="top" align="justify"> ' -    end -    #% png -    def png_ico -      %{  <link rel="shortcut icon" href="../_sisu/image/#{icon_ico}" />} -    end -    def png_sisu #check url path -      %{  <a href="#{@url.sisu}"> -    <img border="0" width="160" height="60" src="#{url_path_image}/#{icon_sisu}" alt="SiSU" /> -    </a>} -    end -    def png_site -      %{<img src="#{url_path_image}/#{icon_site}" alt="@" border="0" />} -    end -    def png_nav -      %{<img border="0" height="15" width="15" src="#{url_path_image_sys}/#{icon_bluebell}" alt="Contents" />} -    end -    def png_manifest -      %{<img border="0" height="15" width="15" src="#{url_path_image_sys}/#{icon_manifest}" alt="Document Manifest" />} -    end -    def png_doc -      %{<img border="0" height="15" width="15" src="#{url_path_image_sys}/#{icon_doc}" alt="Full Text" />} -    end -    def png_toc -      %{<img border="0" height="18" width="15" src="#{url_path_image_sys}/#{icon_toc}" alt="TOC linked" />} -    end -    def png_odf -      %{<img border="0" height="18" width="18" src="#{url_path_image_sys}/#{icon_odf}" alt="ODF/ODT" />} -    end -    def png_epub -      %{<img border="0" height="18" width="15" src="#{url_path_image_sys}/#{icon_epub}" alt="EPUB" />} -    end -    def png_pdf -      %{<img border="0" height="18" width="15" src="#{url_path_image_sys}/#{icon_pdf}" alt="PDF" />} -    end -    def png_pdf_portrait -      %{<img border="0" height="18" width="15" src="#{url_path_image_sys}/#{icon_pdf}" alt="PDF portrait" />} -    end -    def png_pdf_landscape -      %{<img border="0" height="15" width="18" src="#{url_path_image_sys}/#{icon_pdf}" alt="PDF landscape" />} -    end -    def png_home -      #dir=SiSU_Env::InfoEnv.new #(@fns) -      %{<img border="0" src="#{url_path_image_base}/#{icon_home_button}" alt="#{txt_home} -->" />} -      #%{<img border="0" src="#{dir.url.images_local}/#{icon_home_button}" alt="#{txt_home} -->" />} -    end -    def png_home_button -      rel=@dir.path_rel_links.html_scroll_2 -      %{<img border="0" src="#{rel}/#{icon_home_button}" alt="#{txt_home} -->" />} -    end -    #% png_nav #not currently used -    #% nav_txt -    def nav_txt_homepage -      %{  <font face="#{font_fonts}" size="2"> -     home  -  </font> } -    end -    def nav_txt_toc_link -      %{  <font face="#{font_fonts}" size="2"> -      toc  -  </font> } -    end -    def nav_txt_doc_link -      %{  <font face="#{font_fonts}" size="2"> -     scroll  -  </font> } -    end -    def nav_txt_manifest -      #{png_manifest} document manifest -      %{  <font face="#{font_fonts}" size="2"> -    [ document manifest ] -  </font> } -    end -    def nav_txt_concordance -      %{  <font face="#{font_fonts}" size="2"> -      A-Z  -  </font> } -    end -    def nav_txt_pdf_portrait -      %{  <font face="#{font_fonts}" size="2"> -     pdf  -  </font> } -    end -    def nav_txt_pdf_landscape -      %{  <font face="#{font_fonts}" size="2"> -     pdf  -  </font> } -    end -    #% banner -    def banner_home_button_only -      %{<a href="#{url_site}/"> -    #{png_home_button} -  </a>} -    end -    def banner_band #yellow_dark now white -      %{<table summary="home button" width="100%" border="0" cellpadding="3" align="center"> -<tr><td align="left" valign="middle"> -  <a href="#{url_site}/" target="_top"> -    #{png_home} -  </a> -</td> -<td width="90%"> -#{table_close}} -    end -    def banner_instrument_cover_band_scr -      '<table summary="scroll instrument cover band" width="100%" border="0" cellpadding="8" align="center"> -<tr><td align="center">' -    end -    def banner_instrument_cover_band_seg -      '<table summary="segment instrument cover band, title, author, location" width="100%" border="0" cellpadding="8" align="center"> -<tr><td align="center">' -    end -    #% widget -    def widget_promo # Array used to build promo from list.yml and promo.yml -    #  ['sisu_icon','sisu','sisu_search_libre','open_society','fsf','ruby'] -    end -    def widgets_open -<<WOK -<table summary="SiSU summary" cellpadding="4" border="0"> -WOK -    end -    def widget_sisu_text -<<WOK -  <p class="tiny"><font color="#666666" size="2"> -    Output generated by -    <a href="#{url_sisu}"> -      #{@v[:project]} -    </a> -    #{@v[:version]} #{@v[:date]} (#{@v[:date_stamp]}) -  </font></p> -WOK -    end -    def widget_sisu -<<WOK -<!-- widget sisu --> -<tr><td valign="top" width="100%"> -<!-- SiSU Rights --> -#{widget_sisu_text} -</td></tr> -WOK -    end -    def widget_sisu_verbose -<<WOK -<!-- widget sisu --> -<tr><td valign="top" width="10%"> -  <p class="tiny_left"><font color="#666666" size="2"> -    <a href="#{url_sisu}"> -      <img border="0" src="../_sisu/image/sisu.png" alt="SiSU" width="120" height="39" /> -    </a> -  </font></p> -</td><td valign="top" width="45%"> -<!-- SiSU Rights --> -  <p class="tiny_left"><font color="#666666" size="2"> -    Output generated by -    <a href="#{url_sisu}"> -      #{@v[:project]} -    </a> -    #{@v[:version]} #{@v[:date]} (#{@v[:date_stamp]}) -    <br /> -    <a href="#{url_sisu}"> -      <b>#{@v[:project]}</b> -    </a> -    Copyright <sup>©</sup> Ralph Amissah -    1997, current #{@date.year_static}. -    All Rights Reserved. -    <br /> -    <a href="#{url_sisu}"> -      #{@v[:project]} -    </a> -    is software for document structuring, publishing and search, -    <br /> -    <a href="#{url_sisu}"> -      www.sisudoc.org/ -    </a> -    and -    <a href="#{url_sisudoc}"> -      www.sisudoc.org -    </a> -  <br /> -    <i>w3 since October 3 1993</i> -    <a href="mailto:ralph@amissah.com"> -      ralph@amissah.com -    </a> -  </font></p> -</td><td valign="top" width="45%"> -  <p class="tiny_left"><font color="#666666" size="2"> -    #{@v[:project]} using: -    <br />Standard SiSU markup syntax, -    <br />Standard SiSU meta-markup syntax, and the -    <br />Standard SiSU <u>object citation numbering</u> and system, (object/text positioning system) -  <br /> -    Copyright <sup>©</sup> Ralph Amissah 1997, current #{@date.year_static}. -    All Rights Reserved. -  </font></p> -</td></tr> -WOK -    end -    def widget_way_better -      <<WOK -<!-- widget way better --> -<tr><td valign="top" width="10%"> -  <p class="tiny_left"><font color="#666666" size="2"> -    <a href="http://www.gnu.org/licenses/gpl.html"> -      <img border="0" src="../_sisu/image/gplv3_free_software.png" alt="GPLv3" width="127" height="51" /> -    </a> -  </font></p> -</td><td valign="top" width="45%"> -  <p class="tiny_left"><font color="#666666" size="2"> -    <a href="#{url_sisu}"> -      #{@v[:project]} -    </a> -    is released under -    <a href="http://www.gnu.org/licenses/gpl.html">GPLv3</a> -    or later, -    #{url_decoration.xml_open}<a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a>#{url_decoration.xml_close} -  </font></p> -</td><td valign="top" width="45%"> -  <p class="tiny_left"><font color="#666666" size="2"> -    #{@v[:project]}, developed using -    <a href="http://www.ruby-lang.org/en/"> -      Ruby -    </a> -    on -    <a href="http://www.debian.org/"> -      Debian/Gnu/Linux -    </a> -    software infrastructure, -    with the usual GPL (or OSS) suspects. -  <br /> -    Better - "performance, reliability, scalability, security & total cost of ownership" -    [not to mention flexibility & choice] use of and adherence to open standards (where practical and fair) and it is software libré. -  <br /> -    Get With the Future -    <a href="http://www.sisudoc.org/"> -      Way Better! -    </a> -  </font></p> -</td></tr> -WOK -    end -    #% credits -    def credits_sisu_manifest -      widget_sisu_text -    end -    def credits_sisu -      %{<div class="substance"> -<table summary="SiSU summary" cellpadding="4" border="0"> -<tr><td> -  #{widget_sisu} -</table></div>} -      '' -    end -    def credits_splash -    end -    def credits_sisu_epub -      %{<div class="substance"> -<p class="center"><a href="http://www.openebook.org"><b>EPUB</b></a> generated by <a href="http://www.sisudoc.org"><b>#{@v[:project]}</b></a> v#{@v[:version]}, GPL3</p> -</div>} -      '' -    end -  end -  class Home < Defaults -    def initialize -      @v=SiSU_Env::InfoVersion.instance.get_version -      @dir=SiSU_Env::InfoEnv.new -      @date=SiSU_Env::InfoDate.new #{@date.year} -    end -    def redirect -      <<WOK -<html><head> -<title>SiSU</title> -<meta http-equiv="refresh" content="0, url=http://www.sisudoc.org/sisu/SiSU/"> -</head> -<body> -SiSU informtion provided at <a href="http://www.sisudoc.org/sisu/SiSU/">www.sisudoc.org/sisu/SiSU</a><p /> -If your browser supports redirection, you will be escorted there shortly. -</body> -</html> -WOK -    end -    def homepage -      <<WOK -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> -<title>SiSU information Structuring Universe - Structured information, Serialized Units - software for electronic texts, documents, books, digital libraries in plaintext, HTML, EPUB, XHTML, XML, ODF (OpenDocument), LaTeX, PDF, SQL (PostgreSQL and SQLite), and for search</title> -<meta name="dc.title" content="SiSU - SiSU information Structuring Universe, Structured information Serialised Units, #{@date.year_static}" /> -<meta name="dc.creator" content="Ralph Amissah" /> -<meta name="dc.subject" content= "document structuring, ebook, publishing, PDF, LaTeX, XML, ODF, EPUB, SQL, postgresql, sqlite, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, granular search, digital library" /> -<meta name="dc.publisher" content= "SiSU http://www.sisudoc.org/" /> -<meta name="dc.language" content="en" /> -<meta name="dc.rights" content="Copyright Ralph Amissah" /> -<meta name="generator" content="#{@v[:project]} #{@v[:version]} of #{@v[:date_stamp]} (#{@v[:date]}) (n*x and Ruby!)" /> -<link rel="generator" href="http://www.sisudoc.org/" /> -<link rel="stylesheet" href="./#{@dir.path.style}/harvest.css" type="text/css" /> -<link rel="shortcut icon" href="./_sisu/image/rb7.ico" /> -</head> - -<body lang="en" xml:lang="en"> -<a name="top" id="top"></a> -<a name="up" id="up"></a> -<a name="start" id="start"></a> - -<h1>SiSU</h1> -<p> -[<a href="http://sisudoc.org/sisu_manual/en/html/sisu/toc.html">Manual</a>] -</p> -<p> -[<a href="http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary">Source</a>] -[<a href="http://lists.sisudoc.org/listinfo/sisu">List Info (sisu@lists.sisudoc.org)</a>] -</p> - -<h1>SiSU Markup Samples</h1> -<p> -[<a href="http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=summary">Source</a>] -[<a href="http://sisudoc.org/sisu_markup_samples.html">Output</a>] -</p> - -<hr /> - -<h2 class="top_band_tiny"> -  Structured information, Serialized Units -     -  <a href="http://www.sisudoc.org" target="_top"> -    <www.sisudoc.org> -  </a> -    or   -  <a href="http://www.jus.uio.no/sisu/" target="_top"> -    <www.jus.uio.no/sisu/> -  </a> -software for electronic texts, document collections, books, digital libraries & search, with "atomic search" & text locating system (shared object citation numbering: "<i>ocn</i>"). -Outputs include: plaintext, HTML, EPUB, ODT (OpenDocumentText), (XHTML, XML,) LaTeX, PDF, SQL (PostgreSQL and SQLite). -</h2> -<p class="small"> -<a href="mailto:sisu@lists.sisudoc.org"> -<sisu@lists.sisudoc.org> -</a> -<a href="http://lists.sisudoc.org/listinfo/sisu"> -<http://lists.sisudoc.org/listinfo/sisu> -</a> -</p> -<p class="small"> -<a href="mailto:ralph@amissah.com"> -<ralph@amissah.com> -</a> -<a href="mailto:ralph.amissah@gmail.com"> -<ralph.amissah@gmail.com> -</a> -</p> -<p class="tiny"> -#{@v[:project]} #{@v[:version]} of #{@v[:date_stamp]} (#{@v[:date]}) (n*x and Ruby!), #{@date.year_static}. -</p> -<p class="tiny"> -w3 since October 3 1993. -</p> -</body> -</html> -WOK -    end -    def home_toc -      ' ' -    end -  end -  class Inserts -  end -  class TeX < Defaults -    def initialize(papersize='') -      @papersize=papersize -    end -    def a4 -      def portrait -        def w -          160 -        end -        def h -          228 -        end -        def img_px -          450 -        end -        self -      end -      def landscape -        def w -          238 -        end -        def h -          160 -        end -        def img_px -          300 -        end -        self -      end -      self -    end -    def letter -      def portrait -        def w -          166 -        end -        def h -          212 -        end -        def img_px -          468 -        end -        self -      end -      def landscape -        def w -          226 -        end -        def h -          166 -        end -        def img_px -          290 -        end -        self -      end -      self -    end -    def legal -      def portrait -        def w -          168 -        end -        def h -          286 -        end -        def img_px -          474 -        end -        self -      end -      def landscape -        def w -          296 -        end -        def h -          166 -        end -        def img_px -          420 -        end -        self -      end -      self -    end -    def b5 -      def portrait -        def w -          140 -        end -        def h -          204 -        end -        def img_px -          356 -        end -        self -      end -      def landscape -        def w -          200 -        end -        def h -          130 -        end -        def img_px -          260 -        end -        self -      end -      self -    end -    def a5 -      def portrait -        def w -          112 -        end -        def h -          162 -        end -        def img_px -          280 -        end -        self -      end -      def landscape -        def w -          152 -        end -        def h -          100 -        end -        def img_px -          190 -        end -        self -      end -      self -    end -    def dimensions -      case @papersize -      when /a4/     then a4 -      when /letter/ then letter -      when /legal/  then legal -      when /b5/     then b5 -      when /a5/     then a5 -      else               a4 -      end -    end -  end -end -__END__ diff --git a/lib/sisu/v5/generic_parts.rb b/lib/sisu/v5/generic_parts.rb new file mode 100644 index 00000000..c7a702e9 --- /dev/null +++ b/lib/sisu/v5/generic_parts.rb @@ -0,0 +1,134 @@ +# encoding: utf-8 +=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, 2008, 2009, 2010, 2011, 2012, 2013, 2014 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 + + * 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/v5/html_parts.rb;hb=HEAD> + + * Ralph Amissah +   <ralph@amissah.com> +   <ralph.amissah@gmail.com> + + ** Description: shared html parts + +=end +module SiSU_Parts_Generic +  def the_url +    def urify(uri) +      URI.parse(uri) +    end +    def sisu +      'http://www.sisudoc.org/' +    end +    def sisudoc +      'http://www.sisudoc.org' +    end +    def footer_signature +      'http://www.sisudoc.org/' +    end +    def rl_root +      '/sisu' #watch +    end +    def root_http +      'http://www.sisudoc.org/' #watch +    end +    def home +      'http://www.sisudoc.org/' # used in pdf header +    end +    def site #used as stub... where there are subdirectories and is different from home +      home +    end +    def home_txt +      'www.sisudoc.org' +    end +    def sisu_txt +      'www.sisudoc.org' +    end +    self +  end +  def the_text +    def home +      'SiSU' +    end +    def txt_hp +      ' SiSU' +    end +    def txt_hp_alias +      'SiSU' +    end +    def txt_home +      'SiSU' +    end +    def txt_signature # used in latex/pdf footer +      'SiSU' +    end +    def url_open +      '<' +    end +    def url_close +      '>' +    end +    self +  end +  def the_icon +    def i_ico +      'rb7.ico' +    end +    def i_home_button +      'sisu.png' +    end +    def i_choice +      'b_choice.png' +    end +    def i_new +      'b_new.png' +    end +    self +  end +end +__END__ diff --git a/lib/sisu/v5/html.rb b/lib/sisu/v5/html.rb index 76dbe2a2..1a8d6608 100644 --- a/lib/sisu/v5/html.rb +++ b/lib/sisu/v5/html.rb @@ -66,9 +66,8 @@ module SiSU_HTML    end    require_relative 'se_hub_particulars'                 # se_hub_particulars.rb      include SiSU_Particulars -  require_relative 'defaults'                           # defaults.rb -    include SiSU_Viz    require_relative 'html_table'                         # html_table.rb +  require_relative 'html_parts'                         # html_parts.rb    require_relative 'html_format'                        # html_format.rb      include SiSU_HTML_Format    require_relative 'html_segments'                      # html_segments.rb @@ -181,7 +180,6 @@ module SiSU_HTML        def initialize(particulars)          @particulars=particulars          @md,@env=particulars.md,particulars.env -        @vz=SiSU_Viz::Defaults.new          @env,@css=particulars.env,SiSU_Style::CSS.new        end        def tuned_file_instructions @@ -267,7 +265,6 @@ module SiSU_HTML        @@firstseg=nil        def initialize(md=nil,data='')          @data,@md=data,md -        @vz=SiSU_Viz::Defaults.new          @ocn_html_identifier=            SiSU_Env::ProcessingSettings.new(@md).ocn_html_identifier          @tell=SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set]) if @md @@ -334,7 +331,7 @@ module SiSU_HTML          @@toc[:seg] <<<<WOK  <center>  <table><tr><td> -<p><font color="#222222" #{@font.face} size="2"> +<p><font color="#222222" #{the_font.set_face} size="2">  (relatively static) RSS feeds for DOCUMENTS:<br>  <a href="../rssfeed/documents.xml"><img border="0" height="14" width="36" src="../_sisu/image/rss.png" alt="RSS feed"></a> http://www.jus.uio.no/lm/rssfeed/documents.xml<br>  <a href="../rssfeed/tradelaw.xml"><img border="0" height="14" width="36" src="../_sisu/image/rss.png" alt="RSS feed"></a> http://www.jus.uio.no/lm/rssfeed/tradelaw.xml<br> @@ -607,9 +604,9 @@ WOK        end      end      class ScrollHeadAndSegToc < Toc +      include SiSU_Parts_HTML        def initialize(md='',toc='',links_guide_toc='')          @md,@toc,@links_guide_toc=md,toc,links_guide_toc -        @vz=SiSU_Viz::Defaults.new          @make=SiSU_Env::ProcessingSettings.new(@md)        end        def in_common @@ -662,8 +659,8 @@ WOK            toc_shared << format_txt_obj.center_bold            @segtoc << format_txt_obj.center_bold          end -        toc_shared << "#{@vz.table_close*1}\n" -        @segtoc << "#{@vz.table_close*1}\n" +        toc_shared << "#{the_table_close*1}\n" +        @segtoc << "#{the_table_close*1}\n"          tmp_head=nil          if @md.prefix_a            tmp_head ||= %{<p>#{@md.prefix_a}\n} diff --git a/lib/sisu/v5/html_concordance.rb b/lib/sisu/v5/html_concordance.rb index 6053bd61..231eb4c1 100644 --- a/lib/sisu/v5/html_concordance.rb +++ b/lib/sisu/v5/html_concordance.rb @@ -63,8 +63,6 @@ module SiSU_Concordance      include SiSU_Particulars    require_relative 'se'                                 # se.rb      include SiSU_Env -  require_relative 'defaults'                           # defaults.rb -    include SiSU_Viz    require_relative 'html_format'                        # html_format.rb      include SiSU_HTML_Format    require_relative 'html_minitoc'                       # html_minitoc.rb @@ -125,7 +123,6 @@ module SiSU_Concordance      end      private      class DocTitle -      include SiSU_Viz        #revisit, both requires (html & xml_shared) needed for stand alone operation (sisu -w [filename])        require_relative 'xml_shared'                     # xml_shared.rb        require_relative 'html'                           # html.rb @@ -206,8 +203,6 @@ WOK      class Words        require_relative 'i18n'                           # i18n.rb          include SiSU_i18n -      require_relative 'defaults'                       # defaults.rb -        include SiSU_Viz        require_relative 'html_format'                    # html_format.rb          include SiSU_HTML_Format        require_relative 'se'                             # se.rb diff --git a/lib/sisu/v5/html_format.rb b/lib/sisu/v5/html_format.rb index 75bacdc2..b0611508 100644 --- a/lib/sisu/v5/html_format.rb +++ b/lib/sisu/v5/html_format.rb @@ -58,7 +58,7 @@  =end  module SiSU_HTML_Format -  include SiSU_Viz +  require_relative 'html_parts'                         # html_parts.rb    class ParagraphNumber      def initialize(md,ocn)        @md,@ocn=md,ocn.to_s @@ -97,13 +97,13 @@ module SiSU_HTML_Format    end    class HeadInformation      require_relative 'css'                              # css.rb +    include SiSU_Parts_HTML      require_relative 'xml_shared'                       # xml_shared.rb -    include SiSU_Viz -    attr_reader :md,:rdf,:vz +    attr_reader :md,:rdf      def initialize(md)        @md=md        # DublinCore 1 - title -      @vz=SiSU_Viz::Defaults.new +      @bits=SiSU_Proj_HTML::Bits.new        @seg_name_html=(SiSU_HTML::Source::Seg.new.seg_name_html || [])        @seg_name_html_tracker=(SiSU_HTML::Source::Seg.new.seg_name_html_tracker || [])        @tocband_scroll,@tocband_segtoc=nil,nil @@ -164,7 +164,7 @@ module SiSU_HTML_Format        %{  <table summary="segment navigation available documents types: toc,doc,pdf,concordance" border="0" cellpadding="3" cellspacing="0">  <tr> -<td align="center" bgcolor=#{@vz.color_band2}> +<td align="center" bgcolor=#{the_color.band2}>    #{wgt.manifest(page)}    #{wgt.search}  </tr></table>} @@ -172,14 +172,6 @@ module SiSU_HTML_Format      def rdf        SiSU_XML_Tags::RDF.new(md)      end -    def doc_type -      %{<!DOCTYPE html> -<html>\n} -    end -    def table_close -      %{  </font> -#{@vz.table_close}} -    end      def button_home(page=:seg)        button=%{ <table summary="home button / home information" border="0" cellpadding="3" cellspacing="0">\n <tr><td align="left" bgcolor="#ffffff">\n}        if @md.make.home_button_image.is_a?(Hash) @@ -206,6 +198,7 @@ module SiSU_HTML_Format      end    end    class Widget < HeadInformation +    include SiSU_Parts_HTML      def initialize(md)        super(md)        @md=md @@ -216,15 +209,15 @@ module SiSU_HTML_Format        @make=SiSU_Env::ProcessingSettings.new(md)      end      def home -      %{<td align="center" bgcolor=#{@vz.color_band2}> +      %{<td align="center" bgcolor=#{the_color.band2}>    <a href="../index.html" target="_top"> -  #{@vz.nav_txt_homepage}</a> +  #{the_nav.txt_homepage}</a>  </td>  }      end      def scroll(text)        if @md.fns =~ /\.(?:-|ssm\.)?sst$/ -        %{<td align="center" bgcolor=#{@vz.color_band2}> +        %{<td align="center" bgcolor=#{the_color.band2}>    <a href="#{Xx[:html_relative1]}html/#{@file.base_filename.html_scroll}" target="_top">      #{text}    </a> @@ -257,16 +250,15 @@ module SiSU_HTML_Format          end          if page==:manifest            manifest_lnk="#{@md.file.output_path.manifest.url}/#{@file.base_filename.manifest}" -          brace_url=SiSU_Viz::Defaults.new.url_decoration -          %{<td align="center" bgcolor=#{@vz.color_band2}> -  <font face="#{@vz.font_fonts}" size="2"> -  #{brace_url.xml_open}<a href="#{manifest_lnk}" target="_top">#{@md.file.output_path.manifest.url}/#{@file.base_filename.manifest}</a>#{brace_url.xml_close} +          %{<td align="center" bgcolor=#{the_color.band2}> +  <font face="#{the_font.set_fonts}" size="2"> +  #{the_url_decoration.xml_open}<a href="#{manifest_lnk}" target="_top">#{@md.file.output_path.manifest.url}/#{@file.base_filename.manifest}</a>#{the_url_decoration.xml_close}    </font>  </td>}          else -          %{<td align="center" bgcolor=#{@vz.color_band2}> +          %{<td align="center" bgcolor=#{the_color.band2}>    <a href="#{manifest_lnk}" target="_top"> -    #{@vz.nav_txt_manifest} +    #{the_nav.txt_manifest}    </a>  </td>}          end @@ -291,7 +283,7 @@ module SiSU_HTML_Format    #{make_scroll_search_form_and_manifest_link}  </td>  WOK -        %{<table summary="table of contents scroll navigation band" id="toc" width="100%" bgcolor=#{@vz.color_band1}> +        %{<table summary="table of contents scroll navigation band" id="toc" width="100%" bgcolor=#{the_color.band1}>  <tr><td width="20%">    #{button_home(:scroll)}  </td> @@ -300,7 +292,7 @@ WOK  </td>  <td width="20%">      -#{@vz.table_close} +#{the_table_close}  <p>}        else ''        end @@ -316,14 +308,14 @@ WOK        else ''        end        if @make.build.html_top_band? -        %{<table summary="concordance navigation band" id="toc" width="100%" bgcolor=#{@vz.color_band1}> +        %{<table summary="concordance navigation band" id="toc" width="100%" bgcolor=#{the_color.band1}>  <tr><td width="20%">    #{button_home}  </td>  <td width="75%" align="center">    #{doc_types}  #{up_button} -#{@vz.table_close} +#{the_table_close}  <p>}        else ''        end @@ -344,7 +336,7 @@ WOK        else ''        end        if @make.build.html_top_band? -        %{<table summary="table of contents segment navigation band" id="toc" width="100%" bgcolor=#{@vz.color_band1}> +        %{<table summary="table of contents segment navigation band" id="toc" width="100%" bgcolor=#{the_color.band1}>  <tr><td width="20%">  #{button_home(page)}  </td> @@ -353,7 +345,7 @@ WOK  </td>  <td width="5%" align="right">     #{firstseg}  -#{@vz.table_close} +#{the_table_close}  <p>}        else ''        end @@ -376,8 +368,8 @@ WOK      end      def make_scroll_search_form_and_manifest_link        wgt=SiSU_HTML_Format::Widget.new(@md) -      %{<td align="center" bgcolor=#{@vz.color_band2}> -  #{@vz.nav_txt_doc_link} +      %{<td align="center" bgcolor=#{the_color.band2}> +  #{the_nav.txt_doc_link}  </td>  }        %{<table summary="toc segment and scroll with pdf" border="0" cellpadding="3" cellspacing="0"> @@ -389,13 +381,13 @@ WOK      def make_scroll_seg_pdf        seg=''        wgt=SiSU_HTML_Format::Widget.new(@md) -      seg=%{<td align="center" bgcolor=#{@vz.color_band2}> -  #{@vz.nav_txt_toc_link} +      seg=%{<td align="center" bgcolor=#{the_color.band2}> +  #{the_nav.txt_toc_link}  </td>  }        %{<table summary="toc scroll and segment with pdf" border="0" cellpadding="3" cellspacing="0">  <tr> -<td align="center" bgcolor=#{@vz.color_band2}> +<td align="center" bgcolor=#{the_color.band2}>    #{wgt.manifest}    #{wgt.search}  </tr></table>} @@ -404,14 +396,15 @@ WOK        wgt=SiSU_HTML_Format::Widget.new(@md)        %{<table summary="toc scroll and segment with pdf" border="0" cellpadding="3" cellspacing="0">  <tr> -<td align="center" bgcolor=#{@vz.color_band2}> +<td align="center" bgcolor=#{the_color.band2}>    #{wgt.manifest}    #{wgt.search}  </tr></table>}      end      def head        rdf=SiSU_XML_Tags::RDF.new(@md) -      %{#{doc_type} +      %{<!DOCTYPE html> +<html>  <head>    <meta charset="utf-8">    <title> @@ -426,27 +419,26 @@ WOK      end      def concordance        if @md.concord_make -      %{#{@vz.margin_css} +      %{#{the_margin.css}    <h4 class="toc">      <a href="./#{@md.file.base_filename.html_concordance}">        <i>Concordance</i>      </a>    </h4> -#{@vz.table_close}} +#{table_close}}        else -      %{#{@vz.margin_css} -#{@vz.table_close}} +      %{#{the_margin.css} +#{table_close}}        end      end      def links_guide_vertical_open  #     @file=SiSU_Env::FileOp.new(@md) if @md -      url=((defined? @vz.url_hp) && @vz.url_hp =~/^https?:\/\/\S+$/ ? @vz.url_hp : @vz.url_home)        %{  <div id="vertical_links">    <ul id="vertical">    <li class="refbold"> -    <a href="#{url}"> -      #{@vz.txt_hp} +    <a href="#{the_url.home}"> +      #{the_text.txt_hp}      </a>    </li>    <li class="ref"> @@ -461,13 +453,12 @@ WOK      end      def links_guide_horizontal_open  #     @file=SiSU_Env::FileOp.new(@md) if @md -      url=((defined? @vz.url_hp) && @vz.url_hp =~/^https?:\/\/\S+$/ ? @vz.url_hp : @vz.url_home)        %{  <div id="horizontal_links">    <ul id="horizontal">    <li class="refbold"> -    <a href="#{url}"> -      #{@vz.txt_hp} +    <a href="#{the_url.home}"> +      #{the_text.txt_hp}      </a>    </li>    <li class="ref"> @@ -521,69 +512,69 @@ WOK      def scroll_head_title_banner_open        icon=@md.icon ? %{<center>\n#{@md.icon}\n</center>} : ''        %{#{icon} -#{@vz.banner_instrument_cover_band_scr}} +#{the_banner.instrument_cover_band_scr}}      end      def seg_head_title_banner_open        icon=@md.icon ? %{<center>\n#{@md.icon}\n</center>} : ''        %{#{icon} -#{@vz.banner_instrument_cover_band_seg}} +#{the_banner.instrument_cover_band_seg}}      end      def make_scroll -      concord=concordance_link(@vz.nav_txt_concordance) +      concord=concordance_link(the_nav.txt_concordance)        %{<table summary="toc scroll" border="0" cellpadding="3" cellspacing="0">  <tr><td align="center" bgcolor="white" border="0"> -  #{@vz.nav_txt_doc_link} +  #{the_nav.txt_doc_link}  </td>  <td align="center" bgcolor="white">     #{concord} -#{@vz.table_close}} +#{the_table_close}}      end      def make_seg -      concord=concordance_link(@vz.nav_txt_concordance) +      concord=concordance_link(the_nav.txt_concordance)        %{<table summary="toc segment" border="0" cellpadding="3" cellspacing="0">  <tr><td align="center" bgcolor="white"> -  #{@vz.nav_txt_toc_link} +  #{the_nav.txt_toc_link}  </td>  <td align="center" bgcolor="white">    <font size=2>     #{concord} -#{@vz.table_close}} +#{the_table_close}}      end      def manifest #check structure        if not @o_str.dump_or_redirect? -        manifest=manifest_link(@vz.nav_txt_manifest) -        %{#{@vz.margin_txt_3} -  #{@vz.paragraph_font_small} +        manifest=manifest_link(the_nav.txt_manifest) +        %{#{the_margin.txt_3} +  #{the_font.paragraph_font_small}     #{manifest}      </font> -#{@vz.table_close}} +#{the_table_close}}        else ''        end      end      def concordance #check structure -      concord=concordance_link(@vz.nav_txt_concordance) -      %{#{@vz.margin_txt_3} -  #{@vz.paragraph_font_small} +      concord=concordance_link(the_nav.txt_concordance) +      %{#{the_margin.txt_3} +  #{the_font.paragraph_font_small}     #{concord}      </font> -#{@vz.table_close}} +#{the_table_close}}      end      def metadata -      %{#{@vz.margin_css} +      %{#{the_margin.css}    <h4 class="toc">      <a href="#{@metalink}">        <i>MetaData</i>      </a>    </h4> -#{@vz.table_close}} +#{the_table_close}}      end      def seg_tail        %{  <div class="main_column">  <p> <p> -<table summary="toc segment tail" bgcolor=#{@vz.color_band1}> +<table summary="toc segment tail" bgcolor=#{the_color.band1}>  <tr><td width="20%"> -  #{@vz.banner_band} +  #{the_banner.banner_band}  </td>  <td width="60%">    <center> @@ -592,8 +583,7 @@ WOK  </td></tr>  </table>  <p> </p> -#{@vz.credits_splash} -#{@vz.credits_sisu} +#{@bits.credits_sisu}  <a name="bottom" id="bottom"></a>  <a name="end" id="end"></a>  </div> @@ -606,8 +596,7 @@ WOK        %{  <div class="main_column">  #{nav} -#{@vz.credits_splash} -#{@vz.credits_sisu} +#{@bits.credits_sisu}  <a name="bottom" id="bottom"></a>  <a name="end" id="end"></a>  </div> @@ -617,8 +606,7 @@ WOK        %{  <div class="main_column">  <p> </p> -#{@vz.credits_splash} -#{@vz.credits_sisu} +#{@bits.credits_sisu}  <a name="bottom" id="bottom"></a>  <a name="end" id="end"></a>  </div> @@ -642,7 +630,7 @@ WOK            nxt=nxt.gsub(/sisu_manifest\.html/,"../../manifest/#{@file.base_filename.manifest}")          end        end -      %{<table summary="segment hidden control pre and next" width="100%" border="0" cellpadding="0" bgcolor=#{@vz.color_grey_pale} align="center"> +      %{<table summary="segment hidden control pre and next" width="100%" border="0" cellpadding="0" bgcolor=#{the_color.grey_pale} align="center">  <tr><td align="left">    <a href="#{pre}" target="_top">      #{png_nav.dot_pre} @@ -657,13 +645,13 @@ WOK    <a href="#{nxt}" target="_top">      #{png_nav.dot_nxt}    </a> -#{@vz.table_close}} +#{the_table_close}}      end      def dot_control_pre        pre="#{@seg_name_html[@seg_name_html_tracker-2]}#{@md.lang_code_insert}#{Sfx[:html]}"        up=@toc        nxt="#{@md.file.base_filename.html_segtoc}" -      %{<table summary="segment hidden control pre" width="100%" border="0" cellpadding="0" bgcolor=#{@vz.color_grey_pale} align="center"> +      %{<table summary="segment hidden control pre" width="100%" border="0" cellpadding="0" bgcolor=#{the_color.grey_pale} align="center">  <tr><td align="left">    <a href="#{pre}" target="_top">      #{png_nav.dot_pre} @@ -678,21 +666,21 @@ WOK    <a href="#{nxt}" target="_top">      #{png_nav.dot_nxt}    </a> -#{@vz.table_close}} +#{the_table_close}}      end      def toc_nav(f_pre=false,f_nxt=false,use=1)        pre=nxt='' -      toc=%{<td align="center" bgcolor=#{@vz.color_band1}> +      toc=%{<td align="center" bgcolor=#{the_color.band1}>    <a href="#{@toc}" target="_top">      #{png_nav.toc}    </a>  </td>} -      pre=%{<td align="center" bgcolor=#{@vz.color_band1}> +      pre=%{<td align="center" bgcolor=#{the_color.band1}>    <a href="#{@seg_name_html[@seg_name_html_tracker-use]}#{@md.lang_code_insert}#{Sfx[:html]}" target="_top">      #{png_nav.pre}    </a>  </td>} if f_pre==true -      nxt=%{<td align="center" bgcolor=#{@vz.color_band1}> +      nxt=%{<td align="center" bgcolor=#{the_color.band1}>    <a href="#{@seg_name_html[@seg_name_html_tracker+1]}#{@md.lang_code_insert}#{Sfx[:html]}" target="_top">      #{png_nav.nxt}    </a> @@ -710,7 +698,7 @@ WOK  #{toc}  #{nxt}  <td> -#{@vz.table_close}} +#{the_table_close}}      end      def toc_next2        toc_nav(false,true).dup @@ -739,34 +727,33 @@ WOK        end      end      def navigation_table -      %{<table summary="navigation segment table" width=#{@vz.table_width_1} border="0" bgcolor="white" cellpadding="0"> +      %{<table summary="navigation segment table" width=#{the_width.table1} border="0" bgcolor="white" cellpadding="0">  <tr><th width="#{@@indent['leve_1']}" align="right">  </td>  <td valign="top">    <font size=2>}      end      def navigation_table1 -      %{<table summary="navigation segment table1" width=#{@vz.table_width_1} border="0" cellpadding=#{@vz.table_cellpad_box} bgcolor=#{@vz.color_table1} align="left"> +      %{<table summary="navigation segment table1" width=#{the_width.table1} border="0" cellpadding=#{the_table_cellpad_box} bgcolor=#{the_color.table1} align="left">  <tr><td valign="top">    <font size="2">}      end      def navigation_table2 -      %{<table summary="navigation segment table2" width=#{@vz.table_width_2} border="0" cellpadding=#{@vz.table_cellpad_box} bgcolor=#{@vz.color_table2} align="left"> +      %{<table summary="navigation segment table2" width=#{the_width.table2} border="0" cellpadding=#{the_table_cellpad_box} bgcolor=#{the_color.table2} align="left">  <tr><td valign="top">    <font size="2">}      end      def credit        %{  <div class="main_column"> -#{@vz.credits_splash} -#{@vz.credits_sisu} +#{@bits.credits_sisu}  <a name="bottom" id="bottom"></a>  <a name="end" id="end"></a>  </div></div>  }      end      def navigation_band(segtocband,seg_table_top_control) #change name to navigation_band_banner -      %{<table summary="segment navigation band with banner" bgcolor=#{@vz.color_band1} width="100%"><tr> +      %{<table summary="segment navigation band with banner" bgcolor=#{the_color.band1} width="100%"><tr>  <td width="20%" align="left">  #{button_home}  </td> @@ -782,7 +769,7 @@ WOK      def navigation_band_bottom(segtocband,seg_table_top_control) #change name to navigation_band_bannerless        %{  <div class="main_column"> -  <table summary="segment navigation band" bgcolor=#{@vz.color_band1} width="100%"><tr> +  <table summary="segment navigation band" bgcolor=#{the_color.band1} width="100%"><tr>    <td width="70%" align="center">      #{doc_types}    </td> @@ -812,7 +799,8 @@ WOK      end      def head_seg        rdf=SiSU_XML_Tags::RDF.new(@md) -      %{#{doc_type} +      %{<!DOCTYPE html> +<html>  <head>    <meta charset="utf-8">    <title> @@ -840,8 +828,8 @@ WOK    </p>    <p class="tiny">      copy @ -    <a href="#{@vz.url_home}"> -      #{@vz.txt_home} +    <a href="#{the_url.home}"> +      #{the_text.txt_home}      </a>    </p>  </div> @@ -853,8 +841,8 @@ WOK        super(md)      end      def toc_owner_details -      %{#{@vz.margin_txt_3} -#{@vz.paragraph_font_small} +      %{#{the_margin.txt_3} +#{the_font.paragraph_font_small}    <a href="#owner.details">      Owner Details      <font size="1" color="#777777"> @@ -862,11 +850,11 @@ WOK      </font>    </a>    </font> -#{@vz.table_close}} +#{the_table_close}}      end    end    class FormatTextObject -    @vz=SiSU_Viz::Defaults.new +    include SiSU_Parts_HTML      attr_accessor :md,:t_o,:txt,:ocn,:format,:table,:link,:linkname,:paranum,:p_num,:headname,:banner,:url      def initialize(md,t_o)        @md,@t_o=md,t_o @@ -899,7 +887,6 @@ WOK          @txt=@txt.gsub(/#{Mx[:mk_o]}[-~]##{Mx[:mk_c]}/,'')        end        @p_num=ParagraphNumber.new(@md,@ocn) -      @vz=SiSU_Viz::Defaults.new      end      def nametags_scroll(dob)        tags='' @@ -1127,21 +1114,21 @@ WOK        end      end      def bold_para -      %{#{@vz.margin_txt_0} +      %{#{the_margin.txt_0}    <p class="bold">      #{@txt}    </p> -#{@vz.margin_num_css} +#{the_margin.num_css}        -#{@vz.table_close}} +#{the_table_close}}      end      def bold_heading        %{<p class="bold">      #{@txt}    </p> -#{@vz.margin_num_css} +#{the_margin.num_css}        -#{@vz.table_close}} +#{the_table_close}}      end      def toc_head_copy_at        %{<p class="center">#{@txt}</p>\n} @@ -1159,63 +1146,12 @@ WOK    class FormatScroll < FormatTextObject      def initialize(md,txt)        super(md,txt) -      @vz=SiSU_Viz::Defaults.new      end    end    class FormatSeg < FormatTextObject      def initialize(md,txt)        super(md,txt)      end -    def navigation_toc_lev1_advert -      %{#{@banner.home_button}\n -<center> -#{@txt} -#{@two} -</a></center><p>} -    end -    def navigation_toc_lev1 -      %{#{@banner.nav_toc}} -    end -    def navigation_toc_lev2                                                      #change bold use css -      %{<p> -<table summary="navigation segment level 2"> -<tr><td width ="20"> -</td> -<td> -  <font size="3" #{@vz.font_face}> -    <b>#{@txt}</b> -  </font> -  </p> -#{@vz.table_close}} -    end -    def navigation_toc_lev3                                                      #change bold use css -      %{<p> -<table summary="navigation segment level 3"> -<tr><td width ="20"> -</td> -<td> -  <font size="3" #{@vz.font_face}> -    <b>#{@txt}</b> -  </font> -  </p> -#{@vz.table_close}} -    end -    def navigation_toc_lev4 -      %{<table summary="navigation segment level 4"> -<tr><td width ="80"> -</td> -<td> -<p> -  #{@txt} -</p> -#{@vz.table_close}} -    end -    def navigation_toc_lev5 -    end -    def navigation_toc_lev6 -    end -    def navigation_toc_lev7 -    end      def endnote_seg_body(fn='')  #FIX                                                #url construction keep within single line... BUG WATCH 200408        fn='doc' if fn.to_s.empty? #you may wish to reconsider, sends to 'doc' where no segment info        %{ @@ -1290,7 +1226,7 @@ WOK  <p class="bold">    #{@txt}  </p> -#{@vz.table_close}} +#{the_table_close}}      end      def navigation_heading5        %{<p class="bold"> diff --git a/lib/sisu/v5/html_harvest_authors.rb b/lib/sisu/v5/html_harvest_authors.rb index 427ef4d3..0fa079d6 100644 --- a/lib/sisu/v5/html_harvest_authors.rb +++ b/lib/sisu/v5/html_harvest_authors.rb @@ -60,6 +60,7 @@  =end  module SiSU_HarvestAuthors    require_relative 'html_harvest_author_format'          # html_harvest_author_format.rb +  require_relative 'html_parts'                          # html_parts.rb    class Songsheet      @@the_idx_authors={}      def initialize(opt,env) @@ -211,7 +212,6 @@ module SiSU_HarvestAuthors        @alphabet_list=%W[9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]        @alph=@alphabet_list.dup        @letter=@alph.shift -      @vz=SiSU_Viz::Defaults.new      end      def html_file_open        @the_idx.keys.each do |lng| @@ -376,7 +376,7 @@ WOK  <a name="finish" id="finish"></a>  <a name="stop" id="stop"></a>  <a name="credits"></a> -#{@vz.credits_sisu} +#{SiSU_Proj_HTML::Bits.new.credits_sisu}  </body>  </html>  WOK diff --git a/lib/sisu/v5/html_harvest_topics.rb b/lib/sisu/v5/html_harvest_topics.rb index 59812c68..ab74968c 100644 --- a/lib/sisu/v5/html_harvest_topics.rb +++ b/lib/sisu/v5/html_harvest_topics.rb @@ -60,8 +60,8 @@  =end  module SiSU_HarvestTopics -  require_relative 'html_harvest_author_format'         # html_harvest_author_format.rb -  include SiSU_Viz +  require_relative 'html_harvest_author_format'          # html_harvest_author_format.rb +  require_relative 'html_parts'                          # html_parts.rb    class Songsheet      @@the_idx_topics={}      def initialize(opt,env) @@ -501,7 +501,6 @@ module SiSU_HarvestTopics        @alphabet_list=%W[9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]        @alph=@alphabet_list.dup        @letter=@alph.shift -      @vz=SiSU_Viz::Defaults.new      end      def html_file_open        @the_idx.keys.each do |lng| @@ -745,7 +744,7 @@ WOK  <a name="finish" id="finish"></a>  <a name="stop" id="stop"></a>  <a name="credits"></a> -#{@vz.credits_sisu} +#{SiSU_Proj_HTML::Bits.new.credits_sisu}  </body>  </html>  WOK diff --git a/lib/sisu/v5/html_lite_shared.rb b/lib/sisu/v5/html_lite_shared.rb index 35eb130e..fa1cc481 100644 --- a/lib/sisu/v5/html_lite_shared.rb +++ b/lib/sisu/v5/html_lite_shared.rb @@ -59,11 +59,10 @@  =end  module SiSU_FormatShared -  require_relative 'defaults'                           # defaults.rb -    include SiSU_Viz +  require_relative 'html_parts'                         # html_parts.rb    class CSS_Format -    require_relative 'defaults'                         # defaults.rb      require_relative 'se_hub_particulars'               # se_hub_particulars.rb +    include SiSU_Parts_HTML      @@fns=nil      def initialize(md,t_o)        @md,@t_o=md,t_o @@ -79,10 +78,8 @@ module SiSU_FormatShared        else @@hname        end        @tab="\t" -      @brace_url=SiSU_Viz::Defaults.new.url_decoration        @ocn_html_identifier=SiSU_Env::ProcessingSettings.new(@md).ocn_html_identifier        @@tablehead,@@tablefoot=[],[] -      @vz=SiSU_Viz::Defaults.new        @env=SiSU_Env::InfoEnv.new(@md.fns)        @base_url="#{@env.url.root}/#{@md.fnb}/#{@hname}.html"      end @@ -172,7 +169,7 @@ module SiSU_FormatShared            gsub(/#{Mx[:gl_o]}#([a-z]{2,4})#{Mx[:gl_c]}/u,'&\1;').            gsub(/#{Mx[:url_o]}[_\\](\S+?)#{Mx[:url_c]}/,'<a href="\1" target="_top">\1</a>'). #http ftp matches escaped, no decoration            gsub(/(#{Mx[:lnk_c]})#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'\1<a href="\2" target="_top">\2</a>'). #special case \{ e.g. \}http://url -          gsub(/(^|#{Mx[:gl_c]}|\s)#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,%{\\1#{@brace_url.xml_open}<a href="\\2" target="_top">\\2</a>#{@brace_url.xml_close}\\3}) #http ftp matches with decoration +          gsub(/(^|#{Mx[:gl_c]}|\s)#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,%{\\1#{the_url_decoration.xml_open}<a href="\\2" target="_top">\\2</a>#{the_url_decoration.xml_close}\\3}) #http ftp matches with decoration        else          s.gsub(/</m,'<').            gsub(/>/m,'>') @@ -190,7 +187,7 @@ module SiSU_FormatShared          gsub(/#{Mx[:gl_o]}#([a-z]{2,4})#{Mx[:gl_c]}/u,'&\1;').          gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'<a href="\1" target="_top">\1</a>\2'). #http ftp matches escaped, no decoration          gsub(/(#{Mx[:lnk_c]})#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'\1<a href="\2" target="_top">\2</a>'). #special case \{ e.g. \}http://url -        gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,%{#{@brace_url.xml_open}<a href="\\1" target="_top">\\1</a>#{@brace_url.xml_close}}) #http ftp matches with decoration +        gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,%{#{the_url_decoration.xml_open}<a href="\\1" target="_top">\\1</a>#{the_url_decoration.xml_close}}) #http ftp matches with decoration      end      def paragraph        %{<p class="h#{@lv}" type="substantive" header="#{@hname}">#{@txt}</p>\n} # << "\n" @@ -252,7 +249,7 @@ GSUB        tag_para(h)      end      def para_table -      %{<p class="norm" align="left"><font #{@vz.font_small} #{@vz.font_color} #{@vz.font_face}>} +      %{<p class="norm" align="left"><font #{the_font.set_small} #{the_font.set_color} #{the_font.set_face}>}      end      def ocn        %{<label class="ocn">#{@ocn}</label>} << "\n" @@ -271,7 +268,7 @@ GSUB            @@tablefoot.each {|x| tablefoot << %{<p align="center"><font size=2><i>#{x}</i></font></p>\n}}            @@tablefoot=[]            parablock=parablock.gsub(/#{Mx[:gr_o]}TZ#{Mx[:gr_c]}/, -            %{#{@vz.table_close}\n}) # + +            %{#{the_table_close}\n}) # +          end          if @@tablehead==1            if parablock =~/#{Mx[:tc_p]}#{Mx[:tc_p]}/u diff --git a/lib/sisu/v5/html_manifest.rb b/lib/sisu/v5/html_manifest.rb index de629d61..02368111 100644 --- a/lib/sisu/v5/html_manifest.rb +++ b/lib/sisu/v5/html_manifest.rb @@ -63,13 +63,13 @@ module SiSU_Manifest    require_relative 'prog_text_translation'              # prog_text_translation.rb    require_relative 'se_hub_particulars'                 # se_hub_particulars.rb      include SiSU_Particulars +  require_relative 'html_parts'                         # html_parts.rb    require_relative 'html_minitoc'                       # html_minitoc.rb    require_relative 'html'                               # html.rb      include SiSU_HTML_Format    require_relative 'dp'                                 # dp.rb      include SiSU_Param    require_relative 'i18n'                               # i18n.rb -  include SiSU_Viz    class Source      def initialize(opt)        @opt=opt @@ -123,6 +123,7 @@ module SiSU_Manifest      end      private      class Output <Source +      include SiSU_Parts_HTML        def initialize(md)          @manifest={ txt: [], html: [] }          @md,@fns=md,md.fns @@ -140,7 +141,6 @@ module SiSU_Manifest          l=SiSU_Env::StandardiseLanguage.new(md.opt.lng).language          @language=l[:n]          @translate=SiSU_Translate::Source.new(md,@language) -        @brace_url=SiSU_Viz::Defaults.new.url_decoration          @stylesheet=SiSU_Style::CSS_HeadInfo.new(md).stylesheet          @fn_lng=(@f.output_dir_structure.by_language_code?) \          ? '' @@ -158,9 +158,9 @@ module SiSU_Manifest          if @o_str.dump_or_redirect?            ''          elsif src==:src #check -          %{<br>#{@brace_url.xml_open}<a href="#{url}/#{file}">#{url}/#{file}</a>#{@brace_url.xml_close}} +          %{<br>#{the_url_decoration.xml_open}<a href="#{url}/#{file}">#{url}/#{file}</a>#{the_url_decoration.xml_close}}          else -          %{<p class="tiny">#{@brace_url.xml_open}<a href="#{url}/#{file}">#{url}/#{file}</a>#{@brace_url.xml_close}</p>} +          %{<p class="tiny">#{the_url_decoration.xml_open}<a href="#{url}/#{file}">#{url}/#{file}</a>#{the_url_decoration.xml_close}</p>}          end        end        def summarize(id,file,pth='',rel='',url='',img='● ') @@ -261,7 +261,7 @@ module SiSU_Manifest        def published_languages(id)          published_manifests?.each do |l|            @manifest[:txt] << "#{l[:mu]} #{l[:l]}\n" -          @manifest[:html] << %{<tr><th class="left"><p class="bold"><a href="#{l[:mu]}">#{l[:l]}</a></p></th><td><p class="norm">#{l[:l]}</p><p class="tiny">#{@brace_url.xml_open}<a href="#{l[:mu]}">#{l[:mu]}</a>#{@brace_url.xml_close}</p></td><td class="right"><p class="right"> </p></td></tr>\n} +          @manifest[:html] << %{<tr><th class="left"><p class="bold"><a href="#{l[:mu]}">#{l[:l]}</a></p></th><td><p class="norm">#{l[:l]}</p><p class="tiny">#{the_url_decoration.xml_open}<a href="#{l[:mu]}">#{l[:mu]}</a>#{the_url_decoration.xml_close}</p></td><td class="right"><p class="right"> </p></td></tr>\n}          end        end        def metadata(id,info) @@ -273,7 +273,7 @@ module SiSU_Manifest          elsif url =~/^\.\.\//   then url.gsub(/^\.(\.)?/,@env.url.root)          else                         url          end -        @manifest[:html] << %{<tr><th class="right" width=5%><p class="norm">●</p></th><td class="left"><p class="norm"><a href="#{url}">#{lnk}</a></p><p class="tiny">  #{@brace_url.xml_open}<a href="#{static}">#{static}</a>#{@brace_url.xml_close}</p></td></tr>\n} +        @manifest[:html] << %{<tr><th class="right" width=5%><p class="norm">●</p></th><td class="left"><p class="norm"><a href="#{url}">#{lnk}</a></p><p class="tiny">  #{the_url_decoration.xml_open}<a href="#{static}">#{static}</a>#{the_url_decoration.xml_close}</p></td></tr>\n}        end        def output_tests          if FileTest.file?(@f.place_file.html_segtoc.dir)==true @@ -885,7 +885,6 @@ WOK          begin            make=SiSU_Env::ProcessingSettings.new(@md)            minitoc=SiSU_HTML_MiniToc::TocMini.new(@md,data).songsheet.join("\n") -          vz=SiSU_Viz::Defaults.new            format_head_toc=SiSU_HTML_Format::HeadToc.new(@md)            @manifest[:html] <<<<WOK  <!DOCTYPE html> @@ -1010,7 +1009,7 @@ WOK  </div>  <div>  <br> -#{vz.credits_sisu_manifest} +#{SiSU_Proj_HTML::Bits.new.credits_sisu_manifest}  </div>  </body>  </html> diff --git a/lib/sisu/v5/html_parts.rb b/lib/sisu/v5/html_parts.rb new file mode 100644 index 00000000..6f3468d0 --- /dev/null +++ b/lib/sisu/v5/html_parts.rb @@ -0,0 +1,440 @@ +# encoding: utf-8 +=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, 2008, 2009, 2010, 2011, 2012, 2013, 2014 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 + + * 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/v5/html_parts.rb;hb=HEAD> + + * Ralph Amissah +   <ralph@amissah.com> +   <ralph.amissah@gmail.com> + + ** Description: shared html parts + +=end +module SiSU_Parts_HTML +  require_relative 'generic_parts'                       # generic_parts.rb +  include SiSU_Parts_Generic +  def the_line_break +    '<br>' +  end +  def the_table_close +    '</td></tr> +</table>' +  end +  def the_table_cellpad_box +    '"20"' +  end +  def the_color +    def white +      '#ffffff' +    end +    def black +      '#000000' +    end +    def grey_pale +      '#eeeeee' +    end +    def grey_medium +      '#cccccc' +    end +    def grey +      '#999999' +    end +    def blue_ink +      '#003399' +    end +    def blue_tinge +      '#e3ecef' +    end +    def yellow_light +      '#fff3b6' +    end +    def table1 +      'ffffcc' +    end +    def table2 +      'c0d0f0' +    end +    def band1 +      %{"#{white}"} +    end +    def band2 +      %{"#{white}"} +    end +    self +  end +  def the_url_decoration +    #def tex_open                     #'{\UseTextSymbol{OML}{<}}' +    #  Dx[:url_o] +    #end +    #def tex_close                    #'{\UseTextSymbol{OML}{>}}' +    #  Dx[:url_c] +    #end +    def xml_open                     #'<' +      Dx[:url_o] +    end +    def xml_close                    #'>' +      Dx[:url_c] +    end +    def txt_open +      '<' +    end +    def txt_close +      '>' +    end +    self +  end +  def the_width +    def table1 +      '"100%"' +    end +    def table2 +      '"99%"' +    end +    def table_txt +      '"94%"' +    end +    def table_txt_r +      '"96%"' +    end +    self +  end +  def the_png +    def _url_path_image_base #used for html image display +      "#{Xx[:html_relative2]}_sisu/image" +    end +    def ico +      %{  <link rel="shortcut icon" href="../_sisu/image/#{the_icon.i_ico}" />} +    end +    def png_home +      %{<img border="0" src="#{_url_path_image_base}/#{the_icon.home_button}" alt="#{the_text.home} -->" />} +    end +    def png_home_button +      rel=@dir.path_rel_links.html_scroll_2 +      %{<img border="0" src="#{rel}/#{the_icon.home_button}" alt="#{the_text.home} -->" />} +    end +    self +  end +  def the_font +    def set_fonts +      'verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman' +     #'verdana, arial, georgia, tahoma, sans-serif, helvetica, "times new roman", times, roman' +    end +    def set_face +      %{face="#{set_fonts}"} +    end +    def set_color +      'color="#000000"' +    end +    def set_size_endnote +      'size="3"' +    end +    def set_small +      'size="3"' +    end +    def set_tiny +      'size="2"' +    end +    def paragraph_font_tiny +      %{<font #{set_tiny} #{set_face}>} +    end +    def paragraph_font_small +      %{<font #{set_small} #{set_face}>} +    end +    self +  end +  def the_nav +    def txt_homepage +      %{  <font face="#{the_font.set_fonts}" size="2"> +     home  +  </font> } +    end +    def txt_toc_link +      %{  <font face="#{the_font.set_fonts}" size="2"> +      toc  +  </font> } +    end +    def txt_doc_link +      %{  <font face="#{the_font.set_fonts}" size="2"> +     scroll  +  </font> } +    end +    def txt_manifest +      #{png_manifest} document manifest +      %{  <font face="#{the_font.set_fonts}" size="2"> +    [ document manifest ] +  </font> } +    end +    def txt_concordance +      %{  <font face="#{the_font.set_fonts}" size="2"> +      A-Z  +  </font> } +    end +    self +  end +  def the_banner +    def home_button_only +      %{<a href="#{url.site}/"> +  #{the_png.png_home_button} +  </a>} +    end +    def banner_band +      %{<table summary="home button" width="100%" border="0" cellpadding="3" align="center"> +<tr><td align="left" valign="middle"> +  <a href="#{url.site}/" target="_top"> +    #{the_png.png_home} +  </a> +</td> +<td width="90%"> +#{the_table_close}} +    end +    def instrument_cover_band_scr +      '<table summary="scroll instrument cover band" width="100%" border="0" cellpadding="8" align="center"> +<tr><td align="center">' +    end +    def instrument_cover_band_seg +      '<table summary="segment instrument cover band, title, author, location" width="100%" border="0" cellpadding="8" align="center"> +<tr><td align="center">' +    end +    self +  end +  def the_margin +    def txt_0 +      %{<table summary="" width=#{the_width.table_txt} border="0" cellpadding="2" align="center"> +<tr><td width=#{indent_level_0} align="right"> +</td><td valign="top" align="justify">} +    end +    def txt_1 +      %{<table summary="" width=#{the_width.table_txt} border="0" cellpadding="2" align="center"> +<tr><td width=#{indent_level_1} align="right"></td><td valign="top" align="justify">} +    end +    def txt_2 +      %{<table summary="" width=#{the_width.table_txt} border="0" cellpadding="2" align="center"> +<tr><td width=#{indent_level_2} align="right"> +</td> +<td valign="top" align="justify">} +    end +    def txt_3 +      %{<table summary="" width=#{the_width.table_txt} border="0" cellpadding="2" align="center"> +<tr><td width=#{indent_level_3} align="right"> +</td> +<td valign="top" align="justify">} +    end +    def css +      '<table summary="normal text css" width="100%" border="0" cellpadding="2" align="center"> +<tr><td valign="top" align="justify"> ' +    end +    def num +      '</p> </td><td width="4%" align="right" valign="top">' +    end +    def numless +      '</td><td width="4%" align="right" valign="top">' +    end +    def num_css +      '</td> +<td width="2%" align="right" valign="top">  ' +    end +    self +  end +end +module SiSU_Proj_HTML +  require_relative 'se'                                 # se.rb +  include SiSU_Env +  #require_relative 'css'                                # css.rb +  #  include SiSU_Style +  class Bits +    include SiSU_Parts_HTML +    def initialize +      @v=SiSU_Env::InfoVersion.instance.get_version +      #@dir=SiSU_Env::InfoEnv.new +      #@date=SiSU_Env::InfoDate.new #{@date.year} +    end +    def txt_generator +      %{  <meta name="generator" content="#{@v[:project]} #{@v[:version]} of #{@v[:date_stamp]} (#{@v[:date]}) (n*x and Ruby!)" /> +    <link rel="generator" href="http://www.sisudoc.org/" />} +    end +    def widget_sisu_text +<<WOK +  <p class="tiny"><font color="#666666" size="2"> +    Output generated by +    <a href="#{the_url.sisu}"> +      #{@v[:project]} +    </a> +    #{@v[:version]} #{@v[:date]} (#{@v[:date_stamp]}) +  </font></p> +WOK +    end +    def credits_sisu_manifest +      widget_sisu_text +    end +    def widget_sisu +<<WOK +<!-- widget sisu --> +<tr><td valign="top" width="100%"> +<!-- SiSU Rights --> +#{widget_sisu_text} +</td></tr> +WOK +    end +    def credits_sisu +      %{<div class="substance"> +<table summary="SiSU summary" cellpadding="4" border="0"> +<tr><td> +  #{widget_sisu} +</table></div>} +      '' +    end +    def widget_promo # Array used to build promo from list.yml and promo.yml +    #  ['sisu_icon','sisu','sisu_search_libre','open_society','fsf','ruby'] +    end +  end +  class Home +    def initialize +      @v=SiSU_Env::InfoVersion.instance.get_version +      @dir=SiSU_Env::InfoEnv.new +      @date=SiSU_Env::InfoDate.new #{@date.year} +    end +    def redirect +      <<WOK +<html><head> +<title>SiSU</title> +<meta http-equiv="refresh" content="0, url=http://www.sisudoc.org/sisu/SiSU/"> +</head> +<body> +SiSU informtion provided at <a href="http://www.sisudoc.org/sisu/SiSU/">www.sisudoc.org/sisu/SiSU</a><p /> +If your browser supports redirection, you will be escorted there shortly. +</body> +</html> +WOK +    end +    def homepage +      <<WOK +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> +<title>SiSU information Structuring Universe - Structured information, Serialized Units - software for electronic texts, documents, books, digital libraries in plaintext, HTML, EPUB, XHTML, XML, ODF (OpenDocument), LaTeX, PDF, SQL (PostgreSQL and SQLite), and for search</title> +<meta name="dc.title" content="SiSU - SiSU information Structuring Universe, Structured information Serialised Units, #{@date.year_static}" /> +<meta name="dc.creator" content="Ralph Amissah" /> +<meta name="dc.subject" content= "document structuring, ebook, publishing, PDF, LaTeX, XML, ODF, EPUB, SQL, postgresql, sqlite, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, granular search, digital library" /> +<meta name="dc.publisher" content= "SiSU http://www.sisudoc.org/" /> +<meta name="dc.language" content="en" /> +<meta name="dc.rights" content="Copyright Ralph Amissah" /> +<meta name="generator" content="#{@v[:project]} #{@v[:version]} of #{@v[:date_stamp]} (#{@v[:date]}) (n*x and Ruby!)" /> +<link rel="generator" href="http://www.sisudoc.org/" /> +<link rel="stylesheet" href="./#{@dir.path.style}/harvest.css" type="text/css" /> +<link rel="shortcut icon" href="./_sisu/image/rb7.ico" /> +</head> + +<body lang="en" xml:lang="en"> +<a name="top" id="top"></a> +<a name="up" id="up"></a> +<a name="start" id="start"></a> + +<h1>SiSU</h1> +<p> +[<a href="http://sisudoc.org/sisu_manual/en/html/sisu/toc.html">Manual</a>] +</p> +<p> +[<a href="http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary">Source</a>] +[<a href="http://lists.sisudoc.org/listinfo/sisu">List Info (sisu@lists.sisudoc.org)</a>] +</p> + +<h1>SiSU Markup Samples</h1> +<p> +[<a href="http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=summary">Source</a>] +[<a href="http://sisudoc.org/sisu_markup_samples.html">Output</a>] +</p> + +<hr /> + +<h2 class="top_band_tiny"> +  Structured information, Serialized Units +     +  <a href="http://www.sisudoc.org" target="_top"> +    <www.sisudoc.org> +  </a> +    or   +  <a href="http://www.jus.uio.no/sisu/" target="_top"> +    <www.jus.uio.no/sisu/> +  </a> +software for electronic texts, document collections, books, digital libraries & search, with "atomic search" & text locating system (shared object citation numbering: "<i>ocn</i>"). +Outputs include: plaintext, HTML, EPUB, ODT (OpenDocumentText), (XHTML, XML,) LaTeX, PDF, SQL (PostgreSQL and SQLite). +</h2> +<p class="small"> +<a href="mailto:sisu@lists.sisudoc.org"> +<sisu@lists.sisudoc.org> +</a> +<a href="http://lists.sisudoc.org/listinfo/sisu"> +<http://lists.sisudoc.org/listinfo/sisu> +</a> +</p> +<p class="small"> +<a href="mailto:ralph@amissah.com"> +<ralph@amissah.com> +</a> +<a href="mailto:ralph.amissah@gmail.com"> +<ralph.amissah@gmail.com> +</a> +</p> +<p class="tiny"> +#{@v[:project]} #{@v[:version]} of #{@v[:date_stamp]} (#{@v[:date]}) (n*x and Ruby!), #{@date.year_static}. +</p> +<p class="tiny"> +w3 since October 3 1993. +</p> +</body> +</html> +WOK +    end +    def home_toc +      ' ' +    end +  end +end +__END__ diff --git a/lib/sisu/v5/html_promo.rb b/lib/sisu/v5/html_promo.rb index 1f2b0388..a2d3ecf3 100644 --- a/lib/sisu/v5/html_promo.rb +++ b/lib/sisu/v5/html_promo.rb @@ -66,7 +66,6 @@ module SiSU_HTML_Promo        @env=SiSU_Env::InfoEnv.new(@md.fns,@md)        @rc=SiSU_Env::GetInit.new.sisu_yaml.rc        @ad=SiSU_Env::GetInit.new.ads -      @vz=SiSU_Viz::Defaults.new        @flag=@env.widget.promo?        @make=SiSU_Env::ProcessingSettings.new(@md)      end @@ -97,8 +96,6 @@ module SiSU_HTML_Promo        && @flag[:ad]          ads=if @md.promo && @md.promo.length > 0           #promo set in document            promo_array=@md.promo -        elsif @flag[:sk]                                   #promo set -          promo_array=@vz.widget_promo          elsif @flag[:rc]                                   #promo set in rc file            promo_array=if @rc['html']['promo'].is_a?(String)              @rc['html']['promo'].split(/[,;]\s*/) diff --git a/lib/sisu/v5/html_scroll.rb b/lib/sisu/v5/html_scroll.rb index 1b632f56..94dac502 100644 --- a/lib/sisu/v5/html_scroll.rb +++ b/lib/sisu/v5/html_scroll.rb @@ -65,7 +65,6 @@ module SiSU_HTML_Scroll    class Scroll      def initialize(md='',data='',endnotes='')        @md,@data,@endnotes=md,data,endnotes -      @vz=SiSU_Viz::Defaults.new      end      def songsheet        begin diff --git a/lib/sisu/v5/html_segments.rb b/lib/sisu/v5/html_segments.rb index 4054e6fc..60cd51f1 100644 --- a/lib/sisu/v5/html_segments.rb +++ b/lib/sisu/v5/html_segments.rb @@ -200,7 +200,6 @@ module SiSU_HTML_Seg      attr_reader :seg_name_html,:seg_name_html_tracker      def initialize(md=nil,data='')        @md,@data=md,data -      @vz=SiSU_Viz::Defaults.new        @seg_name_html=@@seg_name_html || nil        @seg_name_html_tracker=@@tracker || nil        @env=SiSU_Env::InfoEnv.new(@md.fns) if @md @@ -575,19 +574,17 @@ module SiSU_HTML_Seg          if @md.flag_separate_endnotes            dob.obj=dob.obj.gsub(/"\s+href="#(#{Mx[:note]}\d+)">/,%{" href=\"endnotes#{Sfx[:html]}#\\1">})       #endnote- twice #removed file type          end -        if dob.obj !~/#{@vz.margin_txt_w1}|#{@vz.margin_txt_w2}/ -          if (dob.is==:heading \ -          || dob.is==:heading_insert \ -          || dob.is==:para) \ -          && (not dob.ocn \ -          || (dob.ocn.to_s.empty?)) -            format_seg=SiSU_HTML_Format::FormatSeg.new(@md,dob) -          end -          dob.obj=dob.obj.gsub(/\s*(-\{{2}~\d+|<:e[:_]\d+>).*/,'')                   #potentially dagerous - removes all paragraphs with <!e_!> #?? workpoint -          if dob.obj =~/<a name="_\d+" href="#-\d+"> <sup>/                #endnote- note- -            format_seg=SiSU_HTML_Format::FormatSeg.new(@md,dob) -            dob=format_seg.no_paranum -          end +        if (dob.is==:heading \ +        || dob.is==:heading_insert \ +        || dob.is==:para) \ +        && (not dob.ocn \ +        || (dob.ocn.to_s.empty?)) +          format_seg=SiSU_HTML_Format::FormatSeg.new(@md,dob) +        end +        dob.obj=dob.obj.gsub(/\s*(-\{{2}~\d+|<:e[:_]\d+>).*/,'')                   #potentially dagerous - removes all paragraphs with <!e_!> #?? workpoint +        if dob.obj =~/<a name="_\d+" href="#-\d+"> <sup>/                #endnote- note- +          format_seg=SiSU_HTML_Format::FormatSeg.new(@md,dob) +          dob=format_seg.no_paranum          end          if (dob.is==:heading \          || dob.is==:heading_insert) \ diff --git a/lib/sisu/v5/html_shared.rb b/lib/sisu/v5/html_shared.rb index 3b6b9dfd..04617e74 100644 --- a/lib/sisu/v5/html_shared.rb +++ b/lib/sisu/v5/html_shared.rb @@ -58,7 +58,6 @@  =end  module SiSU_HTML_Shared -  require_relative 'defaults'                           # defaults.rb    require_relative 'html_table'                         # html_table.rb    class TableHTML < SiSU_HTML_Table::TableHTML    end diff --git a/lib/sisu/v5/html_table.rb b/lib/sisu/v5/html_table.rb index 497f7c4e..f29256a7 100644 --- a/lib/sisu/v5/html_table.rb +++ b/lib/sisu/v5/html_table.rb @@ -58,9 +58,10 @@  =end  module SiSU_HTML_Table -  require_relative 'defaults'                           # defaults.rb -  require_relative 'xhtml_table.rb'                     # xhtml_table.rb -  class TableHTML <SiSU_XHTML_Table::TableXHTML +  require_relative 'xhtml_table'                         # xhtml_table.rb +  require_relative 'html_parts'                          # html_parts.rb +  class TableHTML < SiSU_XHTML_Table::TableXHTML +    include SiSU_Parts_HTML    end  end  __END__ diff --git a/lib/sisu/v5/html_tune.rb b/lib/sisu/v5/html_tune.rb index 292087e5..7cd2a920 100644 --- a/lib/sisu/v5/html_tune.rb +++ b/lib/sisu/v5/html_tune.rb @@ -61,6 +61,7 @@ require_relative 'dp'                                   # dp.rb  module SiSU_HTML_Tune    require_relative 'se'                                 # se.rb      include SiSU_Env; include SiSU_Screen +  require_relative 'html_parts'                         # html_parts.rb    require_relative 'html_format'                        # html_format.rb #watch    @@line_mode=''    @@endnote_array=[] @@ -123,12 +124,11 @@ module SiSU_HTML_Tune      end    end    class Tune +    include SiSU_Parts_HTML      def initialize(data,md)        @data,@md=data,md -      @vz=SiSU_Viz::Defaults.new        @sys=SiSU_Env::SystemCall.new        @env=SiSU_Env::InfoEnv.new(@md.fns,@md) -      @brace_url=SiSU_Viz::Defaults.new.url_decoration      end      def songsheet        begin @@ -230,13 +230,13 @@ module SiSU_HTML_Tune            dob.obj=dob.obj.gsub(/\<:ad\s+(\S+)?\s+(\S+\.png)\s+(.+)?\;\s+(.+)?\;\s*\>/,              %{\n<center><a href="\\1" target="_top"><img src="#{@env.url.images_local}/\\2" alt="\\3"></a></center>\n})          end -        dob.obj=dob.obj.gsub(/!pick/,%{<img border="0" height="15" width="15" src="#{@env.url.images}/#{@vz.icon_choice}" alt="stellar">}). -          gsub(/!new/,%{ <img border="0" height="15" width="15" src="#{@env.url.images}/#{@vz.icon_new}" alt="new">}). +        dob.obj=dob.obj.gsub(/!pick/,%{<img border="0" height="15" width="15" src="#{@env.url.images}/#{the_icon.i_choice}" alt="stellar">}). +          gsub(/!new/,%{ <img border="0" height="15" width="15" src="#{@env.url.images}/#{the_icon.i_new}" alt="new">}).            gsub(/<:h(.{1,7}?)>/,'<a href="#h\1">\1</a>').            gsub(/<:to(\d{1,7}?)>/,'<a href="#to\1">to { \1 }</a> ').            gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'<a href="\1" target="_top">\1</a>'). #http ftp matches escaped, no decoration -          gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,%{#{@brace_url.xml_open}<a href="mailto:\\1">\\1</a>#{@brace_url.xml_close}}). -          gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,%{#{@brace_url.xml_open}<a href="\\1" target="_top">\\1</a>#{@brace_url.xml_close}}) #http ftp matches with decoration +          gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,%{#{the_url_decoration.xml_open}<a href="mailto:\\1">\\1</a>#{the_url_decoration.xml_close}}). +          gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,%{#{the_url_decoration.xml_open}<a href="\\1" target="_top">\\1</a>#{the_url_decoration.xml_close}}) #http ftp matches with decoration          if dob.obj =~/#{Xx[:html_relative2]}\/\S+/ \          and dob.obj !~/(\"#{Xx[:html_relative2]}\/\S+?\"|>\s*#{Xx[:html_relative2]}\/\S+<)/            dob.obj=dob.obj.gsub(/(#{Xx[:html_relative2]}\/\S+)/,'<a href="\1">\1</a>') @@ -245,9 +245,9 @@ module SiSU_HTML_Tune          and dob.obj !~/(\"..\/\S+?\"|>\s*..\/\S+<)/            dob.obj=dob.obj.gsub(/\.\.(\/\S+)/,%{<a href="#{Xx[:html_relative2]}\1">\1</a>})          end -        dob.obj=dob.obj.gsub(/<a href=":/,%{<a href="#{@vz.url_site}/}). -          gsub(/<a href="\.\.\//,%{<a href="#{@vz.url_site}/}). -          gsub(/<a href="#{Xx[:html_relative2]}\//,%{<a href="#{@vz.url_site}/}) +        dob.obj=dob.obj.gsub(/<a href=":/,%{<a href="#{the_url.site}/}). +          gsub(/<a href="\.\.\//,%{<a href="#{the_url.site}/}). +          gsub(/<a href="#{Xx[:html_relative2]}\//,%{<a href="#{the_url.site}/})        else          dob.obj=dob.obj.gsub(/</m,'<').gsub(/>/m,'>')        end diff --git a/lib/sisu/v5/hub.rb b/lib/sisu/v5/hub.rb index 70a4e360..a4751e40 100644 --- a/lib/sisu/v5/hub.rb +++ b/lib/sisu/v5/hub.rb @@ -68,8 +68,6 @@ module SiSU    require_relative 'hub_options'                       # hub_options.rb    require_relative 'dp'                                # dp.rb      include SiSU_Param -  require_relative 'defaults'                          # defaults.rb -    include SiSU_Viz    require_relative 'utils'                             # utils.rb    begin      require 'uri' diff --git a/lib/sisu/v5/hub_loop_markup_files.rb b/lib/sisu/v5/hub_loop_markup_files.rb index 70127915..165fdc93 100644 --- a/lib/sisu/v5/hub_loop_markup_files.rb +++ b/lib/sisu/v5/hub_loop_markup_files.rb @@ -67,8 +67,6 @@ module SiSU_Hub_Loops    require_relative 'hub_options'                       # hub_options.rb    require_relative 'dp'                                # dp.rb      include SiSU_Param -  require_relative 'defaults'                          # defaults.rb -    include SiSU_Viz    require_relative 'utils'                             # utils.rb    begin      require 'uri' diff --git a/lib/sisu/v5/manpage.rb b/lib/sisu/v5/manpage.rb index a42c7dfe..1dff0bde 100644 --- a/lib/sisu/v5/manpage.rb +++ b/lib/sisu/v5/manpage.rb @@ -63,10 +63,10 @@ module SiSU_Manpage    require_relative 'se'                                 # se.rb      include SiSU_Env    include SiSU_Param -  include SiSU_Viz    require_relative 'manpage_format'                     # manpage_format.rb      include SiSU_ManpageFormat    require_relative 'shared_metadata'                    # shared_metadata.rb +  require_relative 'generic_parts'                      # generic_parts.rb    require_relative 'txt_shared'                         # txt_shared.rb    @@alt_id_count,@@alt_id_count,@@tablehead,@@number_of_cols=0,0,0,0    @@tablefoot='' @@ -122,14 +122,11 @@ module SiSU_Manpage      end      private      class Scroll <Source -      require_relative 'defaults'                       # defaults.rb -      require_relative 'txt_shared'                     # txt_shared.rb -        include SiSU_TextUtils +      include SiSU_Parts_Generic +      include SiSU_TextUtils        @@endnotes={ para: [], end: [] }        def initialize(md,data)          @md,@data=md,data -        @brace_url=SiSU_Viz::Defaults.new.url_decoration -        @vz=SiSU_Viz::Defaults.new          @tab="\t"          @@notes=:end          @manpage={ body: [], open: [], close: [], head: [], metadata: [], tail: [], endnotes: [] } @@ -300,9 +297,9 @@ WOK                "\n.I \\1\\2#{Mx[:br_line]}")            unless dob.is==:code              dob.obj=dob.obj.gsub(/(?:^|\s)#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}([,.:!?](?: |$))?/, -                "\\1 #{@brace_url.txt_open}\\2#{@brace_url.txt_close}\\3"). +                "\\1 #{the_text.url_open}\\2#{the_text.url_close}\\3").                gsub(/(^|#{Mx[:gl_c]}|\s)#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}([,.:!?](?: |$))?/, -                "\\1#{@brace_url.txt_open}\\2#{@brace_url.txt_close}\\3") +                "\\1#{the_text.url_open}\\2#{the_text.url_close}\\3")              @manpage[:endnotes]=extract_endnotes(dob)              dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}([\d*+]+)\s*(?:.+?)#{Mx[:en_a_c]}/m,'[^\1]'). # endnote marker marked up                gsub(/#{Mx[:en_b_o]}([\d*+]+)\s*(?:.+?)#{Mx[:en_b_c]}/m,'[^\1]'). # endnote marker marked up diff --git a/lib/sisu/v5/manpage_format.rb b/lib/sisu/v5/manpage_format.rb index d255d133..98f37f67 100644 --- a/lib/sisu/v5/manpage_format.rb +++ b/lib/sisu/v5/manpage_format.rb @@ -60,7 +60,6 @@  module SiSU_ManpageFormat    require_relative 'dp'                                 # dp.rb      include SiSU_Param -  include SiSU_Viz    class ParagraphNumber      def initialize(paranum)        @paranum=/(\d+)/m.match(paranum)[1] @@ -80,7 +79,6 @@ module SiSU_ManpageFormat        @md,@dob=md,dob        rgx=/#{Mx[:en_a_o]}[\d*+]+\s+(.+?)#{Mx[:en_a_c]}/        @dob.obj.gsub!(rgx,'\1') if @dob.obj =~rgx -      @vz=SiSU_Viz::Defaults.new      end      def scr_endnote_body        "<endnote>#{@dob.obj}</endnote> " diff --git a/lib/sisu/v5/po4a.rb b/lib/sisu/v5/po4a.rb index 7b7e2665..03cf14f7 100644 --- a/lib/sisu/v5/po4a.rb +++ b/lib/sisu/v5/po4a.rb @@ -66,7 +66,6 @@ module SiSU_Po4a    require_relative 'shared_metadata'                    # shared_metadata.rb    require_relative 'po4a_set'                           # po4a_set.rb    include SiSU_Param -  include SiSU_Viz    class Source      @@opt_src,@@opt_trn,@@opt_src_,@@opt_trn_,@@md_src,@@md_trn=nil,nil,nil,nil,nil,nil      def initialize(opt,fn=nil) @@ -172,8 +171,6 @@ module SiSU_Po4a      end      private      class Scroll <Source -      require_relative 'defaults'                       # defaults.rb -      require_relative 'po4a_set'                       # po4a_set.rb        include SiSU_Po4aUtils        @@endnotes={ para: [], end: [] }        def initialize(fn,data_src,data_trn,md_src,md_trn,wrap_width) @@ -181,8 +178,6 @@ module SiSU_Po4a          @md=(md_trn.nil?) \          ? md_src          : md_trn -        @brace_url=SiSU_Viz::Defaults.new.url_decoration -        @vz=SiSU_Viz::Defaults.new          @tab="\t"          @@endnotes_=(@md.opt.selections.str =~/--endnote/) ? true : false    # --footnote          @br=(@md.opt.selections.str =~/--dos/) ? "\r\n" : "\n"               # --unix @@ -871,7 +866,6 @@ GSUB              gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'\1 [link: <\2>]').              gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}image/,'\1 [link: local image]').              gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'\1') -          #dob.obj.gsub!(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,"#{@brace_url.txt_open}\\1#{@brace_url.txt_close}")            notes=extract_endnotes(dob)            #% ### footnotes current state - extracted            dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}([\d]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'~^').   # endnote marker marked up diff --git a/lib/sisu/v5/qrcode.rb b/lib/sisu/v5/qrcode.rb index 04d91a5e..483f4deb 100644 --- a/lib/sisu/v5/qrcode.rb +++ b/lib/sisu/v5/qrcode.rb @@ -66,8 +66,8 @@ module SiSU_QRcode    require_relative 'html'                               # html.rb    require_relative 'dp'                                 # dp.rb      include SiSU_Param +  require_relative 'generic_parts'                      # generic_parts.rb    require_relative 'i18n'                               # i18n.rb -  include SiSU_Viz    class Source      def initialize(opt)        @opt=opt @@ -116,6 +116,7 @@ module SiSU_QRcode      end      private      class OutputInfo <Source +      include SiSU_Parts_Generic        def initialize(md)          @manifest={ txt: [], txt_title: [] }          @md,@fns=md,md.fns @@ -129,7 +130,6 @@ module SiSU_QRcode          l=SiSU_Env::StandardiseLanguage.new(@md.opt.lng).language          @language=l[:n]          @translate=SiSU_Translate::Source.new(@md,@language) -        @brace_url=SiSU_Viz::Defaults.new.url_decoration          @f.make_path(@f.output_path.qrcode.dir)        end        def spaces @@ -165,7 +165,7 @@ module SiSU_QRcode          kb=/([0-9]+\.[0-9]{0,1})/m.match(size)[1]          @manifest[:txt] <<<<WOK  #{id} #{kb} -  #{@brace_url.txt_open}#{url}/#{file}#{@brace_url.txt_close} +  #{the_text.url_open}#{url}/#{file}#{the_text.url_close}  WOK        end        def summarize_html_seg(id,file,pth='',rel='',url='',img='● ') @@ -173,7 +173,7 @@ WOK          kb=/([0-9]+\.[0-9]{0,1})/m.match(size)[1]          @manifest[:txt] <<<<WOK  #{id} #{kb} -  #{@brace_url.txt_open}#{url}/#{file}#{@brace_url.txt_close} +  #{the_text.url_open}#{url}/#{file}#{the_text.url_close}  WOK        end        def summarize_sources(id,file,pth,rel,url) @@ -199,7 +199,7 @@ WOK          kb=/([0-9]+\.[0-9]{0,1})/m.match(size)[1]          @manifest[:txt] <<<<WOK  #{id} #{dgst[1]} #{kb} -  #{@brace_url.txt_open}#{url}/#{file}#{@brace_url.txt_close} +  #{the_text.url_open}#{url}/#{file}#{the_text.url_close}  WOK        end        def published_manifests? @@ -247,7 +247,7 @@ WOK        def published_languages(id,file)          flv=published_manifests?          flv.each do |l| -          @manifest[:txt] << "#{l[:l]}  #{@brace_url.txt_open}#{l[:mu]}#{@brace_url.txt_close}\n" +          @manifest[:txt] << "#{l[:l]}  #{the_text.url_open}#{l[:mu]}#{the_text.url_close}\n"          end        end        def metadata(id,info) @@ -263,7 +263,7 @@ WOK          elsif url =~/^\.\.\//   then url.gsub(/^\.(\.)?/,@env.url.root)          else                         url          end -        @manifest[:txt] << %{#{url} #{lnk} #{@brace_url.txt_open}#{static}#{@brace_url.txt_close}\n} +        @manifest[:txt] << %{#{url} #{lnk} #{the_text.url_open}#{static}#{the_text.url_close}\n}        end        def output_tests          if FileTest.file?(@f.place_file.html_segtoc.dir)==true @@ -731,11 +731,11 @@ WOK            end            @manifest[:txt] <<<<WOK  #{@translate.manifest_description_metadata} -  #{@brace_url.txt_open}#{@en_manifest}#{@brace_url.txt_close} +  #{the_text.url_open}#{@en_manifest}#{the_text.url_close}  WOK            metadata_tests            @manifest[:txt_title] <<<<WOK -  #{@brace_url.txt_open}#{@en_manifest}#{@brace_url.txt_close} +  #{the_text.url_open}#{@en_manifest}#{the_text.url_close}  WOK            source_tests            @manifest[:txt] <<<<WOK diff --git a/lib/sisu/v5/rexml.rb b/lib/sisu/v5/rexml.rb index c83d64a9..18041cf7 100644 --- a/lib/sisu/v5/rexml.rb +++ b/lib/sisu/v5/rexml.rb @@ -70,7 +70,6 @@ module SiSU_Rexml      include SiSU_Param    require_relative 'se'                                 # se.rb      include SiSU_Env -  include SiSU_Viz    class Rexml      begin        require 'rexml/document' \ diff --git a/lib/sisu/v5/se_createsite.rb b/lib/sisu/v5/se_createsite.rb index 1e5d4ef6..943cf8c5 100644 --- a/lib/sisu/v5/se_createsite.rb +++ b/lib/sisu/v5/se_createsite.rb @@ -59,6 +59,7 @@  =end  module SiSU_Create_Site    require_relative 'constants'                             # constants.rb +  require_relative 'html_parts'                            # html_parts.rb    require_relative 'utils'                                 # utils.rb    require_relative 'utils_screen_text_color'               # utils_screen_text_color.rb    require_relative 'se_info_env'                           # se_info_env.rb @@ -78,13 +79,12 @@ module SiSU_Create_Site        @init=SiSU_Env::GetInit.new        @home,@pwd=ENV['HOME'],ENV['PWD'] #@pwd=Dir.pwd        @rc=SiSU_Env::GetInit.new.sisu_yaml.rc -      @vz=SiSU_Viz::Defaults.new -      @vz_home=SiSU_Viz::Home.new +      @home_set=SiSU_Proj_HTML::Home.new      end      def create_default_sisu_homepage(action=:none)        if action==:none          puts %{  place your homepages in directory:\n    "#{@env.path.rc}/home/*.html"\n  (no action taken)} -      else +      else # turned off, unless something other than :none passed          puts %{  place your homepages in directory:\n    "#{@env.path.rc}/home/*.html"\n  (in order to replace default sisu homepage)}          filename_homepage=            @env.path.webserv + '/' \ @@ -94,8 +94,8 @@ module SiSU_Create_Site            + @env.path.base_markup_dir_stub + '/toc.html'          file_homepage=File.new(filename_homepage,'w')          file_home_toc=File.new(filename_home_toc,'w') -        file_homepage << @vz_home.homepage -        file_home_toc << @vz_home.homepage +        file_homepage << @home_set.homepage +        file_home_toc << @home_set.homepage          file_homepage.close          file_home_toc.close        end @@ -109,8 +109,7 @@ module SiSU_Create_Site            FileUtils.cp(homepage,"#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}")          end        else -        create_default_sisu_homepage(:none) -        #create_default_sisu_homepage(:default) +        create_default_sisu_homepage(:none) # :default        end      end      def cp_images(src_path,dest_path) diff --git a/lib/sisu/v5/se_get_init.rb b/lib/sisu/v5/se_get_init.rb index 04aa633c..a74e22f9 100644 --- a/lib/sisu/v5/se_get_init.rb +++ b/lib/sisu/v5/se_get_init.rb @@ -78,7 +78,8 @@ module SiSU_Get_Init          end      end      def tex -      @@tx ||=SiSU_Viz::TeX.new +      require_relative 'texpdf_parts'                        # texpdf_parts.rb +      @@tx ||=SiSU_Parts_TeXpdf::TeX.new      end      def rc_path_options        [ diff --git a/lib/sisu/v5/se_info_env.rb b/lib/sisu/v5/se_info_env.rb index bf8de180..495b7a04 100644 --- a/lib/sisu/v5/se_info_env.rb +++ b/lib/sisu/v5/se_info_env.rb @@ -60,6 +60,7 @@  @@current_document=Dir.pwd #nil #''  module SiSU_Info_Env    require_relative 'se_envcall'                            # se_envcall.rb +  require_relative 'html_parts'                            # html_parts.rb    begin      require 'singleton'      require 'fileutils' @@ -573,7 +574,7 @@ module SiSU_Info_Env      def widget #needs (md) #move        @rc=SiSU_Env::GetInit.new.sisu_yaml.rc        @ad=SiSU_Env::GetInit.new.ads -      @vz=SiSU_Viz::Defaults.new +      @html_bits=SiSU_Proj_HTML::Bits.new        @flag={          ad: false,          md: false, @@ -581,13 +582,14 @@ module SiSU_Info_Env          rc: false        }        def promo? -        @flag[:ad]=if @md.flag_promo && @ad[:flag_promo] +        @flag[:ad]=if @md.flag_promo \ +        && @ad[:flag_promo]            @flag[:md]=true            true -        elsif defined? @vz.widget_promo \ -        and not @vz.widget_promo.nil? \ -        and @vz.widget_promo.is_a?(Array) \ -        and @vz.widget_promo.length > 0 +        elsif defined? @html_bits.widget_promo \ +        and not @html_bits.widget_promo.nil? \ +        and @html_bits.widget_promo.is_a?(Array) \ +        and @html_bits.widget_promo.length > 0            @flag[:sk]=true            true          elsif defined? @rc['html']['promo'] \ @@ -610,8 +612,8 @@ module SiSU_Info_Env              and @rc['search'][type]['action'] =~/https?:\/\//                flag=if promo?[:ad]                  false -              elsif defined? @vz.widget_search \ -              and @vz.widget_search==true +              elsif defined? @html_bits.widget_search \ +              and @html_bits.widget_search==true                  true                elsif defined? @rc['search'][type]['flag'] \                and @rc['search'][type]['flag']==true @@ -636,8 +638,8 @@ module SiSU_Info_Env              and @rc['search'][type]['db'] =~/\S+/                flag=if promo?[:ad]                  false -              elsif defined? @vz.widget_search \ -              and @vz.widget_search==true +              elsif defined? @html_bits.widget_search \ +              and @html_bits.widget_search==true                  true                elsif defined? @rc['search'][type]['flag'] \                and @rc['search'][type]['flag']==true @@ -756,7 +758,7 @@ WOK      end      def widget_static        @rc=SiSU_Env::GetInit.new.sisu_yaml.rc -      @vz=SiSU_Viz::Defaults.new +      @html_bits=SiSU_Proj_HTML::Bits.new        @flag={ ad: false, md: false, sk: false, rc: false }        def search?          flag=if defined? @rc['search'] \ @@ -765,8 +767,8 @@ WOK          and @rc['search']['sisu']['action'] =~/https?:\/\// \          and defined? @rc['search']['sisu']['db'] \          and @rc['search']['sisu']['db'] =~/\S+/ -          flag=if defined? @vz.widget_search \ -          and @vz.widget_search==true +          flag=if defined? @html_bits.widget_search \ +          and @html_bits.widget_search==true              true            elsif defined? @rc['search']['sisu']['flag'] \            and @rc['search']['sisu']['flag']==true @@ -787,8 +789,8 @@ WOK          and @rc['search']['sisu']['db'] =~/\S+/ \          and defined? @rc['search']['sisu']['db'] \          and @rc['search']['sisu']['db'] =~/\S+/ -          flag=if defined? @vz.widget_search \ -          and @vz.widget_search==true +          flag=if defined? @html_bits.widget_search \ +          and @html_bits.widget_search==true              true            elsif defined? @rc['search']['sisu']['flag'] \            and @rc['search']['sisu']['flag']==true diff --git a/lib/sisu/v5/shared_metadata.rb b/lib/sisu/v5/shared_metadata.rb index 9f4f4362..17e0a4c4 100644 --- a/lib/sisu/v5/shared_metadata.rb +++ b/lib/sisu/v5/shared_metadata.rb @@ -58,8 +58,10 @@  =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 @@ -916,7 +918,6 @@ WOK      end      def odf        def meta_para -        url_brace=SiSU_Viz::Defaults.new.url_decoration          if @inf.is_a?(String)            @inf=@inf.gsub(/</,'<').gsub(/>/,'>').              gsub(/<br(?: \/)?>/,'<br />') @@ -938,13 +939,13 @@ WOK                '\1<text:a xl:type="simple" xl:href="\2">\2</text:a>') #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]}/, -              %{#{url_brace.xml_open}<text:a xl:type="simple" xl:href="\\1">\\1</text:a>#{url_brace.xml_close}}) #http ftp matches with decoration +              %{#{the_url_decoration.xml_open}<text:a xl:type="simple" xl:href="\\1">\\1</text:a>#{the_url_decoration.xml_close}}) #http ftp matches with decoration            else              @inf.gsub(/(https?:\/\/[^<>()'"\s]+)/, -              %{#{url_brace.xml_open}<text:a xl:type="simple" xl:href="\\1">\\1</text:a>#{url_brace.xml_close}}) #http ftp matches with decoration +              %{#{the_url_decoration.xml_open}<text:a xl:type="simple" xl:href="\\1">\\1</text:a>#{the_url_decoration.xml_close}}) #http ftp matches with decoration            end            @inf=@inf.gsub(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/, -            %{#{url_brace.xml_open}<text:a xl:type="simple" xl:href="mailto:\\1">\\1</text:a>#{url_brace.xml_close}}) if @inf !~/http:\/\// # improve upon, document crash where url contains '@' symbol +            %{#{the_url_decoration.xml_open}<text:a xl:type="simple" xl:href="mailto:\\1">\\1</text:a>#{the_url_decoration.xml_close}}) if @inf !~/http:\/\// # improve upon, document crash where url contains '@' symbol          end          <<WOK  <text:p text:style-name="P1">#{@tag.capitalize}: #{@inf}</text:p> diff --git a/lib/sisu/v5/sst_do_inline_footnotes.rb b/lib/sisu/v5/sst_do_inline_footnotes.rb index 41bc30f2..fab94edf 100644 --- a/lib/sisu/v5/sst_do_inline_footnotes.rb +++ b/lib/sisu/v5/sst_do_inline_footnotes.rb @@ -59,8 +59,6 @@  =end  module SiSU_ConvertFootnotes -  require_relative 'defaults'                           # defaults.rb -    include SiSU_Viz    require_relative 'se'                                 # se.rb      include SiSU_Env    require_relative 'dp'                                 # dp.rb @@ -211,7 +209,6 @@ module SiSU_ConvertFootnotes          : x        end        data=data_new.flatten -      data=SiSU_ConvertFootnotes::Make.new(@md,data).substitutions_and_insertions?        data=SiSU_ConvertFootnotes::Make.new(@md,data).character_check        data=SiSU_ConvertFootnotes::Make.new(@md,data).endnotes        SiSU_ConvertFootnotes::Output.new(@md,data).hard_output @@ -270,57 +267,6 @@ module SiSU_ConvertFootnotes        end        @tuned_file      end -    def substitutions_and_insertions? -      data=@data -      tuned_file=[] -      data.each do |para| -        if @md.markup =~/0\.16|0\.37/                   #parameters not extracted/available -          para.gsub!(/^0~\S+\s+/,'@\1: ') -          para.gsub!(/^1~/,':A~') -          para.gsub!(/^2~/,':B~') -          para.gsub!(/^3~/,':C~') -          para.gsub!(/^4~/,'1~') -          para.gsub!(/^5~/,'2~') -          para.gsub!(/^6~/,'3~') -          para.gsub!(/^7~/,'4~') -          para.gsub!(/^8~/,'5~') -          para.gsub!(/^9~/,'6~') -        end -        if para =~/<:insert\d+!?>/ \ -        and para !~/^%\s+/ -          ins=SiSU_Viz::Inserts.new -          case para -          when /^\s*<:insert1>\s*$/ -            para=[] -            ins.insert1.split(/\n\n/).each {|x| para << x } -          when /^\s*<:insert2>\s*$/ -            para=[] -            ins.insert2.split(/\n\n/).each {|x| para << x } -          when /^\s*<:insert3>\s*$/ -            para=[] -            ins.insert3.split(/\n\n/).each {|x| para << x << "\n"} -            para=ins.insert3 -          when /^\s*<:insert4>\s*$/ -            para=[] -            ins.insert4.split(/\n\n/).each {|x| para << x << "\n"} -            para=ins.insert4 -          when /^\s*<:insert5>\s*$/ -            para=[] -            ins.insert5.split(/\n\n/).each {|x| para << x << "\n"} -          when /^\s*<:insert6>\s*$/ -            para=[] -            ins.insert6.split(/\n\n/).each {|x| para << x << "\n"} -          when /^\s*<:insert7>\s*$/ -            para=[] -            ins.insert7.split(/\n\n/).each {|x| para << x << "\n"} -          end -          para.each {|x| tuned_file << x } -        else tuned_file << para -        end -        tuned_file.compact! -      end -      tuned_file -    end      def name_endnote_seg        data=@data        @tuned_file=[] diff --git a/lib/sisu/v5/sst_to_s_xml_sax.rb b/lib/sisu/v5/sst_to_s_xml_sax.rb index 5c026c05..80d6269b 100644 --- a/lib/sisu/v5/sst_to_s_xml_sax.rb +++ b/lib/sisu/v5/sst_to_s_xml_sax.rb @@ -60,8 +60,6 @@  module SiSU_SimpleXML_ModelSax    require_relative 'se_hub_particulars'                 # se_hub_particulars.rb      include SiSU_Particulars -  require_relative 'defaults'                           # defaults.rb -    include SiSU_Viz    require_relative 'dp'                                 # dp.rb      include SiSU_Param    require_relative 'se'                                 # se.rb @@ -151,7 +149,6 @@ module SiSU_SimpleXML_ModelSax        @@xml={ body: [], open: [], close: [], head: [] }        def initialize(data='',particulars='')          @data,@env,@md=data,particulars.env,particulars.md -        @vz=SiSU_Viz::Defaults.new          @regx=/^(?:#{Mx[:mk_o]}:p[bn]#{Mx[:mk_c]}\s*)?(?:#{Mx[:lv_o]}[1-9]:(\S*)#{Mx[:lv_c]})?(.+)/          @tab="\t"          if @md diff --git a/lib/sisu/v5/texinfo.rb b/lib/sisu/v5/texinfo.rb index 43ab5118..92b7241c 100644 --- a/lib/sisu/v5/texinfo.rb +++ b/lib/sisu/v5/texinfo.rb @@ -61,7 +61,6 @@ module SiSU_TexInfo    require_relative 'html'                               # html.rb    require_relative 'dp'                                 # dp.rb      include SiSU_Param -  include SiSU_Viz    #include Stamp ... needed removed arbitrarily 2005w05/1 (warnings about undefined flags)    require_relative 'texinfo_format'                     # texinfo_format.rb    include SiSU_TexInfoFormat @@ -74,13 +73,11 @@ module SiSU_TexInfo    @@tex_pattern_margin_number="\\\\marginpar.+?\s+"    class Source      include SiSU_Param -    include SiSU_Viz      include SiSU_TexInfo      def initialize(opt)        @opt=opt        @md=SiSU_Param::Parameters.new(@opt).get        @env=SiSU_Env::InfoEnv.new(@opt.fns) -      @vz=SiSU_Viz::Defaults.new      end      def directories        begin @@ -151,7 +148,6 @@ module SiSU_TexInfo      def initialize(md,data)        @md,@data=md,data        @env=SiSU_Env::InfoEnv.new(@md.fns) -      @vz=SiSU_Viz::Defaults.new        @f=SiSU_Env::FileOp.new(@md)      end      def songsheet diff --git a/lib/sisu/v5/texinfo_format.rb b/lib/sisu/v5/texinfo_format.rb index 00ee77b3..46a5ed69 100644 --- a/lib/sisu/v5/texinfo_format.rb +++ b/lib/sisu/v5/texinfo_format.rb @@ -61,7 +61,6 @@ module SiSU_TexInfoFormat    @@table_pg_break_counter=1    require_relative 'dp'                                 # dp.rb      include SiSU_Param -  include SiSU_Viz    class Texinfo      @@tex_1='\\\\~' #?? debug      @@tabular="{tabular}" @@ -75,7 +74,6 @@ module SiSU_TexInfoFormat          p dob.class          p caller        end -      @vz=SiSU_Viz::Defaults.new      end      def head        t=Time.now diff --git a/lib/sisu/v5/texpdf.rb b/lib/sisu/v5/texpdf.rb index 6579d338..e61595e0 100644 --- a/lib/sisu/v5/texpdf.rb +++ b/lib/sisu/v5/texpdf.rb @@ -64,8 +64,7 @@ module SiSU_TeX      SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).        error('pstore NOT FOUND (LoadError)')    end -  require_relative 'defaults'                           # defaults.rb -    include SiSU_Viz +  require_relative 'texpdf_parts'                        # texpdf_parts.rb    require_relative 'se_hub_particulars'                 # se_hub_particulars.rb      include SiSU_Particulars    require_relative 'texpdf_format'                      # texpdf_format.rb @@ -88,7 +87,6 @@ module SiSU_TeX      end      require_relative 'se'                               # se.rb        include SiSU_Env -    include SiSU_Viz      require_relative 'ao'                               # ao.rb        include SiSU_AO      include SiSU_TeX @@ -395,6 +393,7 @@ module SiSU_TeX        end      end      class LaTeXcreate +      include SiSU_Parts_TeXpdf        @@tex_head={          'a4'=>    { p: nil, l: nil },          'a5'=>    { p: nil, l: nil }, @@ -411,9 +410,7 @@ module SiSU_TeX          @data=@particulars.ao_array # ao file drawn here          @st={ tex: {} }          @tex_ml=SiSU_TeX_Pdf::UseTeX.new(@md) -        @vz=SiSU_Viz::Defaults.new          @dp=@@dp ||=SiSU_Env::InfoEnv.new.digest.pattern -        @brace_url=SiSU_Viz::Defaults.new.url_decoration          l=SiSU_Env::StandardiseLanguage.new(@md.opt.lng).language          @language=l[:n]          @translate=SiSU_Translate::Source.new(@md,@language) @@ -810,7 +807,7 @@ module SiSU_TeX        end        def markup(data)          @tex_file=[] -        home=@vz.txt_home.gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}|#{Mx[:br_paragraph]}|\\\\/,' - ') #no line splitting in heading neither html nor latex +        home=the_text.txt_home.gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}|#{Mx[:br_paragraph]}|\\\\/,' - ') #no line splitting in heading neither html nor latex          title=@md.title.full.gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}|#{Mx[:br_paragraph]}|\\\\/,' - ') #no line splitting in heading neither html nor latex          @md.papersize_array.each do |ps|            if @md.opt.act[:pdf_p][:set]==:on diff --git a/lib/sisu/v5/texpdf_format.rb b/lib/sisu/v5/texpdf_format.rb index d5defb39..96b5dc91 100644 --- a/lib/sisu/v5/texpdf_format.rb +++ b/lib/sisu/v5/texpdf_format.rb @@ -58,19 +58,19 @@  =end  module SiSU_TeX_Pdf +  require_relative 'texpdf_parts'                        # texpdf_parts.rb    @@table_pg_break_counter=1 -  include SiSU_Viz    class BareUrls +    include SiSU_Parts_TeXpdf      def initialize(md,dob=nil)        @md,@dob=md,dob -      @brace_url=SiSU_Viz::Defaults.new.url_decoration      end      def bare_urls        @dob.obj=@dob.obj.gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@[a-zA-Z0-9_-]+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/, -         "#{@brace_url.tex_open}\\begin{scriptsize}\\email{\\1}#{@brace_url.tex_close}") +         "#{url_decoration.tex_open}\\begin{scriptsize}\\email{\\1}#{url_decoration.tex_close}")        @dob.tmp=@dob.tmp.gsub(/(^|[^\\])_/m,'\1\_'). #watch may not work          gsub(/(^|[^#{Mx[:lnk_c]}])#{Mx[:url_o]}_?(?:\\?_)?(\S+?)#{Mx[:url_c]}/m, -          "\\1#{@brace_url.tex_open}\\begin{scriptsize}\\url{\\2}\\end{scriptsize}#{@brace_url.tex_close}") +          "\\1#{url_decoration.tex_open}\\begin{scriptsize}\\url{\\2}\\end{scriptsize}#{url_decoration.tex_close}")        @dob      end      def bare_urls_in_code @@ -81,7 +81,7 @@ module SiSU_TeX_Pdf      end    end    class FormatTextObject -    require_relative 'defaults'                         # defaults.rb +    include SiSU_Parts_TeXpdf      attr_accessor :string,:string1,:orientation,:url,:dir,:tex      @@sys=SiSU_Env::SystemCall.new      @@tex_pattern_margin_number=/\\begin\{tiny\}\\hspace\{0mm\}\\end\{tiny\}\{\\marginpar.+?\}\}\}/ @@ -102,7 +102,6 @@ module SiSU_TeX_Pdf        end        @start_table=''        @tx=SiSU_Env::GetInit.new.tex -      @brace_rel=SiSU_Viz::Defaults.new.rel_decoration        @env ||=SiSU_Env::InfoEnv.new(@md.fns)        @tex2pdf=@@tex3pdf ||=SiSU_Env::SystemCall.new.tex2pdf_engine        @make ||=SiSU_Env::ProcessingSettings.new(@md) @@ -517,7 +516,7 @@ module SiSU_TeX_Pdf          link.gsub!(/&/,"#{Xx[:protect]}&")          url="#{@env.url.root}/" + url          str.sub!(/#{Mx[:lnk_o]}[^#{Mx[:lnk_o]}#{Mx[:lnk_c]}]+#{Mx[:lnk_c]}#{Mx[:rel_o]}:\S+?#{Mx[:rel_c]}/m, -          "#{@brace_rel.tex_open}\\href{#{url}}{#{link}}#{@brace_rel.tex_close}") +          "#{url_decoration.tex_open}\\href{#{url}}{#{link}}#{url_decoration.tex_close}")        end        while str =~/#{Mx[:lnk_o]}([^#{Mx[:lnk_o]}#{Mx[:lnk_c]}]+)#{Mx[:lnk_c]}#{Mx[:rel_o]}#?(\S+?)#{Mx[:rel_c]}/m          link,url=$1,$2 @@ -533,7 +532,7 @@ module SiSU_TeX_Pdf          if ocn_lnk and not ocn_lnk.empty?            idx \            ? (str.sub!(rgx_url_internal,"\\hyperlink{#{ocn_lnk}}{#{link}}")) -          : (str.sub!(rgx_url_internal,"#{@brace_rel.tex_open}\\hyperlink{#{ocn_lnk}}{#{link}}#{@brace_rel.tex_close}")) +          : (str.sub!(rgx_url_internal,"#{url_decoration.tex_open}\\hyperlink{#{ocn_lnk}}{#{link}}#{url_decoration.tex_close}"))          else            puts %{name tag: "#{url}" not found}            str.sub!(rgx_url_internal,"#{link}") @@ -541,7 +540,7 @@ module SiSU_TeX_Pdf          #[keep] code that follows uses nametags directly, currently nametags converted to their ocn, related code: |texpdf.rb|@|hypertargets|          #idx \          #? (str.sub!(rgx_url_internal,"\\hyperlink{#{url}}{#{link}}")) \ -        #: (str.sub!(rgx_url_internal,"#{@brace_rel.tex_open}\\hyperlink{#{url}}{#{link}}#{@brace_rel.tex_close}")) +        #: (str.sub!(rgx_url_internal,"#{url_decoration.tex_open}\\hyperlink{#{url}}{#{link}}#{url_decoration.tex_close}"))        end        str=str.gsub(/#{Xx[:protect]}/,'')      end @@ -554,7 +553,7 @@ module SiSU_TeX_Pdf            url=url.strip            link=z.strip            link.gsub!(/&/,"#{Xx[:protect]}&") -          str.sub!(rgx_url_generic,"#{@brace_rel.tex_open}\\href{#{url}}{#{link}}#{@brace_rel.tex_close}") +          str.sub!(rgx_url_generic,"#{url_decoration.tex_open}\\href{#{url}}{#{link}}#{url_decoration.tex_close}")            str=str.gsub(/#{Xx[:protect]}/,'')            str          else str @@ -578,9 +577,9 @@ module SiSU_TeX_Pdf            url=url.strip            link=z.strip            link.gsub!(/&/,"#{Xx[:protect]}&") -          dob.tmp.sub!(rgx_url_generic,"#{@brace_rel.tex_open}\\href{#{url}}{#{link}}#{@brace_rel.tex_close}#{punctuate}") +          dob.tmp.sub!(rgx_url_generic,"#{url_decoration.tex_open}\\href{#{url}}{#{link}}#{url_decoration.tex_close}#{punctuate}")            dob.tmp.gsub!(/#{Xx[:protect]}/,'') -          #dob.tmp=dob.tmp.sub(rgx_url_generic,"#{@brace_rel.tex_open}\\href{#{url}}{#{link}}#{@brace_rel.tex_close}#{punctuate}"). +          #dob.tmp=dob.tmp.sub(rgx_url_generic,"#{url_decoration.tex_open}\\href{#{url}}{#{link}}#{url_decoration.tex_close}#{punctuate}").            #  gsub(/#{Xx[:protect]}/,'')            dob          else dob @@ -760,7 +759,6 @@ module SiSU_TeX_Pdf          p caller        end        @tx=SiSU_Env::GetInit.new.tex -      @brace_url=SiSU_Viz::Defaults.new.url_decoration        @tex2pdf=@@tex3pdf ||=SiSU_Env::SystemCall.new.tex2pdf_engine        @ps=@txt if @txt=~/(?:a4|letter|legal|book|a5|b5)/i        @lang ||=SiSU_i18n::Languages.new #.list[@md.opt.lng][:xlp] @@ -1236,9 +1234,9 @@ module SiSU_TeX_Pdf      end    end    class SpecialCharacters +    include SiSU_Parts_TeXpdf      def initialize(md,str,is=:default)        @md,@txt,@is=md,str,is -      @brace_url=SiSU_Viz::Defaults.new.url_decoration        @tex2pdf=@@tex3pdf ||=SiSU_Env::SystemCall.new.tex2pdf_engine      end      def xetex_code_listings(str,is=:default)                                 # ~ ^ $ & % _ { }  #LaTeX special characters - KEEP list @@ -1380,7 +1378,7 @@ module SiSU_TeX_Pdf        if is !=:code \        and is !=:no_urls          str=str.gsub(/(^|#{Mx[:gl_c]}|\s)((?:https?|file|ftp):\/\/\S+?\.[^'"\s]+?)([;.,]?(?=\s|$))/, -          "\\1#{@brace_url.tex_open}\\begin{scriptsize}\\url{\\2}\\end{scriptsize}#{@brace_url.tex_close}\\3") #url matching with decoration <url> positive lookahead, sequence issue with { linked }http://url cannot use \b at start +          "\\1#{url_decoration.tex_open}\\begin{scriptsize}\\url{\\2}\\end{scriptsize}#{url_decoration.tex_close}\\3") #url matching with decoration <url> positive lookahead, sequence issue with { linked }http://url cannot use \b at start        end        str=str.gsub(/<:ee>/,'').          gsub(/<!>/,' ').  #proposed change, insert, but may be redundant @@ -1487,13 +1485,12 @@ module SiSU_TeX_Pdf      end    end    class UseTeX +    include SiSU_Parts_TeXpdf      attr_accessor :url,:txt,:date      def initialize(md)        @md=md -      @vz=SiSU_Viz::Defaults.new        @date=SiSU_Env::InfoDate.new # #{@date.year}        @copymark='{\\begin{footnotesize}\\raisebox{1ex}{\\copyright}\\end{footnotesize}}' -      @brace_url=SiSU_Viz::Defaults.new.url_decoration      end      def skip        "\n\\vspace*{\\smallskipamount} \n" @@ -1532,15 +1529,12 @@ module SiSU_TeX_Pdf        "\\rfoot[\\tiny \\href{}{}]{\\textrm{\\thepage}}\n"      end      def site -      if not @vz.url_home.empty? \ -      and not @vz.url_txt.empty? +      if not the_url.home.empty? \ +      and not the_url.home_txt.empty?          "\n\\date{\\begin{tiny} \\end{tiny}}"        else ''        end      end -    def sitename                                                             # owners site, eg freeculture, free.for.all, gutenberg etc. -      "\\href{#{@vz.url_home}}{#{@vz.txt_home}}" -    end      def owner_chapter        "Contact Details for Original Promulgating Authority"      end @@ -1572,7 +1566,7 @@ module SiSU_TeX_Pdf  \\\\ Generated by \\href{http://www.jus.uio.no/sisu}{SiSU} \\begin{tiny}[ #{v[:project]} #{v[:version]} of #{v[:date_stamp]} ]\\end{tiny} \\href{http://www.jus.uio.no/sisu}{www.jus.uio.no/sisu}  \\\\ Copyright #{@copymark} 1997, current #{@date.year_static} Ralph Amissah, All Rights Reserved.  \\\\ SiSU is software for document structuring, publishing and search (with object citation numbering), \\href{http://www.sisudoc.org}{www.sisudoc.org} -\\\\ SiSU is released under \\href{http://www.fsf.org/licenses/gpl.html}{GPL 3 } or later, #{@brace_url.tex_open}\\href{http://www.fsf.org/licenses/gpl.html}{http://www.fsf.org/licenses/gpl.html}#{@brace_url.tex_close}. +\\\\ SiSU is released under \\href{http://www.fsf.org/licenses/gpl.html}{GPL 3 } or later, #{url_brace.tex_open}\\href{http://www.fsf.org/licenses/gpl.html}{http://www.fsf.org/licenses/gpl.html}#{url_brace.tex_close}.  {\\end{footnotesize}  \\\\        WOK @@ -1618,64 +1612,6 @@ Generated by \\href{http://www.jus.uio.no/sisu}{SiSU www.jus.uio.no/sisu } \\\\  \\listofendnotes        WOK      end -    def doc_tail -      dir=SiSU_Env::InfoEnv.new(@md.fns) -      v=SiSU_Env::InfoVersion.instance.get_version -      sisu_ico=if FileTest.file?("#{dir.path.image_source_include}/sisu.png") -        "\\includegraphics*[width=60pt]{#{dir.path.image_source_include}/sisu.png}" -      else -        SiSU_Screen::Ansi.new( -          @md.opt.act[:color_state][:set], -          'WARNING - image directory or image(s) missing:', -          %{"#{dir.path.image_source_include}"} -        ).warn unless @md.opt.act[:quiet][:set]==:on -        " SiSU " -      end -      url=@md.fnb.gsub(/(?:\\)*([$&~%_#}{^])/,'\\\\\1') -      <<-WOK -\\begin{english}[variant=british] -\\subsection*{Information on this document copy and an unofficial List of Some web related information and sources} -\\addcontentsline{toc}{section}{Information on this document copy and an unofficial List of Some web related information and sources} -\\\\ -\"Support Open Standards and Software Libré for the Information Technology Infrastructure\" RA\\subsubsection*{Information on this document copy #{site}} -\\addcontentsline{toc}{subsection}{Information on this document copy} -{\\begin{footnotesize} -\\\\ Generated by \\href{http://www.jus.uio.no/sisu/}{SiSU} found at \\href{http://www.jus.uio.no/sisu/}{www.jus.uio.no/sisu} \\begin{tiny}[ #{v[:project]} #{v[:version]} #{v[:date_stamp]} ]\\end{tiny} \\href{http://www.sisudoc.org}{www.sisudoc.org}. SiSU is software for document structuring, publishing and search (using SiSU: object citation numbering, markup, meta-markup, and system) Copyright #{@copymark} 1997, current #{@date.year_static} Ralph Amissah, All Rights Reserved. -\\\\ SiSU is released under \\href{http://www.fsf.org/licenses/gpl.html}{GPL 3 } or later (\\href{http://www.fsf.org/licenses/gpl.html}{www.fsf.org/licenses/gpl.html}). {\\end{footnotesize} -{\\begin{small} -\\\\ W3 since October 3 1993 \\href{http://www.jus.uio.no/sisu/}{#{sisu_ico}}SiSU 1997, current #{@date.year_static}. \\\\ #{sitename} presentations at \\begin{scriptsize}#{site}\\end{scriptsize} \\\\ \\\\ #{@md.title.full} \\textbf{pdf} versions can be found at: \\\\ -{\\end{small} -\\\\ #{@brace_url.tex_open}\\begin{scriptsize}\\url{#{@vz.url_root_http}/#{url}/#{@md.fn[:pdf_p]}}\\end{scriptsize}#{@brace_url.tex_close} \\\\ -#{@brace_url.tex_open}\\begin{scriptsize}\\url{#{@vz.url_root_http}/#{url}/#{@md.fn[:pdf_l]}}\\end{scriptsize}#{@brace_url.tex_close} \\\\ -\\\\\n#{@md.title.full} \\textbf{html} versions may be found at: \\\\ -#{@brace_url.tex_open}\\begin{scriptsize}\\url{#{@vz.url_root_http}/#{url}/#{@md.fn[:toc]}}\\end{scriptsize}#{@brace_url.tex_close} or \\\\ -#{@brace_url.tex_open}\\begin{scriptsize}\\url{#{@vz.url_root_http}/#{url}/#{@md.fn[:doc]}}\\end{scriptsize}#{@brace_url.tex_close} -\\\\ -\\\\ -\\href{#{@vz.url_root_http}/#{url}/#{@md.fn[:manifest]}}{SiSU Manifest} of document output and metadata may be found at: \\\\ -#{@brace_url.tex_open}\\begin{scriptsize}\\url{#{@vz.url_root_http}/#{url}/#{@md.fn[:manifest]}}\\end{scriptsize}#{@brace_url.tex_close} -\\\\ -\\\\ - #{sitename} found at: \\begin{scriptsize}#{site}\\end{scriptsize}\\subsubsection*{Links that may be of interest at #{@vz.txt_home} and elsewhere:} -\\addcontentsline{toc}{subsection}{Links that may be of interest} -\\end{english} -      WOK -    end -    def mail_tail #not retested, the old mail_tail is commented out and appended to this program -      dir=SiSU_Env::InfoEnv.new(@md.fns) -      <<-WOK -\\subsection*{Mail sender details} -\\addcontentsline{toc}{subsection}{Mail sender details} -\\\\ -Mail from: ralph@amissah.com\\\\ -44 20 8789 3452\\\\ -44 77 9669 4448 -\\\\ - \"Support Open Standards and Open Sources for the Information Technology Infrastructure\" RA -\\subsubsection*{Information on this document copy #{site}\\copyright} -Presentations' look and feel generated by \\href{http://www.jus.uio.no/sisu/}{SiSU Scribe} \\href{http://www.jus.uio.no/sisu/}{http://www.jus.uio.no/sisu/} programmed in Ruby on Debian/Gnu/Linux by Copyright \\copyright Ralph Amissah, W3 since October 3 1993 \\href{http://www.jus.uio.no/sisu/}{\\includegraphics*[width=35pt]{#{dir.path.image_source_include}/sisu.png}}for #{sitename}. SiSU Scribe (sisu information structuring unit) produces Electronic Documents, i.e. it generates structured output for use in a number of file formats, including the pdf file produced here. -      WOK -    end    end  end  __END__ diff --git a/lib/sisu/v5/texpdf_parts.rb b/lib/sisu/v5/texpdf_parts.rb new file mode 100644 index 00000000..d5daf004 --- /dev/null +++ b/lib/sisu/v5/texpdf_parts.rb @@ -0,0 +1,238 @@ +# encoding: utf-8 +=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, 2008, 2009, 2010, 2011, 2012, 2013, 2014 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 + + * 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/v5/xhtml_parts.rb;hb=HEAD> + + * Ralph Amissah +   <ralph@amissah.com> +   <ralph.amissah@gmail.com> + + ** Description: shared html parts + +=end +module SiSU_Parts_TeXpdf +  require_relative 'generic_parts'                       # generic_parts.rb +  include SiSU_Parts_Generic +  def the_line_break +    ' \\ ' +  end +  def url_decoration +    def tex_open                     #'{\UseTextSymbol{OML}{<}}' +      Dx[:url_o] +    end +    def tex_close                    #'{\UseTextSymbol{OML}{>}}' +      Dx[:url_c] +    end +    def txt_open +      '<' +    end +    def txt_close +      '>' +    end +    self +  end +  def the_font +    def set_fonts +      'verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman' +    end +    self +  end +  class TeX +    def initialize(papersize='') +      @papersize=papersize +    end +    def a4 +      def portrait +        def w +          160 +        end +        def h +          228 +        end +        def img_px +          450 +        end +        self +      end +      def landscape +        def w +          238 +        end +        def h +          160 +        end +        def img_px +          300 +        end +        self +      end +      self +    end +    def letter +      def portrait +        def w +          166 +        end +        def h +          212 +        end +        def img_px +          468 +        end +        self +      end +      def landscape +        def w +          226 +        end +        def h +          166 +        end +        def img_px +          290 +        end +        self +      end +      self +    end +    def legal +      def portrait +        def w +          168 +        end +        def h +          286 +        end +        def img_px +          474 +        end +        self +      end +      def landscape +        def w +          296 +        end +        def h +          166 +        end +        def img_px +          420 +        end +        self +      end +      self +    end +    def b5 +      def portrait +        def w +          140 +        end +        def h +          204 +        end +        def img_px +          356 +        end +        self +      end +      def landscape +        def w +          200 +        end +        def h +          130 +        end +        def img_px +          260 +        end +        self +      end +      self +    end +    def a5 +      def portrait +        def w +          112 +        end +        def h +          162 +        end +        def img_px +          280 +        end +        self +      end +      def landscape +        def w +          152 +        end +        def h +          100 +        end +        def img_px +          190 +        end +        self +      end +      self +    end +    def dimensions +      case @papersize +      when /a4/     then a4 +      when /letter/ then letter +      when /legal/  then legal +      when /b5/     then b5 +      when /a5/     then a5 +      else               a4 +      end +    end +  end +end +__END__ diff --git a/lib/sisu/v5/txt_asciidoc.rb b/lib/sisu/v5/txt_asciidoc.rb index 89deca87..3545fcb0 100644 --- a/lib/sisu/v5/txt_asciidoc.rb +++ b/lib/sisu/v5/txt_asciidoc.rb @@ -62,9 +62,9 @@ module SiSU_Txt_AsciiDoc    require_relative 'se'                                 # se.rb      include SiSU_Env    require_relative 'shared_metadata'                    # shared_metadata.rb +  require_relative 'generic_parts'                      # generic_parts.rb    require_relative 'txt_shared'                         # txt_shared.rb    include SiSU_Param -  include SiSU_Viz    @@alt_id_count,@@alt_id_count,@@tablehead,@@number_of_cols=0,0,0,0    @@tablefoot=''    class Source @@ -126,14 +126,12 @@ module SiSU_Txt_AsciiDoc      end      private      class Scroll <Source -      require_relative 'defaults'                       # defaults.rb -      require_relative 'txt_shared'                     # txt_shared.rb -        include SiSU_TextUtils +      include SiSU_Parts_Generic +      include SiSU_TextUtils        @@endnotes={ para: [], end: [] }        def initialize(md,data,wrap_width)          @md,@data,@wrap_width=md,data,wrap_width          @env=SiSU_Env::InfoEnv.new(@md.fns) -        @brace_url=SiSU_Viz::Defaults.new.url_decoration          @tab="\t"          @@endnotes_=case md.opt.selections.str          when /--footnote/ then false @@ -166,7 +164,6 @@ WOK        end        def plaintext_tail  #       env=SiSU_Env::InfoEnv.new(@md.fns) -        vz=SiSU_Viz::Defaults.new          generator="Generated by: #{@md.sisu_version[:project]} #{@md.sisu_version[:version]} of #{@md.sisu_version[:date_stamp]} (#{@md.sisu_version[:date]})"  if @md.sisu_version[:version]          lastdone="Last Generated on: #{Time.now}"          rubyv="Ruby version: #{@md.ruby_version}" @@ -188,7 +185,7 @@ at:  * #{generator}  * #{rubyv}  * #{lastdone} -* SiSU #{vz.url_sisu} +* SiSU #{the_url.sisu_txt}  WOK        end        def decorate @@ -445,7 +442,7 @@ WOK                gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1').                gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'\1 [link: <\2>]').                gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}image/,'\1 [link: local image]'). -              gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,"#{@brace_url.txt_open}\\1#{@brace_url.txt_close}") +              gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,"#{the_text.url_open}\\1#{the_text.url_close}")              dob.obj=dob.obj.gsub(/\s*#{Mx[:en_a_o]}([\d*+]+)\s+(.+?)#{Mx[:en_a_c]}/,' footnote:[note\1,\2]').                gsub(/\s*#{Mx[:en_b_o]}([\d*+]+\s+.+?)#{Mx[:en_b_c]}/,' footnote:[\1]')              dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'[^\1]'). # endnote marker marked up diff --git a/lib/sisu/v5/txt_markdown.rb b/lib/sisu/v5/txt_markdown.rb index 440956be..9bbd85e4 100644 --- a/lib/sisu/v5/txt_markdown.rb +++ b/lib/sisu/v5/txt_markdown.rb @@ -62,9 +62,9 @@ module SiSU_Txt_Markdown    require_relative 'se'                                 # se.rb      include SiSU_Env    require_relative 'shared_metadata'                    # shared_metadata.rb +  require_relative 'generic_parts'                      # generic_parts.rb    require_relative 'txt_shared'                         # txt_shared.rb    include SiSU_Param -  include SiSU_Viz    @@alt_id_count,@@alt_id_count,@@tablehead,@@number_of_cols=0,0,0,0    @@tablefoot=''    class Source @@ -125,14 +125,12 @@ module SiSU_Txt_Markdown      end      private      class Scroll <Source -      require_relative 'defaults'                       # defaults.rb -      require_relative 'txt_shared'                     # txt_shared.rb -        include SiSU_TextUtils +      include SiSU_Parts_Generic +      include SiSU_TextUtils        @@endnotes={ para: [], end: [] }        def initialize(md,data,wrap_width)          @md,@data,@wrap_width=md,data,wrap_width          @env=SiSU_Env::InfoEnv.new(@md.fns) -        @brace_url=SiSU_Viz::Defaults.new.url_decoration          @tab="\t"          @@endnotes_=case md.opt.selections.str          when /--footnote/ then false @@ -201,7 +199,6 @@ WOK        end        def plaintext_tail  #       env=SiSU_Env::InfoEnv.new(@md.fns) -        vz=SiSU_Viz::Defaults.new          generator="Generated by: #{@md.sisu_version[:project]} #{@md.sisu_version[:version]} of #{@md.sisu_version[:date_stamp]} (#{@md.sisu_version[:date]})"  if @md.sisu_version[:version]          lastdone="Last Generated on: #{Time.now}"          rubyv="Ruby version: #{@md.ruby_version}" @@ -223,7 +220,7 @@ at:  * #{generator}  * #{rubyv}  * #{lastdone} -* SiSU #{vz.url_sisu} +* SiSU #{the_url.sisu_txt}  WOK        end        def decorate @@ -480,7 +477,7 @@ WOK                gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1').                gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'\1 [link: <\2>]').                gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}image/,'\1 [link: local image]'). -              gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,"#{@brace_url.txt_open}\\1#{@brace_url.txt_close}") +              gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,"#{the_text.url_open}\\1#{the_text.url_close}")              extract_endnotes(dob)              dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'[^\1]'). # endnote marker marked up                gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,'[^\1]'). # endnote marker marked up diff --git a/lib/sisu/v5/txt_plain.rb b/lib/sisu/v5/txt_plain.rb index 6233038f..08f32b2f 100644 --- a/lib/sisu/v5/txt_plain.rb +++ b/lib/sisu/v5/txt_plain.rb @@ -63,9 +63,9 @@ module SiSU_Txt_Plain    require_relative 'se'                                 # se.rb      include SiSU_Env    require_relative 'shared_metadata'                    # shared_metadata.rb +  require_relative 'generic_parts'                      # generic_parts.rb    require_relative 'txt_shared'                         # txt_shared.rb    include SiSU_Param -  include SiSU_Viz    @@alt_id_count,@@alt_id_count,@@tablehead,@@number_of_cols=0,0,0,0    @@tablefoot=''    class Source @@ -127,14 +127,12 @@ module SiSU_Txt_Plain      end      private      class Scroll <Source -      require_relative 'defaults'                       # defaults.rb -      require_relative 'txt_shared'                     # txt_shared.rb -        include SiSU_TextUtils +      include SiSU_Parts_Generic +      include SiSU_TextUtils        @@endnotes={ para: [], end: [] }        def initialize(md,data,wrap_width)          @md,@data,@wrap_width=md,data,wrap_width          @env=SiSU_Env::InfoEnv.new(@md.fns) -        @brace_url=SiSU_Viz::Defaults.new.url_decoration          @tab="\t"          @@endnotes_=case md.opt.selections.str          when /--footnote/ then false @@ -203,7 +201,6 @@ WOK        end        def plaintext_tail  #       env=SiSU_Env::InfoEnv.new(@md.fns) -        vz=SiSU_Viz::Defaults.new          generator="Generated by: #{@md.sisu_version[:project]} #{@md.sisu_version[:version]} of #{@md.sisu_version[:date_stamp]} (#{@md.sisu_version[:date]})"  if @md.sisu_version[:version]          lastdone="Last Generated on: #{Time.now}"          rubyv="Ruby version: #{@md.ruby_version}" @@ -225,7 +222,7 @@ at:  * #{generator}  * #{rubyv}  * #{lastdone} -* SiSU #{vz.url_sisu} +* SiSU #{the_url.sisu_txt}  WOK        end        def decorate @@ -464,7 +461,7 @@ WOK                gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1').                gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'\1 [link: <\2>]').                gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}image/,'\1 [link: local image]'). -              gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,"#{@brace_url.txt_open}\\1#{@brace_url.txt_close}") +              gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,"#{the_text.url_open}\\1#{the_text.url_close}")              extract_endnotes(dob)              dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'[^\1]'). # endnote marker marked up                gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,'[^\1]'). # endnote marker marked up diff --git a/lib/sisu/v5/txt_rst.rb b/lib/sisu/v5/txt_rst.rb index 1426f4b3..297a2457 100644 --- a/lib/sisu/v5/txt_rst.rb +++ b/lib/sisu/v5/txt_rst.rb @@ -62,9 +62,9 @@ module SiSU_Txt_rST    require_relative 'se'                                 # se.rb      include SiSU_Env    require_relative 'shared_metadata'                    # shared_metadata.rb +  require_relative 'generic_parts'                      # generic_parts.rb    require_relative 'txt_shared'                         # txt_shared.rb    include SiSU_Param -  include SiSU_Viz    @@alt_id_count,@@alt_id_count,@@tablehead,@@number_of_cols=0,0,0,0    @@tablefoot=''    class Source @@ -126,14 +126,12 @@ module SiSU_Txt_rST      end      private      class Scroll <Source -      require_relative 'defaults'                       # defaults.rb -      require_relative 'txt_shared'                     # txt_shared.rb -        include SiSU_TextUtils +      include SiSU_Parts_Generic +      include SiSU_TextUtils        @@endnotes={ para: [], end: [] }        def initialize(md,data,wrap_width)          @md,@data,@wrap_width=md,data,wrap_width          @env=SiSU_Env::InfoEnv.new(@md.fns) -        @brace_url=SiSU_Viz::Defaults.new.url_decoration          @tab="\t"          @@endnotes_=case md.opt.selections.str          when /--footnote/ then false @@ -202,7 +200,6 @@ WOK        end        def plaintext_tail  #       env=SiSU_Env::InfoEnv.new(@md.fns) -        vz=SiSU_Viz::Defaults.new          generator="Generated by: #{@md.sisu_version[:project]} #{@md.sisu_version[:version]} of #{@md.sisu_version[:date_stamp]} (#{@md.sisu_version[:date]})"  if @md.sisu_version[:version]          lastdone="Last Generated on: #{Time.now}"          rubyv="Ruby version: #{@md.ruby_version}" @@ -224,7 +221,7 @@ at:  * #{generator}  * #{rubyv}  * #{lastdone} -* SiSU #{vz.url_sisu} +* SiSU #{the_url.sisu_txt}  WOK        end        def decorate @@ -442,7 +439,7 @@ WOK                gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1').                gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'\1 [link: <\2>]').                gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}image/,'\1 [link: local image]'). -              gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,"#{@brace_url.txt_open}\\1#{@brace_url.txt_close}") +              gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,"#{the_text.url_open}\\1#{the_text.url_close}")              extract_endnotes(dob)              dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'[^\1]'). # endnote marker marked up                gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,'[^\1]'). # endnote marker marked up diff --git a/lib/sisu/v5/txt_shared.rb b/lib/sisu/v5/txt_shared.rb index faf4c9c6..30f54f5a 100644 --- a/lib/sisu/v5/txt_shared.rb +++ b/lib/sisu/v5/txt_shared.rb @@ -58,6 +58,7 @@  =end  module SiSU_TextUtils +  require_relative 'generic_parts'                      # generic_parts.rb    class Wrap      def initialize(para='',n_char_max=76,n_indent=0,n_hang=nil,post='')        @para,@n_char_max,@n_indent,@post,=para,n_char_max,n_indent,post diff --git a/lib/sisu/v5/txt_textile.rb b/lib/sisu/v5/txt_textile.rb index cc4bf167..71268d96 100644 --- a/lib/sisu/v5/txt_textile.rb +++ b/lib/sisu/v5/txt_textile.rb @@ -62,12 +62,13 @@ module SiSU_Txt_Textile    require_relative 'se'                                 # se.rb      include SiSU_Env    require_relative 'shared_metadata'                    # shared_metadata.rb +  require_relative 'generic_parts'                      # generic_parts.rb    require_relative 'txt_shared'                         # txt_shared.rb    include SiSU_Param -  include SiSU_Viz    @@alt_id_count,@@alt_id_count,@@tablehead,@@number_of_cols=0,0,0,0    @@tablefoot=''    class Source +    include SiSU_Parts_Generic      def initialize(opt)        @opt=opt        unless @opt.fns =~/(.+?)\.(?:-|ssm\.)?sst$/ @@ -126,14 +127,12 @@ module SiSU_Txt_Textile      end      private      class Scroll <Source -      require_relative 'defaults'                       # defaults.rb -      require_relative 'txt_shared'                     # txt_shared.rb -        include SiSU_TextUtils +      include SiSU_Parts_Generic +      include SiSU_TextUtils        @@endnotes={ para: [], end: [] }        def initialize(md,data,wrap_width)          @md,@data,@wrap_width=md,data,wrap_width          @env=SiSU_Env::InfoEnv.new(@md.fns) -        @brace_url=SiSU_Viz::Defaults.new.url_decoration          @tab="\t"          @@endnotes_=case md.opt.selections.str          when /--footnote/ then false @@ -202,7 +201,6 @@ WOK        end        def plaintext_tail  #       env=SiSU_Env::InfoEnv.new(@md.fns) -        vz=SiSU_Viz::Defaults.new          generator="Generated by: #{@md.sisu_version[:project]} #{@md.sisu_version[:version]} of #{@md.sisu_version[:date_stamp]} (#{@md.sisu_version[:date]})"  if @md.sisu_version[:version]          lastdone="Last Generated on: #{Time.now}"          rubyv="Ruby version: #{@md.ruby_version}" @@ -224,7 +222,7 @@ at:  * #{generator}  * #{rubyv}  * #{lastdone} -* SiSU #{vz.url_sisu} +* SiSU #{the_url.sisu_txt}  WOK        end        def decorate @@ -435,7 +433,7 @@ WOK                gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1').                gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'\1 [link: <\2>]').                gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}image/,'\1 [link: local image]'). -              gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,"#{@brace_url.txt_open}\\1#{@brace_url.txt_close}") +              gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,"#{the_text.url_open}\\1#{the_text.url_close}")              extract_endnotes(dob)              dob.obj=dob.obj.gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'[^\1]'). # endnote marker marked up                gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,'[^\1]'). # endnote marker marked up diff --git a/lib/sisu/v5/wikispeak.rb b/lib/sisu/v5/wikispeak.rb index 192e1cb7..c8bf1d53 100644 --- a/lib/sisu/v5/wikispeak.rb +++ b/lib/sisu/v5/wikispeak.rb @@ -62,9 +62,9 @@ module SiSU_Wikispeak    require_relative 'se'                                 # se.rb      include SiSU_Env    include SiSU_Param -  include SiSU_Viz    require_relative 'plaintext_format'                   # plaintext_format.rb      include Format +  require_relative 'html_parts'                         # html_parts.rb    require_relative 'txt_shared'    @@alt_id_count,@@alt_id_count,@@tablehead,@@number_of_cols=0,0,0,0    @@tablefoot='' @@ -109,7 +109,6 @@ module SiSU_Wikispeak      class SplitTextObject <Source        require_relative 'plaintext_format'               # plaintext_format.rb          include Format -      include SiSU_Viz        @@alt_id_count=0        @@dp=nil        attr_reader :format,:lev,:text,:ocn,:lev_para_ocn @@ -155,14 +154,13 @@ module SiSU_Wikispeak        end      end      class Scroll <Source -      require_relative 'txt_shared'                     # txt_shared.rb -        include SiSU_TextUtils +      include SiSU_TextUtils +      include SiSU_Parts_HTML        @@endnotes_para=[]        @@wiki={ body: [], open: [], close: [], head: [], metadata: [], tail: [], endnotes: [] }        @@dp=nil        def initialize(data,md)          @data,@md=data,md -        @vz=SiSU_Viz::Defaults.new          @dp=@@dp ||=SiSU_Env::InfoEnv.new.digest.pattern          @regx=/^(?:(?:#{Mx[:br_line]}\s*|#{Mx[:br_nl]}\s*)?#{Mx[:lv_o]}\d:(\S*?)#{Mx[:lv_c]}\s*)?(.+)/ #fix Mx[:lv_o] #m # 2004w18 pb pn removal added          @tab="\t" @@ -189,7 +187,6 @@ WOK          end        end        def wiki_tail -        vz=SiSU_Viz::Defaults.new          generator="Generated by: #{@md.sisu_version[:project]} #{@md.sisu_version[:version]} of #{@md.sisu_version[:date_stamp]} (#{@md.sisu_version[:date]})"  if @md.sisu_version[:version]          lastdone="Last Generated on: #{Time.now}"          rubyv="Ruby version: #{@md.ruby_version}" @@ -333,7 +330,7 @@ WOK                  para=format_text.scr_indent_one_no_paranum                end              end -            if para !~/#{@vz.margin_txt_0}|#{@vz.margin_txt_1}|#{@vz.margin_txt_2}/ +            if para !~/#{the_margin.txt_0}|#{the_margin.txt_1}|#{the_margin.txt_2}/                # i don't get the condition for no paranum              end              if para =~/<:center>/ diff --git a/lib/sisu/v5/xhtml.rb b/lib/sisu/v5/xhtml.rb index 914648d9..2327ba30 100644 --- a/lib/sisu/v5/xhtml.rb +++ b/lib/sisu/v5/xhtml.rb @@ -58,8 +58,6 @@     ** Notes: tidy -xml scroll.xhtml >> index.tidy  =end  module SiSU_XHTML -  require_relative 'defaults'                           # defaults.rb -    include SiSU_Viz    require_relative 'se_hub_particulars'                 # se_hub_particulars.rb      include SiSU_Particulars    require_relative 'se'                                 # se.rb @@ -152,7 +150,6 @@ module SiSU_XHTML        @@xml={ body: [], sisu: [], open: [], close: [], head: [] }        def initialize(particulars)          @env,@md,@ao_array=particulars.env,particulars.md,particulars.ao_array -        @vz=SiSU_Viz::Defaults.new          @tab="\t"          @trans=SiSU_XML_Munge::Trans.new(@md)          @sys=SiSU_Env::SystemCall.new @@ -369,8 +366,6 @@ WOK                    format_text.scr_inden_ocn_e_no_paranum                  end                end -              if dob.obj !~/#{@vz.margin_txt_0}|#{@vz.margin_txt_1}|#{@vz.margin_txt_2}/ -              end              else #              end              dob.obj=dob.obj.gsub(/#{Mx[:pa_o]}:\S+#{Mx[:pa_c]}/,'') if dob.obj diff --git a/lib/sisu/v5/xhtml_epub2.rb b/lib/sisu/v5/xhtml_epub2.rb index 794c9024..ceed3239 100644 --- a/lib/sisu/v5/xhtml_epub2.rb +++ b/lib/sisu/v5/xhtml_epub2.rb @@ -66,8 +66,6 @@ module SiSU_XHTML_EPUB2    end    require_relative 'se_hub_particulars'                 # se_hub_particulars.rb      include SiSU_Particulars -  require_relative 'defaults'                           # defaults.rb -    include SiSU_Viz    require_relative 'xml_shared'                         # xml_shared.rb      include SiSU_XML_Munge    require_relative 'xhtml_table'                        # xhtml_table.rb @@ -161,7 +159,6 @@ module SiSU_XHTML_EPUB2        def initialize(particulars)          @particulars=particulars          @md,@env=particulars.md,particulars.env -        @vz=SiSU_Viz::Defaults.new          @env,@css=particulars.env,SiSU_Style::CSS.new        end        def directories @@ -213,7 +210,6 @@ module SiSU_XHTML_EPUB2        @@firstseg=nil        def initialize(md=nil,data='')          @md,@data=md,data -        @vz=SiSU_Viz::Defaults.new          @epub=SiSU_XHTML_EPUB2_Format::HeadInformation.new(@md)          @tell=SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set]) if @md          @make=SiSU_Env::ProcessingSettings.new(@md) @@ -645,7 +641,6 @@ module SiSU_XHTML_EPUB2      class ScrollHeadAndSegToc < Toc        def initialize(md='',toc='',links_guide_toc='')          @md,@toc,@links_guide_toc=md,toc,links_guide_toc -        @vz=SiSU_Viz::Defaults.new        end        def in_common          toc_shared=[] diff --git a/lib/sisu/v5/xhtml_epub2_concordance.rb b/lib/sisu/v5/xhtml_epub2_concordance.rb index 3484b1d8..02f47d5a 100644 --- a/lib/sisu/v5/xhtml_epub2_concordance.rb +++ b/lib/sisu/v5/xhtml_epub2_concordance.rb @@ -63,8 +63,7 @@ module SiSU_XHTML_EPUB2_Concordance      include SiSU_Particulars    require_relative 'se'                                 # se.rb      include SiSU_Env -  require_relative 'defaults'                           # defaults.rb -    include SiSU_Viz +  require_relative 'xhtml_parts'                        # xhtml_parts.rb    require_relative 'xhtml_epub2_format'                 # xhtml_epub2_format.rb      include SiSU_XHTML_EPUB2_Format    class Source @@ -101,13 +100,11 @@ module SiSU_XHTML_EPUB2_Concordance      end      private      class DocTitle -      include SiSU_Viz        #revisit, both requires (html & xml_shared) needed for stand alone operation (sisu -w [filename])        require_relative 'xhtml_epub2'                    # xhtml_epub2.rb        def initialize(particulars)          @particulars,@md=particulars,particulars.md          @data=SiSU_XHTML_EPUB2::Source::XHTML_Environment.new(particulars).tuned_file_instructions -        @vz=SiSU_Viz::Defaults.new          @fnb=@md.fnb          @lex_button=%{<a href="http://www.jus.uio.no/sisu/" target="_top"><img border="0" height="44" width="144" valign="center" src="../_sisu/image/sisu.png" alt="SiSU home"></a>}          @doc_details =<<WOK @@ -150,8 +147,6 @@ WOK        end      end      class Words -      require_relative 'defaults'                       # defaults.rb -        include SiSU_Viz        require_relative 'xhtml_epub2_format'             # xhtml_epub2_format.rb          include SiSU_XHTML_EPUB2_Format        require_relative 'se'                             # se.rb @@ -159,7 +154,6 @@ WOK        def initialize(particulars)          @particulars=particulars          begin -          @vz=SiSU_Viz::Defaults.new            @env,@md,@ao_array=particulars.env,particulars.md,particulars.ao_array            @path="#{@env.processing_path.epub}"            @freq=Hash.new(0) @@ -323,7 +317,7 @@ WOK            end            # special cases endnotes and header levels 1 - 3          end -        credits=@vz.credits_sisu_epub +        credits=SiSU_Proj_XHTML::Bits.new.credits_sisu_epub          @file_concordance << %{</div>>#{credits}</body>\n</html>} # footer        end      end diff --git a/lib/sisu/v5/xhtml_epub2_format.rb b/lib/sisu/v5/xhtml_epub2_format.rb index 4004a446..bbd02a6d 100644 --- a/lib/sisu/v5/xhtml_epub2_format.rb +++ b/lib/sisu/v5/xhtml_epub2_format.rb @@ -58,7 +58,6 @@  =end  module SiSU_XHTML_EPUB2_Format -  include SiSU_Viz    class ParagraphNumber      def initialize(md,ocn)        @md,@ocn=md,ocn.to_s @@ -1235,6 +1234,7 @@ module SiSU_XHTML_EPUB2_Format      end    end    module SanitizeXML +    require_relative 'xhtml_parts'                        # xhtml_parts.rb      def self.xml(x)        if x.is_a?(String)          x=x.gsub(/ /,' ') if Ep[:alt]==:on @@ -1249,12 +1249,10 @@ module SiSU_XHTML_EPUB2_Format      end    end    class HeadInformation -    include SiSU_Viz -    attr_reader :md,:rdf,:vz +    attr_reader :md,:rdf      def initialize(md)        @md=md        # DublinCore 1 - title -      @vz=SiSU_Viz::Defaults.new        @css=SiSU_Env::CSS_Stylesheet.new(md)        @seg_name_xhtml=(SiSU_XHTML_EPUB2::Source::Seg.new.seg_name_xhtml || [])        @seg_name_xhtml_tracker=(SiSU_XHTML_EPUB2::Source::Seg.new.seg_name_xhtml_tracker || []) @@ -1722,15 +1720,16 @@ output_epub_cont_seg.close      end      def table_close        %{  </font> -#{@vz.table_close}} +#{the_table_close}}      end      def xhtml_close -    %{#{@vz.credits_sisu_epub} +    %{#{SiSU_Proj_XHTML::Bits.new.credits_sisu_epub}    </body>  </html>}      end    end    class HeadToc < HeadInformation +    include SiSU_Parts_XHTML      def initialize(md)        super(md)        @md=md @@ -1757,16 +1756,16 @@ output_epub_cont_seg.close      end      def concordance        if @md.concord_make -      %{#{@vz.margin_css} +      %{#{the_margin.css}        <h4 class="toc">          <a href="./#{@md.file.base_filename.html_concordance}">            <i>Concordance</i>          </a>        </h4> -#{@vz.table_close}} +#{the_table_close}}        else -      %{#{@vz.margin_css} -#{@vz.table_close}} +      %{#{the_margin.css} +#{the_table_close}}        end      end      def links_guide_open(type='horizontal') @@ -1787,40 +1786,40 @@ output_epub_cont_seg.close        %{<p class="small_left">Prefix: #{@md.prefix_b}}      end      def make_seg -      concord=concordance_link(@vz.nav_txt_concordance) +      concord=concordance_link(the_nav.txt_concordance)        %{<table summary="toc segment" border="0" cellpadding="3" cellspacing="0">  <tr><td align="center" bgcolor="white"> -  #{@vz.nav_txt_toc_link} +  #{the_nav.txt_toc_link}  </td>  <td align="center" bgcolor="white">    <font size=2>     #{concord} -#{@vz.table_close}} +#{the_table_close}}      end      def manifest #check structure -      manifest=manifest_link(@vz.nav_txt_manifest) -      %{#{@vz.margin_txt_3} -  #{@vz.paragraph_font_small} +      manifest=manifest_link(the_nav.txt_manifest) +      %{#{the_margin.txt_3} +  #{the_font.paragraph_font_small}     #{manifest}      </font> -#{@vz.table_close}} +#{the_table_close}}      end      def concordance #check structure -      concord=concordance_link(@vz.nav_txt_concordance) -      %{#{@vz.margin_txt_3} -  #{@vz.paragraph_font_small} +      concord=concordance_link(the_nav.txt_concordance) +      %{#{the_margin.txt_3} +  #{the_font.paragraph_font_small}     #{concord}      </font> -#{@vz.table_close}} +#{the_table_close}}      end      def metadata -      %{#{@vz.margin_css} +      %{#{the_margin.css}    <h4 class="toc">      <a href="#{@metalink}">        <i>MetaData</i>      </a>    </h4> -#{@vz.table_close}} +#{the_table_close}}      end    end    class HeadSeg < HeadInformation @@ -1850,8 +1849,8 @@ output_epub_cont_seg.close        super(md)      end      def toc_owner_details -      %{#{@vz.margin_txt_3} -#{@vz.paragraph_font_small} +      %{#{the_margin.txt_3} +#{the_font.paragraph_font_small}    <a href="#owner.details">      Owner Details      <font size="1" color="#777777"> @@ -1859,11 +1858,11 @@ output_epub_cont_seg.close      </font>    </a>    </font> -#{@vz.table_close}} +#{the_table_close}}      end    end    class FormatTextObject -    @vz=SiSU_Viz::Defaults.new +    include SiSU_Parts_XHTML      attr_accessor :md,:t_o,:txt,:ocn,:format,:table,:link,:linkname,:paranum,:p_num,:headname,:banner,:url      def initialize(md,t_o)        @md,@t_o=md,t_o @@ -1907,7 +1906,6 @@ output_epub_cont_seg.close          @txt=@txt.gsub(/#{Mx[:mk_o]}[-~]##{Mx[:mk_c]}/,'')        end        @p_num=ParagraphNumber.new(@md,@ocn) -      @vz=SiSU_Viz::Defaults.new      end      def nametags_seg(dob) #FIX        tags='' @@ -2084,13 +2082,13 @@ output_epub_cont_seg.close        end      end      def bold_para -      %{#{@vz.margin_txt_0} +      %{#{the_margin.txt_0}    <p class="bold">      #{@txt}    </p> -#{@vz.margin_num_css} +#{the_margin.num_css}    #{$ep[:hsp]*3} -#{@vz.table_close}} +#{the_table_close}}      end      def bold_heading #unused        @txt=@txt.gsub(/[1-9]~\S+/,''). @@ -2098,9 +2096,9 @@ output_epub_cont_seg.close        %{<p class="bold">      #{@txt}    </p> -#{@vz.margin_num_css} +#{the_margin.num_css}    #{$ep[:hsp]*3} -#{@vz.table_close}} +#{the_table_close}}      end      def toc_head_copy_at        @txt=SanitizeXML.xml(@txt) @@ -2122,7 +2120,6 @@ output_epub_cont_seg.close    class FormatScroll < FormatTextObject      def initialize(md,txt)        super(md,txt) -      @vz=SiSU_Viz::Defaults.new      end    end    class FormatSeg < FormatTextObject @@ -2206,7 +2203,7 @@ output_epub_cont_seg.close  <p class="bold">    #{@txt}  </p> -#{@vz.table_close}} +#{the_table_close}}      end      def navigation_heading5        %{<p class="bold"> diff --git a/lib/sisu/v5/xhtml_epub2_segments.rb b/lib/sisu/v5/xhtml_epub2_segments.rb index 1abc2d1b..ea3e27fa 100644 --- a/lib/sisu/v5/xhtml_epub2_segments.rb +++ b/lib/sisu/v5/xhtml_epub2_segments.rb @@ -131,7 +131,6 @@ WOK      attr_reader :seg_name_xhtml,:seg_name_xhtml_tracker      def initialize(md='',data='')        @md,@data=md,data -      @vz=SiSU_Viz::Defaults.new        @seg_name_xhtml=@@seg_name_xhtml || nil        @seg_name_xhtml_tracker=@@tracker || nil        @make=SiSU_Env::ProcessingSettings.new(@md) if @md diff --git a/lib/sisu/v5/xhtml_epub2_tune.rb b/lib/sisu/v5/xhtml_epub2_tune.rb index 7376212a..b4142e2e 100644 --- a/lib/sisu/v5/xhtml_epub2_tune.rb +++ b/lib/sisu/v5/xhtml_epub2_tune.rb @@ -61,6 +61,7 @@ require_relative 'dp'                                   # dp.rb  module SiSU_XHTML_EPUB2_Tune    require_relative 'se'                                 # se.rb      include SiSU_Env; include SiSU_Screen +  require_relative 'xhtml_parts'                        # xhtml_parts.rb    require_relative 'xhtml_epub2_format'                 # xhtml_epub2_format.rb #watch    @@line_mode=''    @@endnote_array=[] @@ -109,12 +110,11 @@ module SiSU_XHTML_EPUB2_Tune      end    end    class Tune +    include SiSU_Parts_XHTML      def initialize(data,md)        @data,@md=data,md -      @vz=SiSU_Viz::Defaults.new        @sys=SiSU_Env::SystemCall.new        @env=SiSU_Env::InfoEnv.new(@md.fns) -      @brace_url=SiSU_Viz::Defaults.new.url_decoration      end      def songsheet        begin @@ -261,18 +261,18 @@ module SiSU_XHTML_EPUB2_Tune              dob.obj.gsub(/\<:ad\s+(\S+)?\s+(\S+\.png)\s+(.+)?\;\s+(.+)?\;\s*\>/,                %{\n<center><a href="\\1" target="_top"><img src="#{@env.url.images_epub}/\\2" alt="\\3" /></a></center>\n})            end -          dob.obj=dob.obj.gsub(/!pick/,%{<img border="0" height="15" width="15" src="#{@env.url.images_epub}/#{@vz.icon_choice}" alt="stellar" />}). -            gsub(/!new/,%{#{$ep[:hsp]}<img border="0" height="15" width="15" src="#{@env.url.images_epub}/#{@vz.icon_new}" alt="new" />}). +          dob.obj=dob.obj.gsub(/!pick/,%{<img border="0" height="15" width="15" src="#{@env.url.images_epub}/#{the_icon.i_choice}" alt="stellar" />}). +            gsub(/!new/,%{#{$ep[:hsp]}<img border="0" height="15" width="15" src="#{@env.url.images_epub}/#{the_icon.i_new}" alt="new" />}).              gsub(/<:h(.{1,7}?)>/,'<a href="#h\1">\1</a>').              gsub(/<:to(\d{1,7}?)>/,%{<a href="#to\\1">to#{$ep[:hsp]}\{#{$ep[:hsp]}\\1#{$ep[:hsp]}\}</a> }).              gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'<a href="\1" target="_top">\1</a>'). #http ftp matches escaped, no decoration -            gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,%{#{@brace_url.xml_open}<a href="mailto:\\1">\\1</a>#{@brace_url.xml_close}}). -            gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,%{#{@brace_url.xml_open}<a href="\\1" target="_top">\\1</a>#{@brace_url.xml_close}}) #http ftp matches with decoration +            gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,%{#{the_url_decoration.xml_open}<a href="mailto:\\1">\\1</a>#{the_url_decoration.xml_close}}). +            gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,%{#{the_url_decoration.xml_open}<a href="\\1" target="_top">\\1</a>#{the_url_decoration.xml_close}}) #http ftp matches with decoration            if dob.obj =~/..\/\S+/ \            and dob.obj !~/(\"..\/\S+?\"|>\s*..\/\S+<)/              dob.obj=dob.obj.gsub(/(\.\.\/\S+)/,'<a href="\1">\1</a>')            end -          dob.obj=dob.obj.gsub(/<a href="\.\.\//,%{<a href="#{@vz.url_site}/}) +          dob.obj=dob.obj.gsub(/<a href="\.\.\//,%{<a href="#{the_url.site}/})          else            dob.obj=dob.obj.gsub(/</m,'<').gsub(/>/m,'>')          end diff --git a/lib/sisu/v5/xhtml_parts.rb b/lib/sisu/v5/xhtml_parts.rb new file mode 100644 index 00000000..7ae6cfc1 --- /dev/null +++ b/lib/sisu/v5/xhtml_parts.rb @@ -0,0 +1,186 @@ +# encoding: utf-8 +=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, 2008, 2009, 2010, 2011, 2012, 2013, 2014 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 + + * 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/v5/xhtml_parts.rb;hb=HEAD> + + * Ralph Amissah +   <ralph@amissah.com> +   <ralph.amissah@gmail.com> + + ** Description: shared html parts + +=end +module SiSU_Parts_XHTML +  require_relative 'generic_parts'                       # generic_parts.rb +  include SiSU_Parts_Generic +  def the_line_break +    '<br />' +  end +  def the_table_close +    '</td></tr> +</table>' +  end +  def the_url +    def home +      'http://www.sisudoc.org/' # used in pdf header +    end +    def site #used as stub... where there are subdirectories and is different from home +      home +    end +    self +  end +  def the_url_decoration +    def xml_open                     #'<' +      Dx[:url_o] +    end +    def xml_close                    #'>' +      Dx[:url_c] +    end +    def txt_open +      '<' +    end +    def txt_close +      '>' +    end +    self +  end +  def the_margin +    def txt_0 +      %{<table summary="" width=#{the_width.table_txt} border="0" cellpadding="2" align="center"> +<tr><td width=#{indent_level_0} align="right"> +</td><td valign="top" align="justify">} +    end +    def txt_1 +      %{<table summary="" width=#{the_width.table_txt} border="0" cellpadding="2" align="center"> +<tr><td width=#{indent_level_1} align="right"></td><td valign="top" align="justify">} +    end +    def txt_2 +      %{<table summary="" width=#{the_width.table_txt} border="0" cellpadding="2" align="center"> +<tr><td width=#{indent_level_2} align="right"> +</td> +<td valign="top" align="justify">} +    end +    def txt_3 +      %{<table summary="" width=#{the_width.table_txt} border="0" cellpadding="2" align="center"> +<tr><td width=#{indent_level_3} align="right"> +</td> +<td valign="top" align="justify">} +    end +    def css +      '<table summary="normal text css" width="100%" border="0" cellpadding="2" align="center"> +<tr><td valign="top" align="justify"> ' +    end +    def num_css +      '</td> +<td width="2%" align="right" valign="top">  ' +    end +    self +  end +  def the_font +    def set_fonts +      'verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman' +     #'verdana, arial, georgia, tahoma, sans-serif, helvetica, "times new roman", times, roman' +    end +    def set_small +      'size="3"' +    end +    def set_tiny +      'size="2"' +    end +    def paragraph_font_tiny +      %{<font #{set_tiny} #{set_face}>} +    end +    def paragraph_font_small +      %{<font #{set_small} #{set_face}>} +    end +    self +  end +  def the_nav +    def txt_concordance +      %{  <font face="#{the_font.set_fonts}" size="2"> +      A-Z  +  </font> } +    end +    def txt_toc_link +      %{  <font face="#{the_font.set_fonts}" size="2"> +      toc  +  </font> } +    end +    def txt_manifest +      #{png_manifest} document manifest +      %{  <font face="#{the_font.set_fonts}" size="2"> +    [ document manifest ] +  </font> } +    end +    def txt_concordance +      %{  <font face="#{the_font.set_fonts}" size="2"> +      A-Z  +  </font> } +    end +    self +  end +end +module SiSU_Proj_XHTML +  require_relative 'se'                                 # se.rb +    include SiSU_Env +  class Bits +    include SiSU_Parts_HTML +    def initialize +      @v=SiSU_Env::InfoVersion.instance.get_version +    end +    def credits_sisu_epub +      %{<div class="substance"> +<p class="center"><a href="http://www.openebook.org"><b>EPUB</b></a> generated by <a href="http://www.sisudoc.org"><b>#{@v[:project]}</b></a> v#{@v[:version]}, GPL3</p> +</div>} +      '' +    end +  end +end +__END__ diff --git a/lib/sisu/v5/xhtml_shared.rb b/lib/sisu/v5/xhtml_shared.rb index 677d7a47..0e7fcf3c 100644 --- a/lib/sisu/v5/xhtml_shared.rb +++ b/lib/sisu/v5/xhtml_shared.rb @@ -58,7 +58,6 @@  =end  module SiSU_XHTML_Shared -  require_relative 'defaults'                           # defaults.rb    require_relative 'xhtml_table'                        # xhtml_table.rb    class TableXHTML < SiSU_XHTML_Table::TableXHTML    end diff --git a/lib/sisu/v5/xhtml_table.rb b/lib/sisu/v5/xhtml_table.rb index 33e4f48e..5e6b2c57 100644 --- a/lib/sisu/v5/xhtml_table.rb +++ b/lib/sisu/v5/xhtml_table.rb @@ -58,12 +58,13 @@  =end  module SiSU_XHTML_Table -  require_relative 'defaults'                           # defaults.rb +  require_relative 'xhtml_parts'                         # xhtml_parts.rb    class TableXHTML +    include SiSU_Parts_XHTML      @@tablehead=0      @@tablefoot=[] #watch      def initialize(table) -      @table_obj,@vz=table,SiSU_Viz::Defaults.new +      @table_obj=table      end      def table        table_obj=@table_obj @@ -80,7 +81,7 @@ module SiSU_XHTML_Table          trc,nc=[],0          table_row_with_columns.each do |c|            c=c.gsub(/^~$/,''). # tilde / empty cell -            gsub(/<:br>/,'<br />') +            gsub(/<:br>/,the_line_break)            trc <<= if table_obj.head_ and nr==0; %{<th width="#{table_obj.widths[nc]}%">#{c}</th>}            else %{<td width="#{table_obj.widths[nc]}%">#{c}</td>}            end diff --git a/lib/sisu/v5/xml_dom.rb b/lib/sisu/v5/xml_dom.rb index 215b6d61..58fd4b64 100644 --- a/lib/sisu/v5/xml_dom.rb +++ b/lib/sisu/v5/xml_dom.rb @@ -58,8 +58,6 @@     ** Notes: tidy -xml dom.xml >> index.tidy  =end  module SiSU_XML_DOM -  require_relative 'defaults'                           # defaults.rb -    include SiSU_Viz    require_relative 'se_hub_particulars'                 # se_hub_particulars.rb      include SiSU_Particulars    require_relative 'se'                                 # se.rb @@ -167,7 +165,6 @@ module SiSU_XML_DOM        def initialize(particulars)          @env,             @md,           @ao_arr=            particulars.env,particulars.md,particulars.ao_array -        @vz=SiSU_Viz::Defaults.new          @trans=SiSU_XML_Munge::Trans.new(@md)          @sys=SiSU_Env::SystemCall.new        end @@ -519,8 +516,6 @@ WOK                    format_text.scr_inden_ocn_e_no_paranum                  end                end -              if dob.obj !~/#{@vz.margin_txt_0}|#{@vz.margin_txt_1}|#{@vz.margin_txt_2}/ -              end              else #              end              dob.obj=dob.obj.gsub(/#{Mx[:pa_o]}:\S+#{Mx[:pa_c]}/,'') if dob.obj diff --git a/lib/sisu/v5/xml_format.rb b/lib/sisu/v5/xml_format.rb index 7959696c..0b319683 100644 --- a/lib/sisu/v5/xml_format.rb +++ b/lib/sisu/v5/xml_format.rb @@ -60,8 +60,8 @@  =end  module SiSU_XML_Format    require_relative 'dp'                                 # dp.rb -    include SiSU_Param -  include SiSU_Viz +  require_relative 'xml_parts'                          # xml_parts.rb +  include SiSU_Param    class ParagraphNumber      def initialize(md,paranum)        @md=md @@ -86,6 +86,7 @@ module SiSU_XML_Format      end    end    class HeadInformation +    include SiSU_Parts_XML      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 @@ -197,7 +198,6 @@ module SiSU_XML_Format          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_Viz::Defaults.new #margin,paragraph,table,banner,url,png,txt,color,font,nav_txt,nav_png,credits,js,php        @index='index'      end      def meta_content_clean(content='') @@ -279,6 +279,7 @@ WOK      end    end    class FormatTextObject +    include SiSU_Parts_XML      attr_accessor :md,:txt,:format,:paranum,:p_num,:para_id,:headname,:font      def initialize(md,dob)        @md,@dob=md,dob @@ -292,7 +293,6 @@ WOK        @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_Viz::Defaults.new      end      def scr_endnote_body        "<endnote>#{@txt}</endnote> " @@ -368,13 +368,12 @@ WOK      end    end    class HeadInformation -    include SiSU_Viz +    include SiSU_Parts_XML      attr_reader :md,:sfx,:pdf,:rdf,:vz      def initialize(md)        @md=md        @rdf=SiSU_XML_Tags::RDF.new(md)        # DublinCore 1 - title -      @vz=SiSU_Viz::Defaults.new        @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 || []) @@ -389,7 +388,7 @@ WOK      end      def table_close        %{  </font> -#{@vz.table_close}} +#{the_table_close}}      end      def html_close #moved      %{</body> @@ -398,597 +397,8 @@ WOK    end    class XML    end -  class HeadToc < HeadInformation -    def initialize(md) -      super(md) -      @md=md -      @tocband_scroll,@tocband_segtoc=make_scroll,make_seg -    end -    def scroll_head_navigation_band -      pdf=if @md.programs[:pdf] -        <<WOK -<td align="center" width="60%"> -  #{make_seg_scroll_pdf} -</td> -WOK -      else '' -      end -      %{<table summary="table of contents scroll navigation band" id="toc" width="100%" bgcolor=#{@vz.color_band1}> -<tr><td width="20%"> -  #{@vz.banner_band} -</td>#{pdf} -<td width="20%"> -    -#{@vz.table_close} -<p />} -    end -    def concordance_navigation_band(type='') -      if type=~/pdf/ -        @tocband_concordance=make_concordance -      end -      %{<table summary="concordance navigation band" id="toc" width="100%" bgcolor=#{@vz.color_band1}> -<tr><td width="20%"> - #{@vz.banner_band} -</td> -<td width="60%" align="center"> -  #{@tocband_concordance} -</td> -<td width="20%" align="right"> -   <a href="index.html" target="_top" alt="->"> -      #{@vz.png_nav_toc} -    </a>  -#{@vz.table_close} -<p />} -    end -    def seg_head_navigation_band(type='') -      if type=~/pdf/ -        @tocband_segtoc=make_scroll_seg_pdf -      end -      firstseg=%{<a href="#{@md.firstseg}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top" alt="->"> -      #{@vz.png_nav_nxt} -    </a>} if @md.firstseg =~/\S+/ -      %{<table summary="table of contents segment navigation band" id="toc" width="100%" bgcolor=#{@vz.color_band1}> -<tr><td width="20%"> - #{@vz.banner_band} -</td> -<td width="60%" align="center"> -  #{@tocband_segtoc} -</td> -<td width="20%" align="right"> -   #{firstseg}  -#{@vz.table_close} -<p />} -    end -    def seg_head_navigation_band_bottom(type='') -      if type=~/pdf/ -        @tocband_segtoc=make_scroll_seg_pdf -      end -      firstseg=%{<a href="#{@md.firstseg}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top" alt="->"> -      #{@vz.png_nav_nxt} -    </a>} if @md.firstseg =~/\S+/ -      %{<table summary="table of contents segment navigation band" id="toc" width="100%" bgcolor=#{@vz.color_band1}> -<tr><td width="20%"> -   -</td> -<td width="60%" align="center"> -  #{@tocband_segtoc} -</td> -<td width="20%" align="right"> -   #{firstseg}  -#{@vz.table_close} -<p />} -    end -    def make_seg_scroll_pdf -      wgt=Widget.new(@md) -      scroll=%{<td align="center" bgcolor=#{@vz.color_band2}> -  #{@vz.nav_txt_doc_link} -</td> -} -      %{<table summary="toc segment and scroll with pdf" border="0" cellpadding="3" cellspacing="0"> -<tr> -  #{scroll} -  #{wgt.seg(@vz.nav_txt_toc_link)}#{wgt.pdf}#{wgt.odf} -  #{wgt.concordance(@vz.nav_txt_concordance)} -  #{wgt.manifest} -  #{wgt.search} -  #{wgt.home} -</tr></table>} -    end -    def make_scroll_seg_pdf -      seg='' -      wgt=Widget.new(@md) -      seg=%{<td align="center" bgcolor=#{@vz.color_band2}> -  #{@vz.nav_txt_toc_link} -</td> -} -      %{<table summary="toc scroll and segment with pdf" border="0" cellpadding="3" cellspacing="0"> -<tr> -  #{seg} -  #{wgt.scroll(@vz.nav_txt_doc_link)}#{wgt.pdf}#{wgt.odf} -<td align="center" bgcolor=#{@vz.color_band2}> -  #{wgt.concordance(@vz.nav_txt_concordance)} -  #{wgt.manifest} -  #{wgt.search} -  #{wgt.home} -</tr></table>} -    end -    def make_concordance -      wgt=Widget.new(@md) -      %{<table summary="toc scroll and segment with pdf" border="0" cellpadding="3" cellspacing="0"> -<tr> -  #{wgt.seg(@vz.nav_txt_toc_link)}#{wgt.scroll(@vz.nav_txt_doc_link)}#{wgt.pdf}#{wgt.odf} -<td align="center" bgcolor=#{@vz.color_band2}> -  #{wgt.concordance(@vz.nav_txt_concordance)} -  #{wgt.manifest} -  #{wgt.search} -  #{wgt.home} -</tr></table>} -    end -    def head -      %{#{doc_type} -<head> -  <title> -    #{@md.html_title} -  </title> -<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> -#{@rdf.rdftoc} -#{@rdf.metatag_html} -#{@stylesheet.css_head} -</head> -#{@vz.color_body} -<a name="top" id="top"></a> -<a name="up" id="up"></a> -<a name="start" id="start"></a>} -    end -    def links_guide_open(type='horizontal') -      if type=='vertical'; links_guide_vertical_open -      else                 links_guide_horizontal_open -      end -    end -    def links_guide_close #(type='horizontal') -      insert='' -      insert=if @md.sfx_src =~/s?/ -        link='http://sisudoc.org'                          #get from defaults -        url='sisudoc.org' -        insert= %{ -  <li class="ref"> -    <a href="#{link}" target="_top"> -      #{url} -    </a> -  </li> -  </ul> -</div> -} -      end -      %{ #{insert} -<!- quick ref -!>} -    end -    def prefix_a -    end -    def rights -      copyright=meta_content_clean(@md.rights.copyright.all) -      rights=copyright(/^\s*Copyright\s+\(C\)/,'Copyright <sup>©</sup> ') -      %{<p class="small_left">Rights: #{rights}</p> -<p />} -    end -    def prefix_b -      %{<p class="small_left">Prefix: #{@md.prefix_b}<p />} -    end -    def scroll_head_title_banner_open -      %{<center> -#{@md.icon} -</center> -#{@vz.banner_instrument_cover_band_scr}} -    end -    def seg_head_title_banner_open -      %{<center> -  #{@md.icon} -</center> -#{@vz.banner_instrument_cover_band_seg}} -    end -    def make_scroll -      concord=concordance_link(@vz.nav_txt_concordance) -      %{<table summary="toc scroll" border="0" cellpadding="3" cellspacing="0"> -<tr><td align="center" bgcolor="white" border="0"> -  #{@vz.nav_txt_doc_link} -</td> -<td align="center" bgcolor="white"> -   #{concord} -#{@vz.table_close}} -    end -    def make_seg -      concord=concordance_link(@vz.nav_txt_concordance) -      %{<table summary="toc segment" border="0" cellpadding="3" cellspacing="0"> -<tr><td align="center" bgcolor="white"> -  #{@vz.nav_txt_toc_link} -</td> -<td align="center" bgcolor="white"> -  <font size=2> -   #{concord} -#{@vz.table_close}} -    end -    def manifest #check structure -      manifest=manifest_link(@vz.nav_txt_manifest) -      %{#{@vz.margin_txt_3} -  #{@vz.paragraph_font_small} -   #{manifest} -    </font> -#{@vz.table_close}} -    end -    def concordance #check structure -      concord=concordance_link(@vz.nav_txt_concordance) -      %{#{@vz.margin_txt_3} -  #{@vz.paragraph_font_small} -   #{concord} -    </font> -#{@vz.table_close}} -    end -    def metadata -      %{#{@vz.margin_css} -  <h4 class="toc"> -    <a href="#{@metalink}"> -      <i>MetaData</i> -    </a> -  </h4> -#{@vz.table_close}} -    end -    def seg_tail -      %{ -<div class="main_column"> -<p> <p> -<table summary="toc segment tail" bgcolor=#{@vz.color_band1}> -<tr><td width="20%"> -  #{@vz.banner_band} -</td> -<td width="60%"> -  <center> -    #{@tocband_segtoc} -  </center> -</td></tr> -</table> -<p> </p> -#{@vz.credits_splash} -#{@vz.credits_sisu} -<a name="bottom" id="bottom"></a> -<a name="down" id="down"></a> -<a name="end" id="end"></a> -<a name="finish" id="finish"></a> -<a name="stop" id="stop"></a> -<a name="credits"></a> -</div> -</div> -</div> -} -    end -    def scroll_tail #debug -      nav=scroll_head_navigation_band -      %{ -<div class="main_column"> -#{nav} -#{@vz.credits_splash} -#{@vz.credits_sisu} -<a name="bottom" id="bottom"></a> -<a name="down" id="down"></a> -<a name="end" id="end"></a> -<a name="finish" id="finish"></a> -<a name="stop" id="stop"></a> -<a name="credits"></a> -</div> -</div> -</div> -} -    end -    def seg_navigation_tail #this is a bug area, look up and "tidy" -      #nav=scroll_head_navigation_band -      %{ -<div class="main_column"> -<p> </p> -#{@vz.credits_splash} -#{@vz.credits_sisu} -<a name="bottom" id="bottom"></a> -<a name="down" id="down"></a> -<a name="end" id="end"></a> -<a name="finish" id="finish"></a> -<a name="stop" id="stop"></a> -<a name="credits"></a> -</div> -</div> -</div> -} -    end -  end -  class HeadSeg < HeadInformation -    def initialize(md) #(md='') -      super(md) -    end -    def head -      %{#{doc_type} -<head> -  <title> -    #{@seg_name_html[@seg_name_html_tracker]} - -    #{@md.html_title} -  </title> -<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> -#{@rdf.rdfseg} -#{@rdf.metatag_html} -#{@vz.font_css_table_file} -</head> -#{@vz.color_body} -<a name="top" id="top"></a> -<a name="up" id="up"></a> -<a name="start" id="start"></a>} -    end -    def title_banner(title,subtitle,creator) -    end -    def dot_control_pre_next -      %{<table summary="segment hidden control pre and next" width="100%" border="0" cellpadding="0" bgcolor=#{@vz.color_grey_pale} align="center"> -<tr><td align="left"> -  <a href="#{@seg_name_html[@seg_name_html_tracker-1]}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top"> -    #{@vz.png_nav_dot_pre} -  </a> -</td> -<td align="center"> -  <a href="#{@index}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top"> -    #{@vz.png_nav_dot_toc} -  </a> -</td> -<td align="right"> -  <a href="#{@seg_name_html[@seg_name_html_tracker+1]}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top"> -    #{@vz.png_nav_dot_nxt} -  </a> -#{@vz.table_close}} -    end -    def toc_nav(f_pre=false,f_nxt=false,use=1) -      pre=nxt='' -      toc=%{<td align="center" bgcolor=#{@vz.color_band1}> -  <a href="#{@index}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top"> -    #{@vz.png_nav_toc} -  </a> -</td>} -      pre=%{<td align="center" bgcolor=#{@vz.color_band1}> -  <a href="#{@seg_name_html[@seg_name_html_tracker-use]}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top"> -    #{@vz.png_nav_pre} -  </a> -</td>} if f_pre==true -      nxt=%{<td align="center" bgcolor=#{@vz.color_band1}> -  <a href="#{@seg_name_html[@seg_name_html_tracker+1]}#{@md.lang_code_insert}#{Sfx[:xhtml]}" target="_top"> -    #{@vz.png_nav_nxt} -  </a> -</td>} if f_nxt==true -      %{<table summary="segment navigation pre/next" border="0" cellpadding="3" cellspacing="0"> -<tr> -#{pre} -#{toc} -#{nxt} -<td> -#{@vz.table_close}} -    end -    def toc_next2 -      toc_nav(false,true).dup -    end -    def toc_pre_next2 -      toc_nav(true,true).dup -    end -    def toc_pre2 -      toc_nav(true,false,2).dup -    end -    def doc_types #used in seg_nav_band ### -      wgt=Widget.new(@md) -      #dir=SiSU_Env::InfoEnv.new(@md.fns) -      if @md.concord_make -        %{ -<table summary="segment navigation available documents types: toc,doc,pdf,concordance" border="0" cellpadding="3" cellspacing="0"> -<tr> -  #{wgt.seg(@vz.nav_txt_toc_link)} -  #{wgt.scroll(@vz.nav_txt_doc_link)} -  #{wgt.pdf}#{wgt.odf} -<td align="center" bgcolor=#{@vz.color_band2}> -  #{wgt.concordance(@vz.nav_txt_concordance)} -  #{wgt.manifest} -  #{wgt.search} -  #{wgt.home} -</tr></table>} -      else -        %{ -<table summary="segment navigation available documents types: toc,doc,pdf,concordance" border="0" cellpadding="3" cellspacing="0"> -<tr> -  #{wgt.seg(@vz.nav_txt_toc_link)} -  #{wgt.scroll(@vz.nav_txt_doc_link)} -  #{wgt.pdf}#{wgt.odf} -<td align="center" bgcolor=#{@vz.color_band2}> -  #{wgt.manifest} -  #{wgt.search} -  #{wgt.home} -</tr></table>} -      end -    end -    def navigation_table -      %{<table summary="navigation segment table" width=#{@vz.table_width_1} border="0" bgcolor="white" cellpadding="0"> -<tr><th width="#{@@indent['leve_1']}" align="right"> -</td> -<td valign="top"> -  <font size=2>} -    end -    def navigation_table1 -      %{<table summary="navigation segment table1" width=#{@vz.table_width_1} border="0" cellpadding=#{@vz.table_cellpad_box} bgcolor=#{@vz.color_table1} align="left"> -<tr><td valign="top"> -  <font size="2">} -    end -    def navigation_table2 -      %{<table summary="navigation segment table2" width=#{@vz.table_width_2} border="0" cellpadding=#{@vz.table_cellpad_box} bgcolor=#{@vz.color_table2} align="left"> -<tr><td valign="top"> -  <font size="2">} -    end -    def header_advert_local_1 -      dir=SiSU_Env::InfoEnv.new(@fns) -      %{  <center> -<table summary="image" border="0" cellpadding="3" cellspacing="0" align="center"> -<tr><td align="center" bgcolor="white"> -  <a href="http://#{@md.ad_url}#{Sfx[:xhtml]}" target="_top"> -    <img border="0" src="#{dir.url.images_local}/#{@md.ad_png}" alt="#{@md.ad_alt}"> -  </a> -  <p /> -#{@vz.table_close} -</center>} -    end -    def header_advert_local_2 -      dir=SiSU_Env::InfoEnv.new(@fns) -      %{  <center> -<table summary="image" border="0" cellpadding="3" cellspacing="0" align="center"> -<tr><td align="center" bgcolor="white"> -  <a href="#{@md.ad_url}#{Sfx[:xhtml]}" target="_top"> -    <img border="0" src="#{dir.url.images_local}/#{@md.ad_png}" alt="#{@md.ad_alt}"> -  </a> -  <p /> -#{@vz.table_close} -</center>} -    end -    def header_advert_external -      dir=SiSU_Env::InfoEnv.new(@fns) -      %{  <center> -<table summary="image" border="0" cellpadding="3" cellspacing="0" align="center"> -<tr><td align="center" bgcolor="white"> -  <a href="#{@md.ad_url}#{Sfx[:xhtml]}" target="external"> -    <img border="0" src="#{dir.url.images_local}/#{@md.ad_png}" alt="#{@md.ad_alt}"> -  </a> -  <p /> -#{@vz.table_close} -</center>} -    end -    def credit -      %{ -<div class="main_column"> -#{@vz.credits_splash} -#{@vz.credits_sisu} -<a name="bottom" id="bottom"></a> -<a name="down" id="down"></a> -<a name="end" id="end"></a> -<a name="finish" id="finish"></a> -<a name="stop" id="stop"></a> -<a name="credits" id="credits"></a> -</div></div> -} -    end -    def navigation_band(segtocband,seg_table_top_control) #change name to navigaion_band_banner -      %{<table summary="segment navigation band with banner" bgcolor=#{@vz.color_band1} width="100%"><tr> -<td width="20%" align="left"> -#{@vz.banner_band} -</td> -<td width="60%" align="center"> -  #{doc_types} -</td> -<td width="20%" align="right"> -  #{segtocband} -</td></tr> -</table> -#{seg_table_top_control}} -    end -    def navigation_band_bottom(segtocband,seg_table_top_control) #change name to navigaion_band_bannerless -      %{ -<div class="main_column"> -  <table summary="segment navigation band" bgcolor=#{@vz.color_band1} width="100%"><tr> -  <td width="70%" align="center"> -    #{doc_types} -  </td> -  <td width="30%" align="right"> -    #{segtocband} -  </td></tr> -  </table> -  #{seg_table_top_control} -</div> -} -    end -    def endnote_mark -%{ -<p class="center" id="endnotes"> -  <hr class="endnote" /> -</p>} -    end -    def endnote_section_open -%{ -<div class="endnote"> -} -    end -    def endnote_section_close -%{ -</div> -} #revisit -    end -    def head -      %{#{doc_type} -<head> -  <title> -    #{@seg_name_html[@seg_name_html_tracker]} - -    #{@md.html_title} -  </title> -<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> -#{@rdf.rdfseg} -#{@rdf.metatag_html} -#{@stylesheet.css_head} -</head> -#{@vz.color_body} -<a name="top" id="top"></a> -<a name="up" id="up"></a> -<a name="start" id="start"></a>} -    end -    def title_banner(title,subtitle,creator) -      %{ -<div class="summary"> -  <p class="tiny"> -    #{title} -  </p> -  <p class="tiny"> -    #{subtitle} -  </p> -  <p class="tiny"> -    #{creator} -  </p> -  <p class="tiny"> -    copy @ -    <a href="#{@vz.url_home}"> -      #{@vz.txt_home} -    </a> -  </p> -</div> -} -    end -  end -  class HeadScroll < HeadToc -    def initialize(md) #(md='') -      super(md) -    end -    def toc_owner_details -      %{#{@vz.margin_txt_3} -#{@vz.paragraph_font_small} -  <a href="#owner.details"> -    Owner Details -    <font size="1" color="#777777"> -          -    </font> -  </a> -  </font> -#{@vz.table_close}} -    end -    def table -      %{<table summary="scroll table" width=#{@vz.table_width_1} border="0" bgcolor="white" cellpadding="0"> -<tr><th width=#{@@indent['level_1']} align="right"> -</th> -<td valign="top"> -#{@vz.paragraph_txt}} -    end -    def table1 -      %{<table summary="scroll table1" width=#{@vz.table_width_1} border="0" cellpadding=#{@vz.table_cellpad_box} #{@vz.color_color_table1} align="justify"> -<tr><td valign="top"> -#{@vz.paragraph_txt}} -    end -    def table2 -      %{<table summary="scroll table2" width=#{@vz.table_width_1} border="0" cellpadding=#{@vz.table_cellpad_box} #{@vz.color_color_table2} align="justify"> -<tr><td valign="top"> -#{@vz.paragraph_txt}} -    end -  end    class FormatTextObject -    @vz=SiSU_Viz::Defaults.new +    include SiSU_Parts_XML      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 @@ -1034,7 +444,6 @@ WOK          end        end        @dob=t_o if defined? t_o.is -      @vz=SiSU_Viz::Defaults.new      end      def endnote_body        %{ @@ -1183,13 +592,13 @@ WOK        end      end      def bold_para -      %{#{@vz.margin_txt_0} +      %{#{the_margin.txt_0}    <p class="bold">      #{@txt}    </p> -#{@vz.margin_num_css} +#{the_margin.num_css}        -#{@vz.table_close}} +#{the_table_close}}      end      def bold_header        @txt=@txt.gsub(/[1-9]~(\S+)/,'<a name="\1"></a>'). @@ -1197,9 +606,9 @@ WOK        %{<p class="bold">      #{@txt}    </p> -#{@vz.margin_num_css} +#{the_margin.num_css}        -#{@vz.table_close}} +#{the_table_close}}      end      def toc_head_copy_at        %{<p class="center">#{@txt}</p>\n} @@ -1215,9 +624,9 @@ WOK      end    end    class FormatScroll < FormatTextObject +    include SiSU_Parts_XML      def initialize(md,txt)        super(md,txt) -      @vz=SiSU_Viz::Defaults.new      end    end    class FormatSeg < FormatTextObject @@ -1240,11 +649,11 @@ WOK  <tr><td width ="20">  </td>  <td> -  <font size="3" #{@vz.font_face}> +  <font size="3" #{the_font.set_face}>      <b>#{@txt}</b>    </font>    </p> -#{@vz.table_close}} +#{the_table_close}}      end      def navigation_toc_lev3                                                      #change bold use css        %{<p /> @@ -1252,11 +661,11 @@ WOK  <tr><td width ="20">  </td>  <td> -  <font size="3" #{@vz.font_face}> +  <font size="3" #{the_font.set_face}>      <b>#{@txt}</b>    </font>    </p> -#{@vz.table_close}} +#{the_table_close}}      end      def navigation_toc_lev4        %{<table summary="navigation segment level 4"> @@ -1266,7 +675,7 @@ WOK  <p>    #{@txt}  </p> -#{@vz.table_close}} +#{the_table_close}}      end      def navigation_toc_lev5      end @@ -1344,7 +753,7 @@ WOK  <p class="bold">    #{@txt}  </p> -#{@vz.table_close}} +#{the_table_close}}      end      def navigation_header5        %{<p class="bold"> diff --git a/lib/sisu/v5/xml_odf_odt.rb b/lib/sisu/v5/xml_odf_odt.rb index e120d7b9..b2957e54 100644 --- a/lib/sisu/v5/xml_odf_odt.rb +++ b/lib/sisu/v5/xml_odf_odt.rb @@ -63,7 +63,7 @@ module SiSU_XML_ODF_ODT    require_relative 'ao'                                 # ao.rb    require_relative 'se'                                 # se.rb      include SiSU_Env -  include SiSU_Viz +  require_relative 'xml_parts'                          # xml_parts.rb    require_relative 'xml_odf_odt_format'                 # xml_odf_odt_format.rb      include SiSU_XML_ODF_ODT_Format    require_relative 'shared_metadata'                    # shared_metadata.rb @@ -128,8 +128,8 @@ module SiSU_XML_ODF_ODT      end      private      class Scroll <Source -      require_relative 'defaults'                       # defaults.rb        require_relative 'txt_shared'                     # txt_shared.rb +      include SiSU_Parts_XML        @@img_count=0        @@odf={ body: [], head: [], toc: [],  metadata: [], tail: [], book_idx: [], endnotes: [] }        @@docstart=true @@ -137,9 +137,7 @@ module SiSU_XML_ODF_ODT        def initialize(particulars)          @md,@env,@ao_array=particulars.md,particulars.env,particulars.ao_array          @make=SiSU_Env::ProcessingSettings.new(@md) -        @vz=SiSU_Viz::Defaults.new          @tab="\t" -        @brace_url=SiSU_Viz::Defaults.new.url_decoration          @br=(@md.opt.act[:maintenance][:set]==:on) \          ? '' : ''        end @@ -422,9 +420,9 @@ module SiSU_XML_ODF_ODT          dob.obj=dob.obj.gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,              '<text:a xl:type="simple" xl:href="\1">\1</text:a>'). #http ftp matches escaped, no decoration            gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/, -            %{#{@brace_url.xml_open}<text:a xl:type="simple" xl:href="mailto:\\1">\\1</text:a>#{@brace_url.xml_close}}). +            %{#{the_url_decoration.xml_open}<text:a xl:type="simple" xl:href="mailto:\\1">\\1</text:a>#{the_url_decoration.xml_close}}).            gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, -            %{#{@brace_url.xml_open}<text:a xl:type="simple" xl:href="\\1">\\1</text:a>#{@brace_url.xml_close}}) #http ftp matches with decoration +            %{#{the_url_decoration.xml_open}<text:a xl:type="simple" xl:href="\\1">\\1</text:a>#{the_url_decoration.xml_close}}) #http ftp matches with decoration          dob.obj= if dob.is==:para \          and dob.indent.to_s =~/[0-9]/ \          and dob.indent == dob.hang @@ -441,7 +439,7 @@ module SiSU_XML_ODF_ODT        end        def footnote_urls(str)          str=str.gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, -          %{#{@brace_url.xml_open}<text:a xl:type="simple" xl:href="\\1">\\1</text:a>#{@brace_url.xml_close}}) +          %{#{the_url_decoration.xml_open}<text:a xl:type="simple" xl:href="\\1">\\1</text:a>#{the_url_decoration.xml_close}})          str=text_link(str) if str =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/          str=text_link_relative(str) if str =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}/          str @@ -516,9 +514,9 @@ module SiSU_XML_ODF_ODT          dob.obj=dob.obj.gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,              '<text:a xl:type="simple" xl:href="\1">\1</text:a>'). #http ftp matches escaped, no decoration            gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/, -            %{#{@brace_url.xml_open}<text:a xl:type="simple" xl:href="mailto:\\1">\\1</text:a>#{@brace_url.xml_close}}). +            %{#{the_url_decoration.xml_open}<text:a xl:type="simple" xl:href="mailto:\\1">\\1</text:a>#{the_url_decoration.xml_close}}).            gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, -            %{#{@brace_url.xml_open}<text:a xl:type="simple" xl:href="\\1">\\1</text:a>#{@brace_url.xml_close}}) #http ftp matches with decoration +            %{#{the_url_decoration.xml_open}<text:a xl:type="simple" xl:href="\\1">\\1</text:a>#{the_url_decoration.xml_close}}) #http ftp matches with decoration          dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each_with_index do |parablock,i|            set_ref=(i==0) ? "#{p_num[:set_ref]}#{set_bookmark_tag(dob)}" : ''            parablock=group_clean(parablock) @@ -541,9 +539,9 @@ module SiSU_XML_ODF_ODT          dob.obj=dob.obj.gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,              '<text:a xl:type="simple" xl:href="\1">\1</text:a>'). #http ftp matches escaped, no decoration            gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/, -            %{#{@brace_url.xml_open}<text:a xl:type="simple" xl:href="mailto:\\1">\\1</text:a>#{@brace_url.xml_close}}). +            %{#{the_url_decoration.xml_open}<text:a xl:type="simple" xl:href="mailto:\\1">\\1</text:a>#{the_url_decoration.xml_close}}).            gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, -            %{#{@brace_url.xml_open}<text:a xl:type="simple" xl:href="\\1">\\1</text:a>#{@brace_url.xml_close}}) #http ftp matches with decoration +            %{#{the_url_decoration.xml_open}<text:a xl:type="simple" xl:href="\\1">\\1</text:a>#{the_url_decoration.xml_close}}) #http ftp matches with decoration          dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each_with_index do |parablock,i|            set_ref=(i==0) ? "#{p_num[:set_ref]}#{set_bookmark_tag(dob)}" : ''            parablock=group_clean(parablock) diff --git a/lib/sisu/v5/xml_odf_odt_format.rb b/lib/sisu/v5/xml_odf_odt_format.rb index 03db3f9d..64bf1315 100644 --- a/lib/sisu/v5/xml_odf_odt_format.rb +++ b/lib/sisu/v5/xml_odf_odt_format.rb @@ -60,7 +60,6 @@  module SiSU_XML_ODF_ODT_Format    require_relative 'dp'                                 # dp.rb      include SiSU_Param -  include SiSU_Viz    class ParagraphNumber      def initialize(make,paranum)        @make=make @@ -146,7 +145,6 @@ module SiSU_XML_ODF_ODT_Format        end        rgx=/#{Mx[:en_a_o]}\d+\s+(.+?)#{Mx[:en_a_c]}/        @txt=@txt.gsub(rgx,'\1') if @txt =~rgx -      @vz=SiSU_Viz::Defaults.new      end      def scr_endnote_body        "<endnote>#{@txt}</endnote> " @@ -173,7 +171,6 @@ module SiSU_XML_ODF_ODT_Format      def initialize(md,dob,p_num)        @md,@dob,@p_num=md,dob,p_num        @txt=dob.obj -      @vz=SiSU_Viz::Defaults.new        if @md.fns != @@fns          @@table_counter=0          @@fns=@md.fns diff --git a/lib/sisu/v5/xml_parts.rb b/lib/sisu/v5/xml_parts.rb new file mode 100644 index 00000000..c08fc05c --- /dev/null +++ b/lib/sisu/v5/xml_parts.rb @@ -0,0 +1,194 @@ +# encoding: utf-8 +=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, 2008, 2009, 2010, 2011, 2012, 2013, 2014 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 + + * 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/v5/html_parts.rb;hb=HEAD> + + * Ralph Amissah +   <ralph@amissah.com> +   <ralph.amissah@gmail.com> + + ** Description: shared html parts + +=end +module SiSU_Parts_XML +  require_relative 'generic_parts'                       # generic_parts.rb +  include SiSU_Parts_Generic +  def the_line_break +    '<br />' +  end +  def the_table_close +    '</td></tr> +</table>' +  end +  def the_url_decoration +    def xml_open                     #'<' +      Dx[:url_o] +    end +    def xml_close                    #'>' +      Dx[:url_c] +    end +    def txt_open +      '<' +    end +    def txt_close +      '>' +    end +    self +  end +  def the_color +    def white +      '#ffffff' +    end +    def black +      '#000000' +    end +    def grey_pale +      '#eeeeee' +    end +    def grey_medium +      '#cccccc' +    end +    def grey +      '#999999' +    end +    def blue_ink +      '#003399' +    end +    def blue_tinge +      '#e3ecef' +    end +    def yellow_light +      '#fff3b6' +    end +    def table1 +      'ffffcc' +    end +    def table2 +      'c0d0f0' +    end +    def band1 +      %{"#{white}"} +    end +    def band2 +      %{"#{white}"} +    end +    self +  end +  def the_png +    def _url_path_image_base #used for html image display +      "#{Xx[:html_relative2]}_sisu/image" +    end +    def ico +      %{  <link rel="shortcut icon" href="../_sisu/image/#{the_icon.i_ico}" />} +    end +    def png_home +      %{<img border="0" src="#{_url_path_image_base}/#{the_icon.home_button}" alt="#{the_text.home} -->" />} +    end +    def png_home_button +      rel=@dir.path_rel_links.html_scroll_2 +      %{<img border="0" src="#{rel}/#{the_icon.home_button}" alt="#{the_text.home} -->" />} +    end +    self +  end +  def the_font +    def set_fonts +      'verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman' +     #'verdana, arial, georgia, tahoma, sans-serif, helvetica, "times new roman", times, roman' +    end +    def set_face +      %{face="#{set_fonts}"} +    end +    #def set_color +    #  'color="#000000"' +    #end +    #def set_size_endnote +    #  'size="3"' +    #end +    #def set_small +    #  'size="3"' +    #end +    #def set_tiny +    #  'size="2"' +    #end +    #def paragraph_font_tiny +    #  %{<font #{set_tiny} #{set_face}>} +    #end +    #def paragraph_font_small +    #  %{<font #{set_small} #{set_face}>} +    #end +    self +  end +  def the_banner +    def home_button_only +      %{<a href="#{url.site}/"> +  #{the_png.png_home_button} +  </a>} +    end +    def banner_band +      %{<table summary="home button" width="100%" border="0" cellpadding="3" align="center"> +<tr><td align="left" valign="middle"> +  <a href="#{url.site}/" target="_top"> +    #{the_png.png_home} +  </a> +</td> +<td width="90%"> +#{the_table_close}} +    end +    self +  end +end +module SiSU_Proj_XML +  require_relative 'html_parts'                         # html_parts.rb +  require_relative 'se'                                 # se.rb +  include SiSU_Env +  class Bits < SiSU_Proj_HTML::Bits +  end +end +__END__ diff --git a/lib/sisu/v5/xml_sax.rb b/lib/sisu/v5/xml_sax.rb index 17ff4327..87205488 100644 --- a/lib/sisu/v5/xml_sax.rb +++ b/lib/sisu/v5/xml_sax.rb @@ -58,8 +58,6 @@  =end  module SiSU_XML_SAX -  require_relative 'defaults'                           # defaults.rb -    include SiSU_Viz    require_relative 'se_hub_particulars'                 # se_hub_particulars.rb      include SiSU_Particulars    require_relative 'se'                                 # se.rb @@ -168,7 +166,6 @@ module SiSU_XML_SAX        def initialize(particulars)          @env,             @md,           @ao_arr=            particulars.env,particulars.md,particulars.ao_array -        @vz=SiSU_Viz::Defaults.new          @trans=SiSU_XML_Munge::Trans.new(@md)          @sys=SiSU_Env::SystemCall.new        end diff --git a/lib/sisu/v5/xml_shared.rb b/lib/sisu/v5/xml_shared.rb index 2a8ac27e..a5f5e114 100644 --- a/lib/sisu/v5/xml_shared.rb +++ b/lib/sisu/v5/xml_shared.rb @@ -57,13 +57,13 @@   ** Description: common file for xml generation  =end  module SiSU_XML_Munge +  require_relative 'xml_parts'                          # xml_parts.rb    class Trans -    require_relative 'defaults'                         # defaults.rb +    include SiSU_Parts_XML      def initialize(md)        @md=md        @sys=SiSU_Env::SystemCall.new        @dir=SiSU_Env::InfoEnv.new(@md.fns) -      @brace_url=SiSU_Viz::Defaults.new.url_decoration        if @md.sem_tag          @ab ||=semantic_tags.default        end @@ -297,7 +297,7 @@ module SiSU_XML_Munge            gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,              '<link xmlns:xl="http://www.w3.org/1999/xlink" xl:type="simple" xl:href="\2">\1</link>'). #watch, compare html_tune            gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/, -            %{#{@brace_url.xml_open}<link xmlns:xl="http://www.w3.org/1999/xlink" xl:type="simple" xl:href="\\1">\\1</link>#{@brace_url.xml_close}}). +            %{#{the_url_decoration.xml_open}<link xmlns:xl="http://www.w3.org/1999/xlink" xl:type="simple" xl:href="\\1">\\1</link>#{the_url_decoration.xml_close}}).            gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,              '<link xmlns:xl="http://www.w3.org/1999/xlink" xl:type="simple" xl:href="\1">\1</link>') #escaped urls not linked, deal with later        else @@ -307,7 +307,7 @@ module SiSU_XML_Munge          dob.obj=dob.obj.gsub(/#{Mx[:gl_bullet]}/,'● ')        end        dob.obj=dob.obj.gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/, -          %{#{@brace_url.xml_open}\\1#{@brace_url.xml_close}}). +          %{#{the_url_decoration.xml_open}\\1#{the_url_decoration.xml_close}}).          gsub(/#{Dx[:url_o]}/,"#{Dx[:url_o_xml]}").          gsub(/#{Dx[:url_c]}/,"#{Dx[:url_c_xml]}").          gsub(/ |#{Mx[:nbsp]}/m,' '). @@ -470,8 +470,8 @@ end  module SiSU_XML_Tags #Format    require_relative 'dp'                                 # dp.rb      include SiSU_Param -  include SiSU_Viz    class RDF +    include SiSU_Parts_XML      def initialize(md='',seg_name=[],tracker=0)        @full_title=@subtitle=@author=@subject=@description=@publisher=@contributor=@date=@date_created=@date_issued=@date_available=@date_valid=@date_modified=@type=@format=@identifier=@source=@language=@relation=@coverage=@rights=@copyright=@owner=@keywords=''        @md=md @@ -595,7 +595,6 @@ module SiSU_XML_Tags #Format        end        content=meta_content_clean(@md.keywords)        @keywords=%{  <meta name="keywords" content="#{content}" />\n} if @md.keywords -      @vz=SiSU_Viz::Defaults.new      end      def meta_content_clean(content='')        content=if not content.nil? @@ -654,8 +653,8 @@ WOK      def metatag_html #values strung together, because some empty, and resulting output (line breaks) is much better  <<WOK  #{@full_title}#{@subtitle}#{@author}#{@subject}#{@description}#{@publisher}#{@contributor}#{@date}#{@date_created}#{@date_issued}#{@date_available}#{@date_valid}#{@date_modified}#{@type}#{@format}#{@identifier}#{@source}#{@language}#{@relation}#{@coverage}#{@rights}#{@copyright}#{@owner} -#{@vz.txt_generator} -#{@vz.png_ico} +#{SiSU_Proj_XML::Bits.new.txt_generator} +#{the_png.ico}  WOK      end    end diff --git a/lib/sisu/v5/xml_tables.rb b/lib/sisu/v5/xml_tables.rb index fe957a99..76ecffe1 100644 --- a/lib/sisu/v5/xml_tables.rb +++ b/lib/sisu/v5/xml_tables.rb @@ -58,13 +58,11 @@  =end  module SiSU_Tables -  require_relative 'defaults'                           # defaults.rb -    include SiSU_Viz    class Table #_xml      @@tablehead=0      @@tablefoot=[] #watch #bug??? #check was @@tablefoot      def initialize(one,ocn='') -      @one,@parablock,@ocn,@vz=one,one,ocn,SiSU_Viz::Defaults.new +      @one,@parablock,@ocn=one,one,ocn      end      def table_split                                                            #% used but, no longer operational, revisit        @new_content=[] @@ -79,7 +77,7 @@ module SiSU_Tables      @@tablehead=0      @@tablefoot=[]      def initialize(one,ocn='') -      @one,@parablock,@ocn,@vz=one,one,ocn,SiSU_Viz::Defaults.new +      @one,@parablock,@ocn=one,one,ocn      end      def table        m=@parablock[/<!f(.+?)!>/,1] @@ -124,7 +122,6 @@ module SiSU_Tables      @@tablefoot=[] #watch      def initialize(table,id='')        @table_obj,@id=table,id -      @vz=SiSU_Viz::Defaults.new      end      def spaces        Ax[:spaces] @@ -181,7 +178,14 @@ module SiSU_Tables      @@tablehead=0      @@tablefoot=[]      def initialize(one) -      @one,@parablock,@vz=one,one,SiSU_Viz::Defaults.new +      @one,@parablock=one,one +    end +    def table_close +      '</td></tr> +</table>' +    end +    def margin_numless +      '</td><td width="4%" align="right" valign="top">'      end      def table_head(inf)        %{<table summary="normal text css" width="100%" border="0" bgcolor="white" cellpadding="2" align="center"> @@ -193,7 +197,7 @@ module SiSU_Tables  <table summary="normal text css" width="100%" border="0" bgcolor="white" cellpadding="2" align="center">}      end      def table_end(tablefoot='') -      %{</table>#{@vz.margin_numless}#{@vz.margin_numless} #{@vz.table_close} +      %{</table>#{the_margin_numless}#{the_margin_numless} #{the_table_close}  #{tablefoot}}      end      def table_row(inf,h=false) @@ -216,13 +220,15 @@ module SiSU_Tables        @@tablefoot << m if m        @parablock=@parablock.gsub(/<!f.+?!>/,'')        @@tablehead=1 if @parablock =~/#{Mx[:gr_o]}Th#{Mx[:tc_p]}/u -      if @parablock =~/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}.+?#{Mx[:tc_p]}~(\d+);\w\d+;\w\d+#{Mx[:gr_c]}/u; @parablock=table_head($1) +      if @parablock =~/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}.+?#{Mx[:tc_p]}~(\d+);\w\d+;\w\d+#{Mx[:gr_c]}/u +        @parablock=table_head($1)        end        if @parablock =~/#{Mx[:gr_o]}TZ#{Mx[:gr_c]}/          tablefoot=[]          @@tablefoot.each {|x| tablefoot << ''}          @@tablefoot=[] -        if @parablock =~/#{Mx[:gr_o]}TZ#{Mx[:gr_c]}/; @parablock=table_end +        if @parablock =~/#{Mx[:gr_o]}TZ#{Mx[:gr_c]}/ +          @parablock=table_end          end        end        if @@tablehead==1 | 
