# encoding: utf-8
=begin
* Name: SiSU
* Description: a framework for document structuring, publishing and search
* Author: Ralph Amissah
* Copyright: (C) 1997 - 2012, Ralph Amissah, All Rights Reserved.
* License: GPL 3 or later:
SiSU, a framework for document structuring, publishing and search
Copyright (C) Ralph Amissah
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option)
any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
You should have received a copy of the GNU General Public License along with
this program. If not, see .
If you have Internet connection, the latest version of the GPL should be
available at these locations:
* SiSU uses:
* Standard SiSU markup syntax,
* Standard SiSU meta-markup syntax, and the
* Standard SiSU object citation numbering and system
* Hompages:
* Download:
* Ralph Amissah
** Description: Default values (reset by skins)
=end
$latex_run=nil
module SiSU_Viz
require 'uri'
require_relative 'sysenv' # sysenv.rb
include SiSU_Env
require_relative 'css' # css.rb
include SiSU_Style
class Skin
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
#% php
def php_persist
end
#% javascript #kxjs knxjs
def js_home
end
def js_infobox
end
def js_knxjs
end
def js_head
end
def js_top
end
def js_sisu
end
def js_home
end
def js_sponsor
end
def js_books
end
def js_journals
end
def js_conferences
end
def js_services
end
def js_catalogue
end
def js_doc
end
def js_toc
end
def js_seg
end
def js_mail
end
def js_manifest
end
def js_status
end
def js_next
end
def js_prev
end
def js_plaintext
end
def js_portrait
end
def js_landscape
end
def js_pdf
end
def js_epub
end
def js_odf
end
def js_concordance
end
def js_instruments
end
def js_external
end
def js_gopher
end
def js_ftp
end
def js_law
end
def js_disclaimer
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
%{ }
end
#% text #changed from txt to avoid naming conflicts #FOLLOW
def txt_generator
%{
}
end
def txt_generator_comment
%{ }
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_path_image_epub
'./image'
end
def url_path_ebook_dir
'./ebook'
end
def url_path_ebook_images
'.'
end
def url_promo
''
end
def url_promo_home
''
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_shadow
'"4"'
end
def color_body
%{}
end
def color_white
'"#ffffff"'
end
def color_black
'#000000'
end
def color_shadow #hmmm
'"4"'
end
def color_blue_dark
'#000099'
end
def color_blue
'blue'
end
def color_blue_base
'#b9d4dd'
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
%{}
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_status
'b_status.png'
end
def icon_external
'b_ext.png'
end
def icon_external_toc
'b_ext_toc.png'
end
def icon_seg_toc
'b_bluebell.png'
end
def icon_crosslink_toc
'b_amber.png'
end
def icon_mail
'b_mail.png'
end
def icon_para
'b_para.png'
end
def icon_pdf
'b_pdf.png'
end
def icon_ftp
'b_ftp.png'
end
def icon_gopher
'b_gopher.png'
end
def icon_choice
'b_choice.png'
end
def icon_new
'b_new.png'
end
def icon_book
'b_amber.png'
# b_book.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_amber
'b_amber.png'
end
def icon_rose
'b_rose.png'
end
def icon_bluebell
'b_bluebell.png'
end
def icon_home_button
'sisu.png'
end
def icon_home_banner
'sisu.png'
end
def icon_site
'b_home.png'
end
def icon_bluedot
'blueband.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_lmtoc_face
%{face="#{font_fonts}"}
end
def font_ebook_face
%{face="#{font_fonts}"}
end
def font_face_lmtoc
%{face="#{font_fonts}"}
end
def font_color
'color="#000000"'
end
def font_size
'size="4"'
end
def font_size_txt
'size="4"'
end
def font_size_txt_00
'size="3"'
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$/; '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]=if x =~/i/; /#{m}/i
else /#{m}/
end
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$/; '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]=if x =~/i/; /#{m}/i
else /#{m}/
end
else nil
end
make
end
end
#% paragraph
def paragraph_txt
%{
}
end
def paragraph_txt_00
%{
}
end
def paragraph_font_citation
%{}
end
def paragraph_endnote
%{
}
end
def paragraph_table
%{
}
end
def paragraph_table_xml
end
def paragraph_tiny
%{
}
end
def paragraph_small
%{
} # keep but not used?
end
def paragraph_font_tiny
%{}
end
def paragraph_font_small
%{}
end
def paragraph_heading_1
%{
}
end
def paragraph_heading_1_center
%{
}
end
#% table
def table_close
'
'
end
def table_close_centered_table
end
def table_align_A
end
def table_align_B
end
def table_align_C
end
def table_width_1
'"100%"'
end
def table_width_2
'"99%"'
end
def table_width_3
'"94%"'
end
def table_width_4
'"90%"'
end
def table_width_txt
'"94%"'
end
def table_width_txt_avgo
'"100%"'
end
def table_width_txt_r
'"96%"'
end
def table_cellpad_small_paper_margins
'"6"'
end
def table_cellpad_paper_margins
'"36"'
end
def table_cellpad_A
'"0"'
end
def table_cellpad_B
'"20"'
end
def table_cellpad_shadow
'"4"'
end
def table_cellpad_band
'"16"'
end
def table_cellpad_box
'"20"'
end
def table_table_align_A
'
'
end
def table_table_align_B
'
'
end
def table_table_align_C
' '
end
#% table_do
def table_do_table_paper
%{#{table_align_C}
\n\n}
end
def table_do_table_surround
%{
\n}
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
'
'
end
def margin_numless
'
'
end
def margin_num_css
'
'
end
def margin_num_header
'
'
end
def margin_txt_00_1
%{
}
end
def margin_txt_w1
%{
}
end
def margin_txt_w2
%{
}
end
def margin_txt_0
%{
}
end
def margin_txt_1
%{
}
end
def margin_txt_2
%{
}
end
def margin_txt_3
%{
}
end
def margin_css #unused, check
'
'
end
#% png
def png_ico
%{ }
end
def png_sisu #check url path
%{ }
end
def png_hp
dir=SiSU_Env::InfoEnv.new #(@fns)
%{ }
end
def png_site
%{}
end
def png_homepage
png_site
end
def png_nav
%{}
end
def png_manifest
%{}
end
def png_doc
%{}
end
def png_toc
%{}
end
def png_odf
%{}
end
def png_epub
%{}
end
def png_pdf
%{}
end
def png_pdf_portrait
%{}
end
def png_pdf_landscape
%{}
end
def png_wmp
%{}
end
def png_para
%{}
end
def png_status
%{}
end
def png_mark
%{}
end
def png_doc_tiny
%{}
end
def png_toc_tiny
%{}
end
def png_status_tiny
%{}
end
def png_ftp
%{}
end
def png_gopher
%{}
end
def png_crosslink
%{}
end
def png_crosslink_ext
%{}
end
def png_home
#dir=SiSU_Env::InfoEnv.new #(@fns)
%{}
#%{}
end
def png_home_button
rel=@dir.path_rel_links.html_scroll_2
%{}
end
def png_book
%{}
end
#% png_nav
def png_nav_home
end
def png_nav_toc
%{}
end
def png_nav_doc
end
def png_nav_previous
%{}
end
def png_nav_next
%{}
end
def png_nav_pre
png_nav_previous
end
def png_nav_nxt
png_nav_next
end
def epub_png_nav_previous
%{}
end
def epub_png_nav_next
%{}
end
def epub_png_nav_up
%{}
end
def epub_png_nav_pre
epub_png_nav_previous
end
def epub_png_nav_nxt
epub_png_nav_next
end
def epub_png_nav_toc
epub_png_nav_up
end
def png_nav_pdf
%{}
end
def png_nav_pdf_portrait
%{}
end
def png_nav_pdf_landscape
%{}
end
def png_nav_dot_toc
%{}
end
def png_nav_dot_previous
%{}
end
def png_nav_dot_next
%{}
end
def png_nav_dot_pre
png_nav_dot_previous
end
def png_nav_dot_nxt
png_nav_dot_next
end
#% nav_txt
def nav_txt_home
%{
#{png_site}
}
end
def nav_txt_home_button
%{
#{png_home_button}
}
end
def nav_txt_homepage
%{
home
}
end
def nav_txt_toc_link
%{
toc
}
end
def nav_txt_toc_link_verbose
%{
#{png_toc} segments' toc
}
end
def nav_txt_doc_link
%{
scroll
}
end
def nav_txt_manifest
#{png_manifest} document manifest
%{
[ document manifest ]
}
end
def nav_txt_concordance
%{
A-Z
}
end
def nav_txt_previous
'
<< Previous
Full Text '
end
def nav_txt_next
%{
Next >>
}
end
def nav_txt_plaintext
%{
txt
}
end
def nav_txt_odf
%{
odt
}
end
def nav_txt_pdfs
%{
pdfs
}
end
def nav_txt_epub
%{
epub
}
end
def nav_txt_pdf_portrait
%{
pdf
}
end
def nav_txt_pdf_landscape
%{
pdf
}
end
#% banner
def banner_home
%{
#{png_site}
an
( international | transnational )
commercial law & e-commerce
infrastructure monitor
'
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 widget_browsers
<
If you have problems viewing pages on this site please update your browser:
#{credits_splash}
#{table_close}
}
end
end
class Home < Skin
def initialize
@v=SiSU_Env::InfoVersion.instance.get_version
@dir=SiSU_Env::InfoEnv.new
@date=SiSU_Env::InfoDate.new #{@date.year}
end
def redirect
<SiSU
SiSU informtion provided at www.sisudoc.org/sisu/SiSU
If your browser supports redirection, you will be escorted there shortly.