class SiSU_Info_Env::InfoEnv

Attributes

base_markup_dir_stub[RW]
env[RW]
etc[RW]
filename[RW]
flv[RW]
fnb[RW]
fnn[RW]
fnt[RW]
home[RW]
hostname[RW]
processing[RW]
processing_git[RW]
rc[RW]
stub_pwd[RW]
stub_src[RW]
sys[RW]
user[RW]
webserv_host_cgi[RW]
webserv_path[RW]
webserv_port_cgi[RW]
www[RW]
yamlrc_dir[RW]

Public Class Methods

new(fns='',md=nil) click to toggle source
Calls superclass method SiSU_Env_Call::EnvCall::new
# File lib/sisu/se_info_env.rb, line 79
def initialize(fns='',md=nil)
  super() #you may not want to re-execute this static info so frequently!
  @init=SiSU_Env::GetInit.new #SiSU_Get_Init::GetInit
  @fns,@md=fns,md
  @env=SiSU_Env::EnvCall.new(fns) if fns #SiSU_Env_Call::EnvCall
  fnb=if @md \
  and defined? @md.fnb
    @md.fnb
  elsif defined? @env.fnb \
  and @env.fnb
    @env.fnb
  elsif @fns.is_a?(String) \
  and not @fns.empty?
    m=/(.+)?\.(?:(?:-|ssm\.)?sst|ssm)$/m
    @fns[m,1] if not @fns.empty?
  end
  if fnb; @@fb ||=fnb
  end
  @sys=SiSU_Info_Sys::InfoSystem.instance
  @fnb ||=@@fb #clean up this... used primarily for zap which is not passed normal parameters
  @fixed_websev_root='' # @home
  @pwd=@@pwd=Dir.pwd
  @base_markup_dir_stub=SiSU_Utils::Path.new.base_markup_stub
  @stub_src=     @base_markup_dir_stub + '/src'
  @stub_pod=     @base_markup_dir_stub + '/pod'
  @stub_epub=    @base_markup_dir_stub + '/epub'
  m=/.+\/(?:src\/)?(\S+)/m # m=/.+?\/(?:src\/)?([^\/]+)$/im # m=/.+\/(\S+)/m
  @stub_pwd=@@pwd[m,1] || '' #; p __LINE__; #p @pwd; #p m; #p @stub_pwd
  pt=Pathname.new(Dir.pwd)
  stub=if output_dir_structure.by_language_code?
    r=Px[:lng_lst_rgx]
    stub=if Dir.pwd =~/.+?\/([^\/]+)(?:\/(#{r})$)/
      lng=pt.split[-1].to_s
      lng_part='/' + lng
      base=pt.split[0].split[-1].to_s
    else
      lng_part='/' + language_default_set
      base=pt.split[-1].to_s
    end
    base + lng_part
  elsif output_dir_structure.by_filetype?
    pt.split[-1].to_s
  elsif  output_dir_structure.by_filename?
    ''
  else
    SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).
      warn('set output type, by: language, filetype or filename')
  end
  @stub_set_manifest=stub + '/manifest'
end

Public Instance Methods

ao() click to toggle source
# File lib/sisu/se_info_env.rb, line 1403
def ao
  pth=if defined? @rc['processing']['dal'] \
    and @rc['processing']['dal'].is_a?(String)
    "#{processing}/#{@rc['processing']['dal']}"
  else "#{processing}/#{defaults[:processing_ao]}"
  end
  FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
  pth
end
arch() click to toggle source
# File lib/sisu/se_info_env.rb, line 138
def arch
  @sys.arch
end
asciidoc_ocn?() click to toggle source
# File lib/sisu/se_info_env.rb, line 551
def asciidoc_ocn?
  ((defined? @rc['asciidoc']['ocn']) \
  && @rc['asciidoc']['ocn']==true) \
  ? @rc['asciidoc']['ocn']
  : false
end
bin() click to toggle source
# File lib/sisu/se_info_env.rb, line 1096
def bin
  @sys.dir_bin
end
build() click to toggle source
# File lib/sisu/se_info_env.rb, line 353
def build
  def omit_list
    @off_list ||=if defined? @rc['omit_list'] \
    and @rc['omit_list'].is_a?(String)
      @rc['omit_list']
    elsif defined? @rc['omit']['list'] \
    and @rc['omit']['list'].is_a?(String)
      @rc['omit']['list']
    else
      nil
    end
  end
  def listed?(test) #fix
    listed=if omit_list
      x=(omit_list.scan(/\b#{test}\b/)).join
      test==x \
      ? true
      : false
    else
      false
    end
    listed
  end
  def ocn?
    if (defined? @rc['omit']['ocn'] \
    and not @rc['omit']['ocn'].nil?) \
    or listed?('ocn')
      :off
    else
      :na
    end
  end
  def toc?
    if (defined? @rc['omit']['toc'] \
    and not @rc['omit']['toc'].nil?) \
    or listed?('toc')
      :off
    else
      :na
    end
  end
  def manifest?
    if (defined? @rc['omit']['manifest'] \
    and not @rc['omit']['manifest'].nil?) \
    or listed?('manifest')
      :off
    else
      :na
    end
  end
  def links_to_manifest?
    if (defined? @rc['omit']['links_to_manifest'] \
    and not @rc['omit']['links_to_manifest'].nil?) \
    or (listed?('links_to_manifest') \
    ||  listed?('manifest_links'))
      :off
    else
      :na
    end
  end
  def metadata?
    if (defined? @rc['omit']['metadata'] \
    and not @rc['omit']['metadata'].nil?) \
    or listed?('metadata')
      :off
    else
      :na
    end
  end
  def minitoc?
    if (defined? @rc['omit']['minitoc'] \
    and not @rc['omit']['minitoc'].nil?) \
    or (listed?('minitoc'))
      :off
    else
      :na
    end
  end
  def manifest_minitoc?
    if (defined? @rc['omit']['manifest_minitoc'] \
    and not @rc['omit']['manifest_minitoc'].nil?) \
    or listed?('manifest_minitoc')
      :off
    else
      :na
    end
  end
  def html_minitoc?
    if (defined? @rc['omit']['html_minitoc'] \
    and not @rc['omit']['html_minitoc'].nil?) \
    or (listed?('html_minitoc') \
    || listed?('minitoc'))
      :off
    else
      :na
    end
  end
  def html_navigation?
    if (defined? @rc['omit']['html_navigation'] \
    and not @rc['omit']['html_navigation'].nil?) \
    or listed?('html_navigation')
      :off
    else
      :na
    end
  end
  def html_navigation_bar?
    if (defined? @rc['omit']['html_navigation_bar'] \
    and not @rc['omit']['html_navigation_bar'].nil?) \
    or listed?('html_navigation_bar')
      :off
    else
      :na
    end
  end
  def segsubtoc?
    if (defined? @rc['omit']['segsubtoc'] \
    and not @rc['omit']['segsubtoc'].nil?) \
    or listed?('segsubtoc')
      :off
    else
      :na
    end
  end
  def html_right_pane?
    if (defined? @rc['omit']['html_right_pane'] \
    and not @rc['omit']['html_right_pane'].nil?) \
    or listed?('html_right_pane')
      :off
    else
      :na
    end
  end
  def html_top_band?
    if (defined? @rc['omit']['html_top_band'] \
    and not @rc['omit']['html_top_band'].nil?) \
    or listed?('html_top_band')
      :off
    else
      :na
    end
  end
  def search_form? #decide later, as is configured here (in sisurc) and can be turned off on command line
    if (defined? @rc['omit']['search_form'] \
    and not @rc['omit']['search_form'].nil?) \
    or listed?('search_form')
      :off
    else
      :na
    end
  end
  def html_search_form? #decide later, as is configured here (in sisurc) and can be turned off on command line
    if (defined? @rc['omit']['html_search_form'] \
    and not @rc['omit']['html_search_form'].nil?) \
    or listed?('html_search_form')
      :off
    else
      :na
    end
  end
  self
end
cgi() click to toggle source
# File lib/sisu/se_info_env.rb, line 1203
def cgi
  (defined? @rc['webserv']['cgi']) \
  ? "#{@rc['webserv']['cgi']}"
  : (defaults[:webserv_cgi])
end
cgi_sample_search_form_name(opt=nil) click to toggle source
# File lib/sisu/se_info_env.rb, line 1745
def cgi_sample_search_form_name(opt=nil)
  if opt.selections.str \
  =~/--(?:cgi-)?search-form-name[=-]["']?(\S+?\.cgi)/
    $1
  elsif not opt.selections.str =~/--db[=-]["']?sqlite/ \
  and defined? @rc['search'] \
  and defined? @rc['search']['sisu'] \
  and defined? @rc['search']['sisu']['action'] \
  and @rc['search']['sisu']['action'] =~/https?:\/\/\S+?\.cgi/
    /(?:https?:\/\/\S+?)\/([^\/]+?\.cgi)$/.
      match(@rc['search']['sisu']['action'])[1]
  else
    (opt.selections.str =~/--db[=-]["']?sqlite/) \
    ? "#{Db[:name_prefix_db]}sqlite.cgi" \
    :  "#{Db[:name_prefix_db]}pg.cgi"
  end
end
cjk() click to toggle source
# File lib/sisu/se_info_env.rb, line 958
def cjk
  (defined? @rc['default']['texpdf_fontface_cjk']) \
  && (@rc['default']['texpdf_fontface_cjk']=~/\S{3,}/)  \
  ? @rc['default']['texpdf_fontface_cjk']
  : 'IPAGothic' # 'IPAGothic' # 'IPAMincho' # 'TakaoMincho' # 'VL Gothic'
end
cjk_ja() click to toggle source
# File lib/sisu/se_info_env.rb, line 970
def cjk_ja
  (defined? @rc['default']['texpdf_fontface_cjk_ja']) \
  && (@rc['default']['texpdf_fontface_cjk_ja']=~/\S{3,}/)  \
  ? @rc['default']['texpdf_fontface_cjk_ja']
  : 'IPAGothic'
end
cjk_ko() click to toggle source
# File lib/sisu/se_info_env.rb, line 976
def cjk_ko
  (defined? @rc['default']['texpdf_fontface_cjk_ko']) \
  && (@rc['default']['texpdf_fontface_cjk_ko']=~/\S{3,}/)  \
  ? @rc['default']['texpdf_fontface_cjk_ko']
  : 'IPAGothic'
end
cjk_zh() click to toggle source
# File lib/sisu/se_info_env.rb, line 964
def cjk_zh
  (defined? @rc['default']['texpdf_fontface_cjk_zh']) \
  && (@rc['default']['texpdf_fontface_cjk_zh']=~/\S{3,}/)  \
  ? @rc['default']['texpdf_fontface_cjk_zh']
  : 'IPAGothic'
end
composite_file() click to toggle source
# File lib/sisu/se_info_env.rb, line 1421
def composite_file
  pth=processing_path.ao  #"#{processing}/composite"
  FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
  pth
end
concord_max() click to toggle source
# File lib/sisu/se_info_env.rb, line 147
def concord_max
  ((defined? @rc['processing']['concord_max']) \
  && @rc['processing']['concord_max']) \
  ? @rc['processing']['concord_max']
  : (defaults[:concord_max])
end
console_web_browser() click to toggle source
# File lib/sisu/se_info_env.rb, line 1956
def console_web_browser
  if defined? @rc['program_select']['console_www_browser'] \
  and @rc['program_select']['console_www_browser'] =~/\S\S+/
    @rc['program_select']['console_www_browser']
  elsif defined? @rc['program_select']['console_web_browser'] \
  and @rc['program_select']['console_web_browser'] =~/\S\S+/
    @rc['program_select']['console_web_browser']
  else 'console-www-browser'                                             #'lynx' 'links' 'links2' 'elinks' 'w3m'
  end
end
console_www_browser() click to toggle source
# File lib/sisu/se_info_env.rb, line 1966
def console_www_browser
  web_browser
end
current_document() click to toggle source
# File lib/sisu/se_info_env.rb, line 184
def current_document
  @@current_document||=Dir.pwd
  @@current_document
end
defaults() click to toggle source
# File lib/sisu/se_info_env.rb, line 324
def defaults                       #multiple default directories
  @default_dir ||=@sys.default_dir #DEFAULT_DIR
end
digest(opt=nil) click to toggle source
# File lib/sisu/se_info_env.rb, line 1900
def digest(opt=nil)
  @opt=opt
  def type
    if @opt
      case @opt.act[:hash_digest_algo]
      when :sha512 then :sha512
      when :sha256 then :sha256
      when :md5    then :md5
      else              digest_conf?
      end
    else                digest_conf?
    end
  end
  def length
    case digest(@opt).type
    when :sha512 then 128
    when :sha256 then  64
    when :md5    then  32
    else               64
    end
  end
  def pattern
    "[0-9a-f]{#{digest(@opt).length}}" #/[0-9a-f]{#{digest.length}}/
  end
  self
end
digest_conf?() click to toggle source
# File lib/sisu/se_info_env.rb, line 1888
def digest_conf?
  if defined? @rc['default']['digest'] \
  and @rc['default']['digest'] != nil
    case @rc['default']['digest']
    when /^sha(?:5|512)?$/ then :sha512
    when /^sha(?:2|256)?$/ then :sha256
    when /^md5$/           then :md5
    else                        :sha256
    end
  else                          :sha256
  end
end
dir_url() click to toggle source
# File lib/sisu/se_info_env.rb, line 1565
def dir_url
  "file://#{path.webserv}/#{stub_pwd}"
end
docbook_viewer() click to toggle source
# File lib/sisu/se_info_env.rb, line 1981
def docbook_viewer
  ((defined? @rc['program_select']['xml_viewer']) \
  && @rc['program_select']['xml_viewer'] =~/\S\S+/) \
  ? @rc['program_select']['xml_viewer']
  : text_editor
end
encoding() click to toggle source
# File lib/sisu/se_info_env.rb, line 1271
def encoding
  pth="#{processing}/#{defaults[:processing_encoding]}"
  FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
  pth
end
epub() click to toggle source
# File lib/sisu/se_info_env.rb, line 1471
def epub
  "#{processing}/epub/#{@fnb}"
end
epub_bld() click to toggle source
# File lib/sisu/se_info_env.rb, line 1474
def epub_bld #(md)
  FileUtils::rm_rf(processing_path.epub) \
    if FileTest.directory?(processing_path.epub)
  FileUtils::mkdir_p(processing_path.epub) \
    unless FileTest.directory?(processing_path.epub)
  FileUtils::mkdir_p("#{processing_path.epub}/META-INF") \
    unless FileTest.directory?("#{processing_path.epub}/META-INF")
  FileUtils::mkdir_p("#{processing_path.epub}/#{Ep[:d_oebps]}/image") \
    unless FileTest.directory?("#{processing_path.epub}/#{Ep[:d_oebps]}/image")
  FileUtils::mkdir_p("#{processing_path.epub}/#{Ep[:d_oebps]}/css") \
    unless FileTest.directory?("#{processing_path.epub}/#{Ep[:d_oebps]}/css")
  processing_path.epub
end
epub_cp_images(md) click to toggle source
# File lib/sisu/se_info_env.rb, line 1487
def epub_cp_images(md)
  pth="#{processing_path.epub}/#{Ep[:d_oebps]}/image"
  FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
  src=(md.opt.sisu_install_type? == :full_path_to_sisu_bin_in_sisu_dir_tree) \
  ? "#{md.opt.sisu_data_dir?}/image"
  : "#{md.opt.sisu_data_dir?}/sisu/image"
  images=%W[bullet_09.png arrow_next_red.png arrow_prev_red.png arrow_up_red.png]
  images.each do |i| #move to avoid repeated tests
    if FileTest.file?("#{src}/#{i}")
      FileUtils::cp("#{src}/#{i}","#{pth}/#{i}") \
        unless FileTest.file?("#{pth}/#{i}")
    else STDERR.puts %{\t*WARN* did not find image - "#{i}" [#{__FILE__}:#{__LINE__}]}
    end
  end
  pth
end
epub_viewer() click to toggle source
# File lib/sisu/se_info_env.rb, line 1969
def epub_viewer
  ((defined? @rc['program_select']['epub_viewer']) \
  && @rc['program_select']['epub_viewer'] =~/\S\S+/) \
  ? @rc['program_select']['epub_viewer']
  : 'ebook-viewer'                                                    #'calibre' 'fbreader'
end
feed() click to toggle source
# File lib/sisu/se_info_env.rb, line 1190
def feed
  (defined? @rc['webserv']['feed']) \
  ? ("#{public_output}/#{@rc['webserv']['feed']}")
  : (defaults[:webserv_feed])
end
feed_home() click to toggle source
# File lib/sisu/se_info_env.rb, line 1195
def feed_home
  "#{public_output}/#{@rc['webserv']['feed_home']}"
end
fictionbook_viewer() click to toggle source
# File lib/sisu/se_info_env.rb, line 1987
def fictionbook_viewer
  ((defined? @rc['program_select']['xml_viewer']) \
  && @rc['program_select']['xml_viewer'] =~/\S\S+/) \
  ? @rc['program_select']['xml_viewer']
  : text_editor
end
file_encoding() click to toggle source
# File lib/sisu/se_info_env.rb, line 2017
def file_encoding
  is=(defined? @rc['program_set']['file_encoding']) \
  ? @rc['program_set']['encoding'] : ''
  (is.nil? || is==true) ? 'encoding' : is
end
font() click to toggle source
# File lib/sisu/se_info_env.rb, line 920
def font
  def size(pt=nil)
    if pt && pt != :na
      pt
    elsif defined? @rc['default']['fontsize'] \
    && @rc['default']['fontsize']=~/\d{1,2}/
      @rc['default']['fontsize']
    else :na
    end
  end
  def texpdf
    # you may wish to check selected font against available fonts:
    # fc-list :outline -f "%{family}\n"
    # fc-list :lang=ja
    def main
      (defined? @rc['default']['texpdf_fontface']) \
      && (@rc['default']['texpdf_fontface']=~/\S{3,}/)  \
      ? @rc['default']['texpdf_fontface']
      : 'Liberation Sans'
    end
    def sans                       # not used
      (defined? @rc['default']['texpdf_fontface_sans']) \
      && (@rc['default']['texpdf_fontface_sans']=~/\S{3,}/)  \
      ? @rc['default']['texpdf_fontface_sans']
      : 'Liberation Sans'
    end
    def serif                      # not used
      (defined? @rc['default']['texpdf_fontface_serif']) \
      && (@rc['default']['texpdf_font_serif']=~/\S{3,}/)  \
      ? @rc['default']['texpdf_fontface_serif']
      : 'Liberation Serif'
    end
    def mono
      (defined? @rc['default']['texpdf_fontface_mono']) \
      && (@rc['default']['texpdf_fontface_mono']=~/\S{3,}/)  \
      ? @rc['default']['texpdf_fontface_mono']
      : 'Liberation Mono'
    end
    def cjk
      (defined? @rc['default']['texpdf_fontface_cjk']) \
      && (@rc['default']['texpdf_fontface_cjk']=~/\S{3,}/)  \
      ? @rc['default']['texpdf_fontface_cjk']
      : 'IPAGothic' # 'IPAGothic' # 'IPAMincho' # 'TakaoMincho' # 'VL Gothic'
    end
    def cjk_zh
      (defined? @rc['default']['texpdf_fontface_cjk_zh']) \
      && (@rc['default']['texpdf_fontface_cjk_zh']=~/\S{3,}/)  \
      ? @rc['default']['texpdf_fontface_cjk_zh']
      : 'IPAGothic'
    end
    def cjk_ja
      (defined? @rc['default']['texpdf_fontface_cjk_ja']) \
      && (@rc['default']['texpdf_fontface_cjk_ja']=~/\S{3,}/)  \
      ? @rc['default']['texpdf_fontface_cjk_ja']
      : 'IPAGothic'
    end
    def cjk_ko
      (defined? @rc['default']['texpdf_fontface_cjk_ko']) \
      && (@rc['default']['texpdf_fontface_cjk_ko']=~/\S{3,}/)  \
      ? @rc['default']['texpdf_fontface_cjk_ko']
      : 'IPAGothic'
    end
    def size(pt=nil)
      if pt && pt != :na
        pt
      elsif (defined? @rc['default']['texpdf_fontsize']) \
      && (@rc['default']['texpdf_fontsize']=~/\d{1,2}/)
        @rc['default']['texpdf_fontsize']
      elsif (defined? @rc['default']['fontsize']) \
      && (@rc['default']['fontsize']=~/\d{1,2}/)
        @rc['default']['fontsize']
      else
        :na
      end
    end
    self
  end
  self
end
git() click to toggle source
# File lib/sisu/se_info_env.rb, line 1426
def git
  pth=if defined? @rc['git']['dir'] \
  and @rc['git']['dir'].is_a?(String)
    (@rc['git']['dir'] =~/^(?:~|home)$/) \
    ? home + '/' + Gt[:git]
    : @rc['git']['dir'] + '/' + Gt[:git]
  else defaults[:processing_git]
  end
  unless FileTest.directory?(pth)
    FileUtils::mkdir_p(pth)
    File.chmod(0700,pth)
  end
  pth
end
host() click to toggle source
# File lib/sisu/se_info_env.rb, line 135
def host
  @sys.host
end
html() click to toggle source
# File lib/sisu/se_info_env.rb, line 1590
def html
  "#{root}/html"
end
html_minitoc?() click to toggle source
# File lib/sisu/se_info_env.rb, line 339
def html_minitoc?
  if defined? @rc['html']['minitoc'] \
  and @rc['html']['minitoc'].is_a?(String)
    @rc['html']['minitoc']
  else false
  end
end
html_navigation?() click to toggle source
# File lib/sisu/se_info_env.rb, line 450
def html_navigation?
  if (defined? @rc['omit']['html_navigation'] \
  and not @rc['omit']['html_navigation'].nil?) \
  or listed?('html_navigation')
    :off
  else
    :na
  end
end
html_navigation_bar?() click to toggle source
# File lib/sisu/se_info_env.rb, line 459
def html_navigation_bar?
  if (defined? @rc['omit']['html_navigation_bar'] \
  and not @rc['omit']['html_navigation_bar'].nil?) \
  or listed?('html_navigation_bar')
    :off
  else
    :na
  end
end
html_quick_ref?() click to toggle source
# File lib/sisu/se_info_env.rb, line 333
def html_quick_ref?
  ((defined? @rc['html']['quick_ref']) \
  && @rc['html']['quick_ref']==true) \
  ? @rc['html']['quick_ref']
  : false
end
html_right_pane?() click to toggle source
# File lib/sisu/se_info_env.rb, line 477
def html_right_pane?
  if (defined? @rc['omit']['html_right_pane'] \
  and not @rc['omit']['html_right_pane'].nil?) \
  or listed?('html_right_pane')
    :off
  else
    :na
  end
end
html_scroll_1() click to toggle source
# File lib/sisu/se_info_env.rb, line 1018
def html_scroll_1
  if @env.output_dir_structure.by_language_code?
    '../'
  elsif @env.output_dir_structure.by_filetype?
    '../'
  else
    './'
  end
end
html_scroll_2() click to toggle source
# File lib/sisu/se_info_env.rb, line 1000
def html_scroll_2
  if @env.output_dir_structure.by_language_code?
    '../../'
  elsif @env.output_dir_structure.by_filetype?
    '../'
  else
    '../'
  end
end
html_search_form?() click to toggle source
# File lib/sisu/se_info_env.rb, line 504
def html_search_form? #decide later, as is configured here (in sisurc) and can be turned off on command line
  if (defined? @rc['omit']['html_search_form'] \
  and not @rc['omit']['html_search_form'].nil?) \
  or listed?('html_search_form')
    :off
  else
    :na
  end
end
html_seg_1() click to toggle source
# File lib/sisu/se_info_env.rb, line 1027
def html_seg_1
  if @env.output_dir_structure.by_language_code?
    '../../'
  elsif @env.output_dir_structure.by_filetype?
    '../../'
  else
    './'
  end
end
html_seg_2() click to toggle source
# File lib/sisu/se_info_env.rb, line 1009
def html_seg_2
  if @env.output_dir_structure.by_language_code?
    '../../../'
  elsif @env.output_dir_structure.by_filetype?
    '../../'
  else
    '../'
  end
end
html_seg_title_banner?() click to toggle source
# File lib/sisu/se_info_env.rb, line 327
def html_seg_title_banner?
  ((defined? @rc['html']['seg_title_banner']) \
  && @rc['html']['seg_title_banner']==true) \
  ? @rc['html']['seg_title_banner']
  : false
end
html_top_band?() click to toggle source
# File lib/sisu/se_info_env.rb, line 486
def html_top_band?
  if (defined? @rc['omit']['html_top_band'] \
  and not @rc['omit']['html_top_band'].nil?) \
  or listed?('html_top_band')
    :off
  else
    :na
  end
end
i18n() click to toggle source
# File lib/sisu/se_info_env.rb, line 2059
def i18n
  def language                     # language settings
    m=/.+\/\S+?\~(\S+)/
    pwd=Dir.pwd
    conf=(defined? @rc['default']['language']) \
    ? @rc['default']['language'] : nil
    l=if pwd=~ m    then pwd[m,1]                                        #2 directory: by visible directory name
    elsif conf      then @rc['default']['language']                      #3 config: from sisurc.yaml
    else            defaults[:language]                                  #4 sisu: program default
    end                                                                  #1 document: param gets
    SiSU_Env::StandardiseLanguage.new(l)
  end
  #def multilingual
  #  x=(defined? @rc['output_structure']['multilingual'] \
  #  && @rc['output_structure']['multilingual'] ==true) \
  #  ? true : false
  #end
  #def bundle
  #  x=(defined? @rc['output_structure']['bundle'] \
  #  && @rc['output_structure']['bundle'] ==true) \
  #  ? true : false
  #end
  def lang_filename(l)
    @lang={}
    x=if output_dir_structure.by_language_code?
      (( defined? @rc['default']['language_file']) \
      && @rc['default']['language_file'] != nil) \
      ? @rc['default']['language_file']
      : 1
    else 0
    end
    if (l != defaults[:language_code]) \
    or (language.code != defaults[:language_code]) #watch
      if x==1    then @lang[:pre],@lang[:mid],@lang[:post]="#{l}.",'',''
      elsif x==2 then @lang[:pre],@lang[:mid],@lang[:post]='',".#{l}",''
      elsif x==3 then @lang[:pre],@lang[:mid],@lang[:post]='','',".#{l}"
      else            @lang[:pre],@lang[:mid],@lang[:post]='','',''
      end
    else              @lang[:pre],@lang[:mid],@lang[:post]='','',''
    end
    @lang
  end
  self
end
image_external() click to toggle source
# File lib/sisu/se_info_env.rb, line 1255
def image_external
  "#{processing}/external_document/image"
end
image_source(md=nil) click to toggle source
# File lib/sisu/se_info_env.rb, line 1229
def image_source(md=nil)                 #image repository source directory
  if defined? @rc['image']['path'] \
  and defined? @rc['image']['public']
    pth="#{@rc['image']['path']}"
    "#{pth}/#{@rc['image']['public']}"
  else
    image_source_sisu_includes(md)
  end
end
image_source_include(md=nil) click to toggle source
# File lib/sisu/se_info_env.rb, line 1238
def image_source_include(md=nil)         #image repository source directory
  if defined? @rc['image']['path'] \
  and defined? @rc['image']['public'] \
  and FileTest.directory?(
    "#{@rc['image']['path']}/#{@rc['image']['public']}"
  )==true
    "#{@rc['image']['path']}/#{@rc['image']['public']}"
  elsif FileTest.directory?("#{@@pwd}/#{defaults[:image_stub]}")==true
    "#{@@pwd}/#{defaults[:image_stub]}"
  elsif FileTest.directory?(
    "#{SiSU_Utils::Path.new.base_markup}/#{defaults[:image_stub]}"
  )==true
    "#{SiSU_Utils::Path.new.base_markup}/#{defaults[:image_stub]}"
  else
    image_source_sisu_includes(md)
  end
end
image_source_include_local() click to toggle source
# File lib/sisu/se_info_env.rb, line 1258
def image_source_include_local
  if FileTest.directory?(defaults[:image_local])
    defaults[:image_local]
  end
end
image_source_include_remote() click to toggle source
# File lib/sisu/se_info_env.rb, line 1263
def image_source_include_remote
  if FileTest.directory?(image_external)
    image_external
  end
end
image_source_sisu_includes(md=nil) click to toggle source
# File lib/sisu/se_info_env.rb, line 1217
def image_source_sisu_includes(md=nil)
  if md \
  and (md.opt.sisu_install_type? == \
  :full_path_to_sisu_bin_in_sisu_dir_tree) \
  and FileTest.directory?(
    "#{md.opt.sisu_data_dir?}/image"
  )==true
    "#{md.opt.sisu_data_dir?}/image"
  else
    "#{share}/image"
  end
end
images() click to toggle source
# File lib/sisu/se_info_env.rb, line 1789
def images
  "#{Xx[:html_relative2]}/_sisu/image"
end
images_epub() click to toggle source
# File lib/sisu/se_info_env.rb, line 1836
def images_epub
  './image'
end
images_external() click to toggle source
# File lib/sisu/se_info_env.rb, line 1811
def images_external
  if FileTest.directory?(image_external)
    if @@image_flag
      images=Dir.glob("#{image_external}/*.{png,jpg,gif}")
      pth=path.webserv + '/' \
      + @stub_pwd
      FileUtils::mkdir_p("#{pth}/_sisu/image_external") \
        unless FileTest.directory?("#{pth}/_sisu/image_external")
      images.each { |i| File.install(i,"#{pth}/#{i}") } \
        unless images.length > 0
      @@image_flag=false
    end
    "#{Xx[:html_relative2]}/_sisu/image_external"
  else
    if @@local_image==true
      SiSU_Screen::Ansi.new(
        @cmd,
        'WARNING - image directory for external images or no such images:',
        :image_external
      ).warn unless @md.opt.act[:quiet][:set]==:on
      @@local_image=false
    end
    url.images_external
  end
end
images_local() click to toggle source

def images

'../_sisu/image'

end

# File lib/sisu/se_info_env.rb, line 1795
def images_local
  if FileTest.directory?(path.image_source_include)
    path.image_source_include
  else
    if @@local_image==true
      cmd=@md.opt.selections.str ? @md.opt.selections.str : ''
      SiSU_Screen::Ansi.new(
        cmd,
        "WARNING - no local image directory or images:",
        defaults[:image_local]
      ).warn unless @md.opt.act[:quiet][:set]==:on
      @@local_image=false
    end
    url.images
  end
end
landscape() click to toggle source
# File lib/sisu/se_info_env.rb, line 888
def landscape
  if @cli != :na
    @cli
  elsif (defined? @rc['default']['pdf_hyperlinks_landscape']) \
  && (@rc['default']['pdf_hyperlinks_landscape']=~/color/)
    :color
  elsif (defined? @rc['default']['pdf_hyperlinks_landscape']) \
  && (@rc['default']['pdf_hyperlinks_landscape'] \
  =~/(?:no-color|color-off|mono(?:chrome)?)/)
    :mono
  elsif @hyplnks != :na
    @hyplnks
  else :na
  end
end
lang_filename(l) click to toggle source

def multilingual

x=(defined? @rc['output_structure']['multilingual'] \
&& @rc['output_structure']['multilingual'] ==true) \
? true : false

end def bundle

x=(defined? @rc['output_structure']['bundle'] \
&& @rc['output_structure']['bundle'] ==true) \
? true : false

end

# File lib/sisu/se_info_env.rb, line 2081
def lang_filename(l)
  @lang={}
  x=if output_dir_structure.by_language_code?
    (( defined? @rc['default']['language_file']) \
    && @rc['default']['language_file'] != nil) \
    ? @rc['default']['language_file']
    : 1
  else 0
  end
  if (l != defaults[:language_code]) \
  or (language.code != defaults[:language_code]) #watch
    if x==1    then @lang[:pre],@lang[:mid],@lang[:post]="#{l}.",'',''
    elsif x==2 then @lang[:pre],@lang[:mid],@lang[:post]='',".#{l}",''
    elsif x==3 then @lang[:pre],@lang[:mid],@lang[:post]='','',".#{l}"
    else            @lang[:pre],@lang[:mid],@lang[:post]='','',''
    end
  else              @lang[:pre],@lang[:mid],@lang[:post]='','',''
  end
  @lang
end
language() click to toggle source
# File lib/sisu/se_info_env.rb, line 2060
def language                     # language settings
  m=/.+\/\S+?\~(\S+)/
  pwd=Dir.pwd
  conf=(defined? @rc['default']['language']) \
  ? @rc['default']['language'] : nil
  l=if pwd=~ m    then pwd[m,1]                                        #2 directory: by visible directory name
  elsif conf      then @rc['default']['language']                      #3 config: from sisurc.yaml
  else            defaults[:language]                                  #4 sisu: program default
  end                                                                  #1 document: param gets
  SiSU_Env::StandardiseLanguage.new(l)
end
language_default_set() click to toggle source
# File lib/sisu/se_info_env.rb, line 153
def language_default_set           #set directory (default) language
  ((defined? @rc['default']['language']) \
  && @rc['default']['language'] =~/\S+/) \
  ? @rc['default']['language']
  : 'en'
end
length() click to toggle source
# File lib/sisu/se_info_env.rb, line 1913
def length
  case digest(@opt).type
  when :sha512 then 128
  when :sha256 then  64
  when :md5    then  32
  else               64
  end
end
listed?(test) click to toggle source
# File lib/sisu/se_info_env.rb, line 365
def listed?(test) #fix
  listed=if omit_list
    x=(omit_list.scan(/\b#{test}\b/)).join
    test==x \
    ? true
    : false
  else
    false
  end
  listed
end
local() click to toggle source
# File lib/sisu/se_info_env.rb, line 1571
def local
  "http://#{hostname}/#{@stub_pwd}"
end
locale() click to toggle source
# File lib/sisu/se_info_env.rb, line 144
def locale
  @sys.locale
end
localhost() click to toggle source
# File lib/sisu/se_info_env.rb, line 1568
def localhost
  "http://localhost/#{stub_pwd}"
end
lout() click to toggle source
# File lib/sisu/se_info_env.rb, line 1527
def lout
  pth=if defined? @rc['processing']['lout'] \
  and @rc['processing']['lout'].is_a?(String)
    "#{processing}/#{@rc['processing']['lout']}"
  else "#{processing}/#{defaults[:processing_lout]}"
  end
  FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
  pth
end
main() click to toggle source

fc-list :outline -f “%{family}n” fc-list :lang=ja

# File lib/sisu/se_info_env.rb, line 934
def main
  (defined? @rc['default']['texpdf_fontface']) \
  && (@rc['default']['texpdf_fontface']=~/\S{3,}/)  \
  ? @rc['default']['texpdf_fontface']
  : 'Liberation Sans'
end
make() click to toggle source
# File lib/sisu/se_info_env.rb, line 1342
def make
  unless FileTest.directory?(root_dir)
    FileUtils::mkdir_p(root_dir)
    File.chmod(0777,root_dir)
  end
  if usr_dir?
    processing_path_usr="#{root_dir}/#{user}"
    FileUtils::mkdir_p(processing_path_usr) \
      unless FileTest.directory?(processing_path_usr)
    File.chmod(0700,processing_path_usr)
  end
  sisupod_processing_path=paths[:sisupod]
  FileUtils::mkdir_p(sisupod_processing_path) \
    unless FileTest.directory?(sisupod_processing_path)
  sisupod_processing_path_lng=if defined? @opt.lng
    sisupod_processing_path \
      + '/' + Gt[:doc] \
      + '/' + @opt.lng
  else
    sisupod_processing_path \
      + '/' + Gt[:doc]
  end
  unless FileTest.directory?(sisupod_processing_path_lng)
    #puts "a processing directory (#{sisupod_processing_path_lng}) is being created for use by sisu"
    FileUtils::mkdir_p(sisupod_processing_path_lng)
    File.chmod(0700,sisupod_processing_path_lng)
  end
  sisupod_processing_path
end
man() click to toggle source
# File lib/sisu/se_info_env.rb, line 1124
def man #check use
  (defined? @rc['webserv']['man']) \
  ? "#{webserv}/#{@rc['webserv']['man']}"
  : defaults[:webserv_man]
end
manifest?() click to toggle source
# File lib/sisu/se_info_env.rb, line 394
def manifest?
  if (defined? @rc['omit']['manifest'] \
  and not @rc['omit']['manifest'].nil?) \
  or listed?('manifest')
    :off
  else
    :na
  end
end
manifest_minitoc?() click to toggle source
# File lib/sisu/se_info_env.rb, line 346
def manifest_minitoc?
  if defined? @rc['manifest']['minitoc'] \
  and @rc['manifest']['minitoc'].is_a?(String)
    @rc['manifest']['minitoc']
  else false
  end
end
manpage() click to toggle source
# File lib/sisu/se_info_env.rb, line 1524
def manpage
  "#{path.output}/man"
end
manpage_generator() click to toggle source
# File lib/sisu/se_info_env.rb, line 2005
def manpage_generator
  ((defined? @rc['program_select']['man']) \
  && @rc['program_select']['man'] =~/\S\S+/) \
  ? @rc['program_select']['man']
  : 'nroff -man'                                                        #'nroff -man' #'groff -man -Tascii'
end
manpage_viewer() click to toggle source
# File lib/sisu/se_info_env.rb, line 2002
def manpage_viewer
  'man'
end
markdown_ocn?() click to toggle source
# File lib/sisu/se_info_env.rb, line 557
def markdown_ocn?
  ((defined? @rc['markdown']['ocn']) \
  && @rc['markdown']['ocn']==true) \
  ? @rc['markdown']['ocn']
  : false
end
markup_emphasis() click to toggle source
# File lib/sisu/se_info_env.rb, line 159
def markup_emphasis
  if defined? @rc['default']['emphasis'] \
  and @rc['default']['emphasis'] \
  and @rc['default']['emphasis']=~/bold/
    'bold'
  elsif defined? @rc['default']['emphasis'] \
  and @rc['default']['emphasis'] \
  and @rc['default']['emphasis']=~/italic/
    'italics'
  elsif defined? @rc['default']['emphasis'] \
  and @rc['default']['emphasis'] \
  and @rc['default']['emphasis']=~/underscore/
    'underscore'
  else 'bold'
  end
end
metadata?() click to toggle source
# File lib/sisu/se_info_env.rb, line 413
def metadata?
  if (defined? @rc['omit']['metadata'] \
  and not @rc['omit']['metadata'].nil?) \
  or listed?('metadata')
    :off
  else
    :na
  end
end
minitoc?() click to toggle source
# File lib/sisu/se_info_env.rb, line 422
def minitoc?
  if (defined? @rc['omit']['minitoc'] \
  and not @rc['omit']['minitoc'].nil?) \
  or (listed?('minitoc'))
    :off
  else
    :na
  end
end
mono() click to toggle source
# File lib/sisu/se_info_env.rb, line 952
def mono
  (defined? @rc['default']['texpdf_fontface_mono']) \
  && (@rc['default']['texpdf_fontface_mono']=~/\S{3,}/)  \
  ? @rc['default']['texpdf_fontface_mono']
  : 'Liberation Mono'
end
ocn?() click to toggle source
# File lib/sisu/se_info_env.rb, line 376
def ocn?
  if (defined? @rc['omit']['ocn'] \
  and not @rc['omit']['ocn'].nil?) \
  or listed?('ocn')
    :off
  else
    :na
  end
end
odf() click to toggle source
# File lib/sisu/se_info_env.rb, line 1444
def odf
  odt
end
odf_pth() click to toggle source
# File lib/sisu/se_info_env.rb, line 1440
def odf_pth
  pth="#{processing}/odf/#{@fns}"
  pth
end
odf_viewer() click to toggle source
# File lib/sisu/se_info_env.rb, line 1996
def odf_viewer
  ((defined? @rc['program_select']['odf_viewer']) \
  && @rc['program_select']['odf_viewer'] =~/\S\S+/) \
  ? @rc['program_select']['odf_viewer']
  : 'lowriter'                                                           #'odf-viewer','oowriter'
end
odt() click to toggle source
# File lib/sisu/se_info_env.rb, line 1447
def odt
  pth=odf_pth + '/odt'
  FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
  pth
end
odt_bld() click to toggle source
# File lib/sisu/se_info_env.rb, line 1457
def odt_bld
  FileUtils::rm_rf(processing_path.odt)
  FileUtils::mkdir_p(processing_path.odt) \
    unless FileTest.directory?(processing_path.odt)
  FileUtils::mkdir_p("#{processing_path.odt}/Configurations2") \
    unless FileTest.directory?("#{processing_path.odt}/Configurations2")
  FileUtils::mkdir_p("#{processing_path.odt}/META-INF") \
    unless FileTest.directory?("#{processing_path.odt}/META-INF")
  FileUtils::mkdir_p("#{processing_path.odt}/Pictures") \
    unless FileTest.directory?("#{processing_path.odt}/Pictures")
  FileUtils::mkdir_p("#{processing_path.odt}/Thumbnails") \
    unless FileTest.directory?("#{processing_path.odt}/Thumbnails")
  processing_path.odt
end
odt_ocn?() click to toggle source
# File lib/sisu/se_info_env.rb, line 515
def odt_ocn?
  ((defined? @rc['odt']['ocn']) \
  && @rc['odt']['ocn']==false) \
  ? @rc['odt']['ocn']
  : true
end
omit_list() click to toggle source
# File lib/sisu/se_info_env.rb, line 354
def omit_list
  @off_list ||=if defined? @rc['omit_list'] \
  and @rc['omit_list'].is_a?(String)
    @rc['omit_list']
  elsif defined? @rc['omit']['list'] \
  and @rc['omit']['list'].is_a?(String)
    @rc['omit']['list']
  else
    nil
  end
end
orgmode_ocn?() click to toggle source
# File lib/sisu/se_info_env.rb, line 569
def orgmode_ocn?
  ((defined? @rc['orgmode']['ocn']) \
  && @rc['orgmode']['ocn']==true) \
  ? @rc['orgmode']['ocn']
  : false
end
output() click to toggle source
# File lib/sisu/se_info_env.rb, line 1180
def output                       #web/webserv output directory... subdirectory into which further subdirectories are made based on file names
  r=Px[:lng_lst_rgx]
  u=/.+?\/([^\/]+)(?:\/(?:#{r})$|$)/
  base_stub=@sys.pwd.gsub(u,'\1')
  if Dir.pwd =~/\/#{Gt[:sisupod]}\/[^\/]+\/#{Gt[:pod]}\/#{Gt[:doc]}/
    "#{path.webserv}/#{Gt[:doc]}"
  else
    "#{path.webserv}/#{base_stub}"
  end
end
output_tell() click to toggle source

% programs

# File lib/sisu/se_info_env.rb, line 1214
def output_tell
  url.webserv_map_pwd
end
papersize() click to toggle source
# File lib/sisu/se_info_env.rb, line 2114
def papersize                      # paper settings, default overidden in param if set within document
  (defined? @rc['default']['papersize']) \
  ? @rc['default']['papersize'].downcase
  : (defaults[:papersize].downcase)
end
path() click to toggle source
# File lib/sisu/se_info_env.rb, line 1062
def path                           #dir
  def home
    @sys.home
  end
  def sisurc_path
    SiSU_Get_Init::GetInit.new.sisu_yaml.rc_path
  end
  def pwd
    @sys.pwd
  end
  def stub_pwd
    @stub_pwd
  end
  def base_markup_dir_stub
    @base_markup_dir_stub
  end
  def stub_epub
    @stub_epub
  end
  def stub_src
    @stub_src
  end
  def stub_pod
    @stub_pod
  end
  def etc
    defaults[:sisu_etc]            #live/dynamic
  end
  def arch
    @sys.dir_arch
  end
  def sitearch
    @sys.dir_sitearch
  end
  def bin
    @sys.dir_bin
  end
  def share                        #shared data repository source directory
    #SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).
    #  mark(defaults[:sisu_share])
    defaults[:sisu_share]
  end
  def style
    if @md \
    && ((@md.opt.opt_act[:dump][:bool] \
    &&   @md.opt.opt_act[:dump][:inst]) \
    ||  (@md.opt.opt_act[:redirect][:bool] \
    &&   @md.opt.opt_act[:redirect][:inst]))
      'css'
    else
     defaults[:stylesheet_stub]
    end
  end
  def sample_data                  #sample data repository source directory
    defaults[:sample_data_path]
  end
  def rc
    @init.rc_path
  end
  def yamlrc
    GetInit.new.sisu_yaml.rc_path
  end
  def man #check use
    (defined? @rc['webserv']['man']) \
    ? "#{webserv}/#{@rc['webserv']['man']}"
    : defaults[:webserv_man]
  end
  def webserv_path #testing, check need, remove
    webserv
  end
  def webserv                      #separation required for webrick which cannot use path.output (different requirements as no file is passed)
    man_path=if @@man_path.nil?
      man_path=if defined? @rc['webserv']['path'] \
      and @rc['webserv']['path'] =~/\S\S+/
        pwd=Dir.pwd
        Dir.chdir(SiSU_Utils::Path.new.base_markup)
        man_path=@@man_path=File.expand_path(@rc['webserv']['path'])
        Dir.chdir(pwd)
        man_path
      else defaults[:webserv_path]
      end
    else @@man_path
    end
    man_path_head=man_path.gsub(/(\S+)\/[^\/\s]+$/,'\1')
    unless FileTest.directory?(man_path)
      FileUtils::mkdir_p(man_path) if File.writable?("#{man_path_head}/.")
    end
    @webserv_path=if defined? man_path \
    and File.writable?("#{man_path}/.")
      man_path #web server path as configured in rc file
    elsif FileTest.directory?(defaults[:webserv_path]) \
    and File.writable?("#{defaults[:webserv_path]}/.") #web server path default
      defaults[:webserv_path]
    else #create default directory under home and place output there
      unless FileTest.directory?(defaults[:output_local])
        FileUtils::mkdir_p(defaults[:output_local])
      end
      defaults[:output_local]
    end
  end
  def webserv_stub_ensure
    FileUtils::mkdir_p(path.webserv) unless FileTest.directory?(path.webserv)
    FileUtils::mkdir_p("#{path.webserv}/#{@base_markup_dir_stub}") \
      unless FileTest.directory?("#{path.webserv}/#{@base_markup_dir_stub}")
  end
  def webserv_map_pwd #dir
    "#{path.webserv}/#{base_markup_dir_stub}"
  end
  def webserv_dir                  #fixed/hard path to /www web/presentation directory, on Debian /var/www subdirectories are created within it, depending on markup directory stub-name (last segment of markup directory name)
    defaults[:webserv_dir]
  end
  def webserv_image                #web/presentation directory, subdirectories are created within it, depending on markup directory stub-name (last segment of markup directory name)
    images=if defined? @rc['webserv']['images']
      @rc['webserv']['images']
    else defaults[:images]
    end
    "#{path.webserv}/#{images}"
  end
  def output                       #web/webserv output directory... subdirectory into which further subdirectories are made based on file names
    r=Px[:lng_lst_rgx]
    u=/.+?\/([^\/]+)(?:\/(?:#{r})$|$)/
    base_stub=@sys.pwd.gsub(u,'\1')
    if Dir.pwd =~/\/#{Gt[:sisupod]}\/[^\/]+\/#{Gt[:pod]}\/#{Gt[:doc]}/
      "#{path.webserv}/#{Gt[:doc]}"
    else
      "#{path.webserv}/#{base_stub}"
    end
  end
  def feed
    (defined? @rc['webserv']['feed']) \
    ? ("#{public_output}/#{@rc['webserv']['feed']}")
    : (defaults[:webserv_feed])
  end
  def feed_home
    "#{public_output}/#{@rc['webserv']['feed_home']}"
  end
  def scripts                      #used previously only to include tla version info
    if defined? @rc['project']['path']
      "#{home}/#{@rc['project']['path']}"
    end
  end
  def cgi
    (defined? @rc['webserv']['cgi']) \
    ? "#{@rc['webserv']['cgi']}"
    : (defaults[:webserv_cgi])
  end
  def php
    (defined? @rc['webserv']['php']) \
    ? "#{public_output}/#{@rc['webserv']['php']}"
    : (defaults[:webserv_php])
  end
  #% programs
  def output_tell
    url.webserv_map_pwd
  end
  def image_source_sisu_includes(md=nil)
    if md \
    and (md.opt.sisu_install_type? == \
    :full_path_to_sisu_bin_in_sisu_dir_tree) \
    and FileTest.directory?(
      "#{md.opt.sisu_data_dir?}/image"
    )==true
      "#{md.opt.sisu_data_dir?}/image"
    else
      "#{share}/image"
    end
  end
  def image_source(md=nil)                 #image repository source directory
    if defined? @rc['image']['path'] \
    and defined? @rc['image']['public']
      pth="#{@rc['image']['path']}"
      "#{pth}/#{@rc['image']['public']}"
    else
      image_source_sisu_includes(md)
    end
  end
  def image_source_include(md=nil)         #image repository source directory
    if defined? @rc['image']['path'] \
    and defined? @rc['image']['public'] \
    and FileTest.directory?(
      "#{@rc['image']['path']}/#{@rc['image']['public']}"
    )==true
      "#{@rc['image']['path']}/#{@rc['image']['public']}"
    elsif FileTest.directory?("#{@@pwd}/#{defaults[:image_stub]}")==true
      "#{@@pwd}/#{defaults[:image_stub]}"
    elsif FileTest.directory?(
      "#{SiSU_Utils::Path.new.base_markup}/#{defaults[:image_stub]}"
    )==true
      "#{SiSU_Utils::Path.new.base_markup}/#{defaults[:image_stub]}"
    else
      image_source_sisu_includes(md)
    end
  end
  def image_external
    "#{processing}/external_document/image"
  end
  def image_source_include_local
    if FileTest.directory?(defaults[:image_local])
      defaults[:image_local]
    end
  end
  def image_source_include_remote
    if FileTest.directory?(image_external)
      image_external
    end
  end
  self
end
paths() click to toggle source
# File lib/sisu/se_info_env.rb, line 1330
def paths
  processing_path_usr="#{root_dir}/#{user}"
  processing_path_fnb=processing_path_usr \
    + '/' + Gt[:pods] \
    + '/' + @opt.fng
  processing_path_sisupod=processing_path_fnb \
    + '/' + Gt[:sisupod]
  {
    fnb: processing_path_fnb,
    sisupod: processing_path_sisupod,
  }
end
pattern() click to toggle source
# File lib/sisu/se_info_env.rb, line 1921
def pattern
  "[0-9a-f]{#{digest(@opt).length}}" #/[0-9a-f]{#{digest.length}}/
end
pdf() click to toggle source
# File lib/sisu/se_info_env.rb, line 1599
def pdf
  "#{root}/pdf"
end
pdf_viewer() click to toggle source
# File lib/sisu/se_info_env.rb, line 1937
def pdf_viewer
  ((defined? @rc['program_select']['pdf_viewer']) \
  && @rc['program_select']['pdf_viewer'] =~/\S\S+/) \
  ? @rc['program_select']['pdf_viewer']
  : 'pdf-viewer'                                                        #'evince'
end
pdflatex() click to toggle source
# File lib/sisu/se_info_env.rb, line 2042
def pdflatex
  is=(defined? @rc['program_set']['pdflatex']) ? \
    @rc['program_set']['pdflatex'] : ''
  (is.nil? || is==true) ? 'pdflatex' : is
end
php() click to toggle source
# File lib/sisu/se_info_env.rb, line 1208
def php
  (defined? @rc['webserv']['php']) \
  ? "#{public_output}/#{@rc['webserv']['php']}"
  : (defaults[:webserv_php])
end
plaintext_ocn?() click to toggle source
# File lib/sisu/se_info_env.rb, line 539
def plaintext_ocn?
  ((defined? @rc['plaintext']['ocn']) \
  && @rc['plaintext']['ocn']==false) \
  ? @rc['plaintext']['ocn']
  : true
end
plaintext_wrap() click to toggle source
# File lib/sisu/se_info_env.rb, line 175
def plaintext_wrap
  ((defined? @rc['default']['text_wrap']) \
  && (@rc['default']['text_wrap']) \
  && (@rc['default']['text_wrap'].to_s=~/\d\d+/) \
  && (@rc['default']['text_wrap'].to_i > 19) \
  && (@rc['default']['text_wrap'].to_i < 201)) \
  ? @rc['default']['text_wrap'].to_i
  : 78
end
po() click to toggle source
# File lib/sisu/se_info_env.rb, line 1611
def po
  "#{root}/po4a/po"
end
port() click to toggle source
# File lib/sisu/se_info_env.rb, line 1841
def port
  def webrick_port
    if @md \
    and @md.opt.act[:sample_search_form][:set]==:on \
    and @md.opt.selections.str=~/port=(\d+)/
       $1
    else
      if defined? @rc['webserv_cgi']['port']
        if @rc['webserv_cgi']['port'].nil? \
        and (defined? @md.opt.selections \
        and @md.opt.selections.str=~/webrick/)
          defaults[:webserv_port_cgi]
        elsif not @rc['webserv_cgi']['port'].nil?
          @rc['webserv_cgi']['port']
        else defaults[:webserv_port_cgi]
        end
      else   defaults[:webserv_port_cgi]
      end
    end
  end
  def webserv_port_cgi(opt=nil)
    port=if opt \
    and opt.act[:sample_search_form][:set]==:on \
    and opt.selections.str=~/port[=-](\d+)/
       $1
    else
      port=if defined? @rc['webserv_cgi']['port']
        if @rc['webserv_cgi']['port'].nil? \
        and (defined? opt.selections \
        and opt.selections.str=~/webrick/)
          defaults[:webserv_port_cgi]
        elsif not @rc['webserv_cgi']['port'].nil?
          @rc['webserv_cgi']['port']
        else nil
        end
      else
        if (defined? opt.selections \
        and opt.selections.str=~/webrick/)
          defaults[:webserv_port_cgi]
        else nil
        end
      end
    end
    port.to_s
  end
  self
end
portrait() click to toggle source
# File lib/sisu/se_info_env.rb, line 903
def portrait
  if @cli != :na
    @cli
  elsif (defined? @rc['default']['pdf_hyperlinks_portrait']) \
  && (@rc['default']['pdf_hyperlinks_portrait']=~/color/)
    :color
  elsif (defined? @rc['default']['pdf_hyperlinks_portrait']) \
  && (@rc['default']['pdf_hyperlinks_portrait'] \
  =~/(?:no-color|color-off|mono(?:chrome)?)/)
    :mono
  elsif @hyplnks != :na
    @hyprlnks
  else :na
  end
end
postgresql() click to toggle source
# File lib/sisu/se_info_env.rb, line 1550
def postgresql
  pth=if defined? @rc['processing']['postgresql'] \
  and @rc['processing']['postgresql'].is_a?(String)
    "#{processing}/#{@rc['processing']['postgresql']}"
  else "#{processing}/#{defaults[:processing_postgresql]}"
  end
  FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
  pth
end
pot() click to toggle source
# File lib/sisu/se_info_env.rb, line 1608
def pot
  "#{root}/po4a/pot"
end
processing_base_tmp() click to toggle source
# File lib/sisu/se_info_env.rb, line 1276
def processing_base_tmp
  defaults[:processing_path_tmp_base]
end
processing_path() click to toggle source
# File lib/sisu/se_info_env.rb, line 1270
def processing_path
  def encoding
    pth="#{processing}/#{defaults[:processing_encoding]}"
    FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
    pth
  end
  def processing_base_tmp
    defaults[:processing_path_tmp_base]
  end
  def tmp_root_dir
    defaults[:processing_dir_tmp_root]
  end
  def root_dir
    proposed_path_base=if defined? @rc['processing']['path'] \
    and not @rc['processing']['path'].nil? \
    and not @rc['processing']['path'].empty?
      x=if @rc['processing']['path'] =~/^(?:~|home)$/
        home #fix
      else @rc['processing']['path']
      end
    else nil
    end
    proposed_dir=if defined? @rc['processing']['dir'] \
    and not @rc['processing']['dir'].nil? \
    and not @rc['processing']['dir'].empty?
      @rc['processing']['dir']
    else defaults[:processing_dir]
    end
    v=SiSU_Env::InfoVersion.instance.get_version
    v_dev=(DEVELOPER[:maintenance]==:true) \
    ? "_#{v.version}"
    : ''
    path=if proposed_path_base \
    and FileTest.directory?(proposed_path_base) \
    and File.writable?("#{proposed_path_base}/.")
      x=proposed_dir \
      ? "#{proposed_path_base}/#{proposed_dir}"
      : "#{proposed_path_base}/#{defaults[:processing_dir]}"
    else defaults[:processing_dir_tmp_root]
    end
    path = path + v_dev
  end
  def usr_dir?
    case root_dir
    when /^\/home/ then false
    else                true
    end
  end
  def stub_dir
    (usr_dir?) \
    ? ("#{root_dir}/#{user}/#{stub_pwd}")
    : ("#{root_dir}/#{stub_pwd}") # see defaults[:processing_path]
  end
  def stub_dir_orig # ends up with lang, if lang dir
    (usr_dir?) \
    ? ("#{root_dir}/#{user}/#{stub_pwd}")
    : ("#{root_dir}/#{stub_pwd}") # see defaults[:processing_path]
  end
  def processing_sisupod(opt=nil)  #processing directory, used/needed for sisu work files, has sub-directories (ao,tex etc)
    @opt=opt
    def paths
      processing_path_usr="#{root_dir}/#{user}"
      processing_path_fnb=processing_path_usr \
        + '/' + Gt[:pods] \
        + '/' + @opt.fng
      processing_path_sisupod=processing_path_fnb \
        + '/' + Gt[:sisupod]
      {
        fnb: processing_path_fnb,
        sisupod: processing_path_sisupod,
      }
    end
    def make
      unless FileTest.directory?(root_dir)
        FileUtils::mkdir_p(root_dir)
        File.chmod(0777,root_dir)
      end
      if usr_dir?
        processing_path_usr="#{root_dir}/#{user}"
        FileUtils::mkdir_p(processing_path_usr) \
          unless FileTest.directory?(processing_path_usr)
        File.chmod(0700,processing_path_usr)
      end
      sisupod_processing_path=paths[:sisupod]
      FileUtils::mkdir_p(sisupod_processing_path) \
        unless FileTest.directory?(sisupod_processing_path)
      sisupod_processing_path_lng=if defined? @opt.lng
        sisupod_processing_path \
          + '/' + Gt[:doc] \
          + '/' + @opt.lng
      else
        sisupod_processing_path \
          + '/' + Gt[:doc]
      end
      unless FileTest.directory?(sisupod_processing_path_lng)
        #puts "a processing directory (#{sisupod_processing_path_lng}) is being created for use by sisu"
        FileUtils::mkdir_p(sisupod_processing_path_lng)
        File.chmod(0700,sisupod_processing_path_lng)
      end
      sisupod_processing_path
    end
    self
  end
  def processing                   #processing directory, used/needed for sisu work files, has sub-directories (ao,tex etc)
    unless FileTest.directory?(root_dir)
      FileUtils::mkdir_p(root_dir)
      File.chmod(0777,root_dir)
    end
    if usr_dir?
      processing_path_usr="#{root_dir}/#{user}"
      FileUtils::mkdir_p(processing_path_usr) \
        unless FileTest.directory?(processing_path_usr)
      File.chmod(0700,processing_path_usr)
    end
    FileUtils::mkdir_p(stub_dir) \
      unless FileTest.directory?(stub_dir)
    File.chmod(0700,stub_dir)
    path_processing=[
      stub_dir,
      defaults[:processing_path],
      defaults[:processing_path_home]
    ]
    processing=nil
    path_processing.each do |v|                                              #
      processing=v
      unless FileTest.directory?(processing)
        FileUtils::mkdir_p(processing)
        File.chmod(0700,processing)
      end
      break
    end
    processing
  end
  def ao
    pth=if defined? @rc['processing']['dal'] \
      and @rc['processing']['dal'].is_a?(String)
      "#{processing}/#{@rc['processing']['dal']}"
    else "#{processing}/#{defaults[:processing_ao]}"
    end
    FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
    pth
  end
  def tune
    pth=if defined? @rc['processing']['tune'] \
      and @rc['processing']['tune'].is_a?(String)
      "#{processing}/#{@rc['processing']['tune']}"
    else "#{processing}/#{defaults[:processing_tune]}"
    end
    FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
    pth
  end
  def composite_file
    pth=processing_path.ao  #"#{processing}/composite"
    FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
    pth
  end
  def git
    pth=if defined? @rc['git']['dir'] \
    and @rc['git']['dir'].is_a?(String)
      (@rc['git']['dir'] =~/^(?:~|home)$/) \
      ? home + '/' + Gt[:git]
      : @rc['git']['dir'] + '/' + Gt[:git]
    else defaults[:processing_git]
    end
    unless FileTest.directory?(pth)
      FileUtils::mkdir_p(pth)
      File.chmod(0700,pth)
    end
    pth
  end
  def odf_pth
    pth="#{processing}/odf/#{@fns}"
    pth
  end
  def odf
    odt
  end
  def odt
    pth=odf_pth + '/odt'
    FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
    pth
  end
  def odf
    pth="#{processing}/odf"
    FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
    pth
  end
  def odt_bld
    FileUtils::rm_rf(processing_path.odt)
    FileUtils::mkdir_p(processing_path.odt) \
      unless FileTest.directory?(processing_path.odt)
    FileUtils::mkdir_p("#{processing_path.odt}/Configurations2") \
      unless FileTest.directory?("#{processing_path.odt}/Configurations2")
    FileUtils::mkdir_p("#{processing_path.odt}/META-INF") \
      unless FileTest.directory?("#{processing_path.odt}/META-INF")
    FileUtils::mkdir_p("#{processing_path.odt}/Pictures") \
      unless FileTest.directory?("#{processing_path.odt}/Pictures")
    FileUtils::mkdir_p("#{processing_path.odt}/Thumbnails") \
      unless FileTest.directory?("#{processing_path.odt}/Thumbnails")
    processing_path.odt
  end
  def epub
    "#{processing}/epub/#{@fnb}"
  end
  def epub_bld #(md)
    FileUtils::rm_rf(processing_path.epub) \
      if FileTest.directory?(processing_path.epub)
    FileUtils::mkdir_p(processing_path.epub) \
      unless FileTest.directory?(processing_path.epub)
    FileUtils::mkdir_p("#{processing_path.epub}/META-INF") \
      unless FileTest.directory?("#{processing_path.epub}/META-INF")
    FileUtils::mkdir_p("#{processing_path.epub}/#{Ep[:d_oebps]}/image") \
      unless FileTest.directory?("#{processing_path.epub}/#{Ep[:d_oebps]}/image")
    FileUtils::mkdir_p("#{processing_path.epub}/#{Ep[:d_oebps]}/css") \
      unless FileTest.directory?("#{processing_path.epub}/#{Ep[:d_oebps]}/css")
    processing_path.epub
  end
  def epub_cp_images(md)
    pth="#{processing_path.epub}/#{Ep[:d_oebps]}/image"
    FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
    src=(md.opt.sisu_install_type? == :full_path_to_sisu_bin_in_sisu_dir_tree) \
    ? "#{md.opt.sisu_data_dir?}/image"
    : "#{md.opt.sisu_data_dir?}/sisu/image"
    images=%W[bullet_09.png arrow_next_red.png arrow_prev_red.png arrow_up_red.png]
    images.each do |i| #move to avoid repeated tests
      if FileTest.file?("#{src}/#{i}")
        FileUtils::cp("#{src}/#{i}","#{pth}/#{i}") \
          unless FileTest.file?("#{pth}/#{i}")
      else STDERR.puts %{\t*WARN* did not find image - "#{i}" [#{__FILE__}:#{__LINE__}]}
      end
    end
    pth
  end
  def tex
    pth=if defined? @rc['processing']['latex'] \
    and @rc['processing']['latex'].is_a?(String)
      "#{processing}/#{@rc['processing']['latex']}"
    else "#{processing}/#{defaults[:processing_latex]}"
    end
    FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
    pth
  end
  def texi
    pth=if defined? @rc['processing']['texinfo'] \
    and @rc['processing']['texinfo'].is_a?(String)
      "#{processing}/#{@rc['processing']['texinfo']}"
    else "#{processing}/#{defaults[:processing_texinfo]}"
    end
    FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
    pth
  end
  def texinfo                      #texinfo webserv, check
    "#{processing}/#{defaults[:processing_texinfo]}"
  end
  def manpage
    "#{path.output}/man"
  end
  def lout
    pth=if defined? @rc['processing']['lout'] \
    and @rc['processing']['lout'].is_a?(String)
      "#{processing}/#{@rc['processing']['lout']}"
    else "#{processing}/#{defaults[:processing_lout]}"
    end
    FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
    pth
  end
  def sql
    pth="#{processing}/sql"
    FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
    pth
  end
  def sqlite
    pth=if defined? @rc['processing']['sqlite'] \
    and @rc['processing']['sqlite'].is_a?(String)
      "#{processing}/#{@rc['processing']['sqlite']}"
    else "#{processing}/#{defaults[:processing_sqlite]}"
    end
    FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
    pth
  end
  def postgresql
    pth=if defined? @rc['processing']['postgresql'] \
    and @rc['processing']['postgresql'].is_a?(String)
      "#{processing}/#{@rc['processing']['postgresql']}"
    else "#{processing}/#{defaults[:processing_postgresql]}"
    end
    FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
    pth
  end
  self
end
processing_sisupod(opt=nil) click to toggle source
# File lib/sisu/se_info_env.rb, line 1328
def processing_sisupod(opt=nil)  #processing directory, used/needed for sisu work files, has sub-directories (ao,tex etc)
  @opt=opt
  def paths
    processing_path_usr="#{root_dir}/#{user}"
    processing_path_fnb=processing_path_usr \
      + '/' + Gt[:pods] \
      + '/' + @opt.fng
    processing_path_sisupod=processing_path_fnb \
      + '/' + Gt[:sisupod]
    {
      fnb: processing_path_fnb,
      sisupod: processing_path_sisupod,
    }
  end
  def make
    unless FileTest.directory?(root_dir)
      FileUtils::mkdir_p(root_dir)
      File.chmod(0777,root_dir)
    end
    if usr_dir?
      processing_path_usr="#{root_dir}/#{user}"
      FileUtils::mkdir_p(processing_path_usr) \
        unless FileTest.directory?(processing_path_usr)
      File.chmod(0700,processing_path_usr)
    end
    sisupod_processing_path=paths[:sisupod]
    FileUtils::mkdir_p(sisupod_processing_path) \
      unless FileTest.directory?(sisupod_processing_path)
    sisupod_processing_path_lng=if defined? @opt.lng
      sisupod_processing_path \
        + '/' + Gt[:doc] \
        + '/' + @opt.lng
    else
      sisupod_processing_path \
        + '/' + Gt[:doc]
    end
    unless FileTest.directory?(sisupod_processing_path_lng)
      #puts "a processing directory (#{sisupod_processing_path_lng}) is being created for use by sisu"
      FileUtils::mkdir_p(sisupod_processing_path_lng)
      File.chmod(0700,sisupod_processing_path_lng)
    end
    sisupod_processing_path
  end
  self
end
program() click to toggle source
# File lib/sisu/se_info_env.rb, line 1926
def program
  def text_editor
    if defined? @rc['program_select']['editor'] \
    and @rc['program_select']['editor'] =~/\S\S+/
      @rc['program_select']['editor']
    elsif defined? @rc['program_select']['text_editor'] \
    and @rc['program_select']['text_editor'] =~/\S\S+/
      @rc['program_select']['text_editor']
    else 'editor'                                                            #'gvim -c :R -c :S'
    end
  end
  def pdf_viewer
    ((defined? @rc['program_select']['pdf_viewer']) \
    && @rc['program_select']['pdf_viewer'] =~/\S\S+/) \
    ? @rc['program_select']['pdf_viewer']
    : 'pdf-viewer'                                                        #'evince'
  end
  def web_browser
    if defined? @rc['program_select']['www_browser'] \
    and @rc['program_select']['www_browser'] =~/\S\S+/
      @rc['program_select']['www_browser']
    elsif defined? @rc['program_select']['web_browser'] \
    and @rc['program_select']['web_browser'] =~/\S\S+/
      @rc['program_select']['web_browser']
    else 'x-www-browser'                                                      #'firefox' 'iceweasel' 'kazehakase' 'galeon'
    end
  end
  def www_browser
    web_browser
  end
  def console_web_browser
    if defined? @rc['program_select']['console_www_browser'] \
    and @rc['program_select']['console_www_browser'] =~/\S\S+/
      @rc['program_select']['console_www_browser']
    elsif defined? @rc['program_select']['console_web_browser'] \
    and @rc['program_select']['console_web_browser'] =~/\S\S+/
      @rc['program_select']['console_web_browser']
    else 'console-www-browser'                                             #'lynx' 'links' 'links2' 'elinks' 'w3m'
    end
  end
  def console_www_browser
    web_browser
  end
  def epub_viewer
    ((defined? @rc['program_select']['epub_viewer']) \
    && @rc['program_select']['epub_viewer'] =~/\S\S+/) \
    ? @rc['program_select']['epub_viewer']
    : 'ebook-viewer'                                                    #'calibre' 'fbreader'
  end
  def xml_viewer
    ((defined? @rc['program_select']['xml_viewer']) \
    && @rc['program_select']['xml_viewer'] =~/\S\S+/) \
    ? @rc['program_select']['xml_viewer']
    : text_editor
  end
  def docbook_viewer
    ((defined? @rc['program_select']['xml_viewer']) \
    && @rc['program_select']['xml_viewer'] =~/\S\S+/) \
    ? @rc['program_select']['xml_viewer']
    : text_editor
  end
  def fictionbook_viewer
    ((defined? @rc['program_select']['xml_viewer']) \
    && @rc['program_select']['xml_viewer'] =~/\S\S+/) \
    ? @rc['program_select']['xml_viewer']
    : text_editor
  end
  def xml_editor
    xml_viewer
  end
  def odf_viewer
    ((defined? @rc['program_select']['odf_viewer']) \
    && @rc['program_select']['odf_viewer'] =~/\S\S+/) \
    ? @rc['program_select']['odf_viewer']
    : 'lowriter'                                                           #'odf-viewer','oowriter'
  end
  def manpage_viewer
    'man'
  end
  def manpage_generator
    ((defined? @rc['program_select']['man']) \
    && @rc['program_select']['man'] =~/\S\S+/) \
    ? @rc['program_select']['man']
    : 'nroff -man'                                                        #'nroff -man' #'groff -man -Tascii'
  end
  def texinfo
    ((defined? @rc['program_select']['info_viewer']) \
    && @rc['program_select']['info_viewer'] =~/\S\S+/) \
    ? @rc['program_select']['info_viewer']
    : 'pinfo -f'                                                          #'pinfo -f' 'info' 'tkinfo'
  end
  def file_encoding
    is=(defined? @rc['program_set']['file_encoding']) \
    ? @rc['program_set']['encoding'] : ''
    (is.nil? || is==true) ? 'encoding' : is
  end
  def wc #wordcount
    is=(defined? @rc['program_set']['wc']) \
      ? @rc['program_set']['wc'] : ''
    (is.nil? || is==true) ? 'wc' : is
  end
  def tidy
    is=(defined? @rc['program_set']['tidy']) \
      ? @rc['program_set']['tidy'] : nil
    (is.nil? || is==true) ? 'tidy' : is
  end
  def rmagick
    is=(defined? @rc['program_set']['rmagick']) \
      ? @rc['program_set']['rmagick'] : nil
    (is.nil? || is==true) ? 'rmagick' : is
  end
  def rexml                        #should be part of ruby 1.8 but apparently not always
    is=(defined? @rc['program_set']['rexml']) ? \
      @rc['program_set']['rexml'] : ''
    (is.nil? || is==true) ? 'rexml' : is
  end
  def pdflatex
    is=(defined? @rc['program_set']['pdflatex']) ? \
      @rc['program_set']['pdflatex'] : ''
    (is.nil? || is==true) ? 'pdflatex' : is
  end
  def postgresql
    is=(defined? @rc['program_set']['postgresql']) ? \
      @rc['program_set']['postgresql'] : ''
    (is.nil? || is==true) ? 'postgresql' : is
  end
  def sqlite
    is=(defined? @rc['program_set']['sqlite']) ? \
      @rc['program_set']['sqlite'] : ''
    (is.nil? || is==true) ? 'sqlite' : is
  end
  self
end
promo?() click to toggle source
# File lib/sisu/se_info_env.rb, line 585
def promo?
  @flag[:ad]=if @md.flag_promo \
  && @ad[:flag_promo]
    @flag[:md]=true
    true
  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'] \
  and not @rc['html']['promo'].nil? \
  and @rc['html']['promo'].length > 0
    @flag[:rc]=true
    true
  else false
  end
  @flag
end
pwd() click to toggle source
# File lib/sisu/se_info_env.rb, line 1069
def pwd
  @sys.pwd
end
rbver() click to toggle source
# File lib/sisu/se_info_env.rb, line 141
def rbver
  @sys.rbver
end
read_source_file(fns) click to toggle source
# File lib/sisu/se_info_env.rb, line 1047
def read_source_file(fns)
  read_source_file_array(fns)
end
read_source_file_array(fns) click to toggle source
# File lib/sisu/se_info_env.rb, line 1038
def read_source_file_array(fns)
  (fns !~/\.ssm.sst$/) \
  ? (IO.readlines(fns, mode: 'r:utf-8', cr_newline: true))
  : (IO.readlines(
       "#{processing_path.composite_file}/#{fns}",
       mode: 'r:utf-8',
       cr_newline: true
    ))
end
read_source_file_string(fns) click to toggle source
# File lib/sisu/se_info_env.rb, line 1050
def read_source_file_string(fns)
  (fns !~/\.ssm.sst$/) \
  ? (IO.read(fns, mode: 'r:utf-8', cr_newline: true))
  : (IO.read(
       "#{processing_path.composite_file}/#{fns}",
       mode: 'r:utf-8',
       cr_newline: true
    ))
end
remote() click to toggle source
# File lib/sisu/se_info_env.rb, line 1584
def remote
  root
end
rexml() click to toggle source
# File lib/sisu/se_info_env.rb, line 2037
def rexml                        #should be part of ruby 1.8 but apparently not always
  is=(defined? @rc['program_set']['rexml']) ? \
    @rc['program_set']['rexml'] : ''
  (is.nil? || is==true) ? 'rexml' : is
end
rmagick() click to toggle source
# File lib/sisu/se_info_env.rb, line 2032
def rmagick
  is=(defined? @rc['program_set']['rmagick']) \
    ? @rc['program_set']['rmagick'] : nil
  (is.nil? || is==true) ? 'rmagick' : is
end
root() click to toggle source
# File lib/sisu/se_info_env.rb, line 1574
def root
  if defined? @rc['webserv']['url_root'] \
  and @rc['webserv']['url_root'] =~/https?:\/\//
    "#{@rc['webserv']['url_root']}/#{@stub_pwd}"
  elsif defined? @rc['webserv']['url_root'] \
  and @rc['webserv']['url_root'] =~/localhost/
    "http://localhost/#{@stub_pwd}"
  else "file://#{path.output}"
  end
end
root_dir() click to toggle source
# File lib/sisu/se_info_env.rb, line 1282
def root_dir
  proposed_path_base=if defined? @rc['processing']['path'] \
  and not @rc['processing']['path'].nil? \
  and not @rc['processing']['path'].empty?
    x=if @rc['processing']['path'] =~/^(?:~|home)$/
      home #fix
    else @rc['processing']['path']
    end
  else nil
  end
  proposed_dir=if defined? @rc['processing']['dir'] \
  and not @rc['processing']['dir'].nil? \
  and not @rc['processing']['dir'].empty?
    @rc['processing']['dir']
  else defaults[:processing_dir]
  end
  v=SiSU_Env::InfoVersion.instance.get_version
  v_dev=(DEVELOPER[:maintenance]==:true) \
  ? "_#{v.version}"
  : ''
  path=if proposed_path_base \
  and FileTest.directory?(proposed_path_base) \
  and File.writable?("#{proposed_path_base}/.")
    x=proposed_dir \
    ? "#{proposed_path_base}/#{proposed_dir}"
    : "#{proposed_path_base}/#{defaults[:processing_dir]}"
  else defaults[:processing_dir_tmp_root]
  end
  path = path + v_dev
end
rst_ocn?() click to toggle source
# File lib/sisu/se_info_env.rb, line 563
def rst_ocn?
  ((defined? @rc['rst']['ocn']) \
  && @rc['rst']['ocn']==true) \
  ? @rc['rst']['ocn']
  : false
end
sample_data() click to toggle source
# File lib/sisu/se_info_env.rb, line 1115
def sample_data                  #sample data repository source directory
  defaults[:sample_data_path]
end
sample_search_form_title(organised_by=:language) click to toggle source
# File lib/sisu/se_info_env.rb, line 1762
def sample_search_form_title(organised_by=:language)
  title=if defined? @rc['search']['sisu']['title'] \
  and @rc['search']['sisu']['title'] =~/\S+/
    @rc['search']['sisu']['title']
  else %{SiSU (generated sample) search form}
  end
  title=title + " (content organised by #{organised_by})"
end
sans() click to toggle source
# File lib/sisu/se_info_env.rb, line 940
def sans                       # not used
  (defined? @rc['default']['texpdf_fontface_sans']) \
  && (@rc['default']['texpdf_fontface_sans']=~/\S{3,}/)  \
  ? @rc['default']['texpdf_fontface_sans']
  : 'Liberation Sans'
end
scripts() click to toggle source
# File lib/sisu/se_info_env.rb, line 1198
def scripts                      #used previously only to include tla version info
  if defined? @rc['project']['path']
    "#{home}/#{@rc['project']['path']}"
  end
end
search?() click to toggle source
# File lib/sisu/se_info_env.rb, line 605
def search?
  searches=['sisu']
  flag=false
  if defined? @rc['search']
    searches.each do |type|
      flag=if defined? @rc['search'][type] \
      and defined? @rc['search'][type]['action'] \
      and @rc['search'][type]['flag']==true \
      and @rc['search'][type]['action'] =~/https?:\/\//
        flag=if promo?[:ad]
          false
        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
          true
        else false
        end
      else false
      end
    end
  else false
  end
  flag
end
search_action() click to toggle source
# File lib/sisu/se_info_env.rb, line 753
def search_action #check
  if search?
  else ''
  end
end
search_fixed?() click to toggle source
# File lib/sisu/se_info_env.rb, line 631
def search_fixed?
  searches=['sisu','hyperestraier']
  flag=if defined? @rc['search']
    searches.each do |type|
      if defined? @rc['search'][type] \
      and defined? @rc['search'][type]['action'] \
      and @rc['search'][type]['action'] =~/https?:\/\// \
      and defined? @rc['search'][type]['db'] \
      and @rc['search'][type]['db'] =~/\S+/
        flag=if promo?[:ad]
          false
        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
          true
        else false
        end
      else false
      end
    end
  else false
  end
end
search_form(type='sisusearch',action=nil,db=nil,table=false) click to toggle source
# File lib/sisu/se_info_env.rb, line 656
      def search_form(type='sisusearch',action=nil,db=nil,table=false)
        rc=SiSU_Env::GetInit.new.sisu_yaml.rc
        create_form_sisu=if action \
        and db \
        and action =~/https?:\/\// \
        and db =~/\S+/
          true
        elsif widget.search?
          db=if rc['search']['sisu']['flag']==true \
          and rc['search']['sisu']['db']=~/\S+/
            (rc['search']['sisu']['db']=~/^#{Db[:name_prefix]}\S+/) \
            ? rc['search']['sisu']['db']
            : "#{Db[:name_prefix]}#{rc['search']['sisu']['db']}"
          else nil
          end
          action=rc['search']['sisu']['action']
          true
        elsif defined? rc['search']['sisu']['flag'] \
        and defined? rc['search']['sisu']['action'] \
        and rc['search']['sisu']['flag']==true \
        and rc['search']['sisu']['action'] =~/https?:\/\//
          true
        else false
        end
        if table
          table_open='<td align="center" bgcolor="#ffffff">'
          table_close='</td>'
        else
          table_open=''
          table_close='<br />'
        end
        form=if create_form_sisu \
        and type=~/sisusearch/ \
        and defined? rc['search']['sisu'] \
        and defined? rc['search']['sisu']['action']
          <<WOK
<!-- SiSU Search -->
#{table_open}
<a name="search"></a>
<form method="get" action="#{rc['search']['sisu']['action']}" target="_top">
<font size="2">
<input type="text" name="s1" size="24" maxlength="255" />
<input type="hidden" name="db" value="#{db}" />
<input type="hidden" name="ltd" value="1000" />
<input type="hidden" name="off" value="0" />
<input type="hidden" name="doc" value="#{@md.fnb}" /><br />
<input type="submit" name="search" value="search doc" />
<input type="submit" name="search" value="search db" />
</font></form>
#{table_close}
<!-- SiSU Search -->
WOK
        else ''
        end
        form
      end
search_form?() click to toggle source
# File lib/sisu/se_info_env.rb, line 495
def search_form? #decide later, as is configured here (in sisurc) and can be turned off on command line
  if (defined? @rc['omit']['search_form'] \
  and not @rc['omit']['search_form'].nil?) \
  or listed?('search_form')
    :off
  else
    :na
  end
end
search_form_static(action=nil,db=nil) click to toggle source
# File lib/sisu/se_info_env.rb, line 712
      def search_form_static(action=nil,db=nil)
        rc=SiSU_Env::GetInit.new.sisu_yaml.rc
        create_form=if rc['search']['sisu']['flag']==true \
        and action \
        and db \
        and action =~/https?:\/\// \
        and db =~/\S+/
          true
        elsif widget.search_fixed?
          db=if rc['search']['sisu']['flag']==true \
          and rc['search']['sisu']['db']=~/\S+/
            (rc['search']['sisu']['db']=~/^#{Db[:name_prefix]}\S+/) \
            ? rc['search']['sisu']['db']
            : "#{Db[:name_prefix]}#{rc['search']['sisu']['db']}"
          else nil
          end
          action=rc['search']['sisu']['action']
          true
        else false
        end
        if create_form
          %{<td align="center" bgcolor="#ffffff">
<!-- SiSU Search -->
<a name="search"></a>
<form method="get" action="#{rc['search']['sisu']['action']}" target="_top">
<font size="2">
<input type="text" name="s1" size="24" maxlength="255" />
<br />
<input type="hidden" name="db" value="#{db}" />
<input type="hidden" name="ltd" value="1000" />
<input type="hidden" name="off" value="0" />
<input type="hidden" name="doc" value="#{@md.fnb}" />
<input type="submit" name="search" value="search doc" />
<input type="submit" name="search" value="search db" />
</font>
</form>
<!-- SiSU Search -->
</td> }
        else ''
        end
      end
segsubtoc?() click to toggle source
# File lib/sisu/se_info_env.rb, line 468
def segsubtoc?
  if (defined? @rc['omit']['segsubtoc'] \
  and not @rc['omit']['segsubtoc'].nil?) \
  or listed?('segsubtoc')
    :off
  else
    :na
  end
end
serif() click to toggle source
# File lib/sisu/se_info_env.rb, line 946
def serif                      # not used
  (defined? @rc['default']['texpdf_fontface_serif']) \
  && (@rc['default']['texpdf_font_serif']=~/\S{3,}/)  \
  ? @rc['default']['texpdf_fontface_serif']
  : 'Liberation Serif'
end
share() click to toggle source
# File lib/sisu/se_info_env.rb, line 1099
def share                        #shared data repository source directory
  #SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).
  #  mark(defaults[:sisu_share])
  defaults[:sisu_share]
end
sisupod_gen(fns_pod) click to toggle source
# File lib/sisu/se_info_env.rb, line 2119
def sisupod_gen(fns_pod)
  sisupod_gen_v3(fns_pod)
end
sisupod_gen_v2(fns_pod) click to toggle source
# File lib/sisu/se_info_env.rb, line 2157
def sisupod_gen_v2(fns_pod)
  sisupod_processing_path=
    processing_path.processing + '/' + Gt[:sisupod]
  if FileTest.directory?(sisupod_processing_path) \
  or FileTest.file?(sisupod_processing_path)
    FileUtils::rm_rf(sisupod_processing_path)
  end
  unless FileTest.directory?(sisupod_processing_path)
    FileUtils::mkdir_p(sisupod_processing_path)
  end
  (FileTest.file?(fns_pod)) \
  ? system("unzip -q #{fns_pod} -d #{processing_path.processing}")
  : (SiSU_Screen::Ansi.new(
      '',
      "*WARN* file not found: #{fns_pod}"
    ).warn unless @md.opt.act[:quiet][:set]==:on)
  sisupod_processing_path
end
sisupod_gen_v3(fns_pod) click to toggle source
# File lib/sisu/se_info_env.rb, line 2122
def sisupod_gen_v3(fns_pod)
  pwd=Dir.pwd
  sisupod_processing_path=
    processing_path.processing + '/' + Gt[:sisupod]
  if FileTest.directory?(sisupod_processing_path) \
  or FileTest.file?(sisupod_processing_path)
    FileUtils::rm_rf(sisupod_processing_path)
  end
  unless FileTest.directory?(sisupod_processing_path)
    FileUtils::mkdir_p(sisupod_processing_path)
  end
  f_pod=if FileTest.file?("#{Dir.pwd}/#{fns_pod}")
    "#{Dir.pwd}/#{fns_pod}"
  elsif FileTest.file?(fns_pod)
    fns_pod
  end
  if f_pod \
  && FileTest.file?(f_pod)
    (SiSU_Env::SystemCall.new.program_found?('tree')) \
    ? 'tree ' + processing_path.processing + '/' + Gt[:sisupod]
    : ''
    if FileTest.directory?(processing_path.processing)
      Dir.chdir(processing_path.processing)
      system(%{tar xJf #{f_pod}})
      Dir.chdir(pwd)
    end
    #system(tree)                                                          #enable if (/[vVM]/)
  else
    SiSU_Screen::Ansi.new(
      '',
      '*WARN* file not found: ' + fns_pod
    ).warn unless @md.opt.act[:quiet][:set]==:on
  end
  sisupod_processing_path
end
sisupod_v2() click to toggle source
# File lib/sisu/se_info_env.rb, line 301
def sisupod_v2
  #processing_path.processing
  #  sisupod
  #    content.sst              [file content]
  #    filename.sst             [link to content.sst]
  #    _sisu
  #      skin/
  #        doc                  [relevant skin if any other than default]
  #      image                  [all images for specific document gathered here]
  sisupod_processing_path="#{processing_path.processing}/#{Gt[:sisupod]}"
  if FileTest.directory?(sisupod_processing_path) \
  or FileTest.file?(sisupod_processing_path)
    FileUtils::rm_rf(sisupod_processing_path)
  end
  paths=[]
  paths=[
    "#{processing_path.processing}/#{Gt[:sisupod]}/_sisu/skin/doc",
    "#{processing_path.processing}/#{Gt[:sisupod]}/_sisu/skin/dir",
    "#{processing_path.processing}/#{Gt[:sisupod]}/_sisu/skin/site",
    "#{processing_path.processing}/#{Gt[:sisupod]}/_sisu/image"
  ]
  paths.each {|x| FileUtils::mkdir_p(x) unless FileTest.directory?(x) }
end
sisupod_v3(opt) click to toggle source
# File lib/sisu/se_info_env.rb, line 250
def sisupod_v3(opt)
  #processing_path.processing
  #  sisupod
  #    doc/
  #      manifest.txt
  #      en/content.sst                [file content]
  #      fr/content.sst
  #      _sisu
  #        skin/
  #          doc                       [relevant skin if any other than default]
  #        image@ (ln -s ../../image)
  #        audio@ (ln -s ../../audio)
  #        video@ (ln -s ../../video)
  #    image/                          [all images for specific document gathered here]
  #    audio/
  #    video/
  spp="#{processing_path.processing}/#{Gt[:sisupod]}"
  sppc="#{spp}/doc/_sisu"
  lng_dirs=[]
  if FileTest.directory?(spp) \
  or FileTest.file?(spp)
    FileUtils::rm_rf(spp)
  end
  paths=[]
  flv=SiSU_Env::EnvCall.new(opt.fns).
    document_language_versions_found
  flv[:f].each {|l| lng_dirs << l[:l] }
  lng_dirs.uniq.each do |lng|
    paths << "#{spp}/doc/#{lng}"
  end
  paths \
  << "#{spp}/image" \
  << "#{sppc}/skin/doc" \
  << "#{sppc}/skin/dir" \
  << "#{sppc}/skin/site"
 #<< "#{spp}/audio" \
 #<< "#{spp}/video" \
  paths.each do |x|
    unless FileTest.directory?(x)
      FileUtils::mkdir_p(x)
    end
  end
  if FileTest.directory?(sppc)
    pwd=Dir.pwd
    Dir.chdir(sppc)
    FileUtils::ln_s('../../image', 'image')
   #FileUtils::ln_s('../../audio', 'audio')
   #FileUtils::ln_s('../../video', 'video')
    Dir.chdir(pwd)
  end
end
sisupod_v4(opt) click to toggle source
# File lib/sisu/se_info_env.rb, line 203
def sisupod_v4(opt)
  #processing_path.processing
  #  sisupod
  #    doc/
  #      manifest.txt
  #      en/content.sst                [file content]
  #      fr/content.sst
  #      _sisu
  #        sisu_document_make
  #        image@ (ln -s ../../image)
  #        audio@ (ln -s ../../audio)
  #        video@ (ln -s ../../video)
  #    image/                          [all images for specific document gathered here]
  #    audio/
  #    video/
  spp="#{processing_path.processing}/#{Gt[:sisupod]}"
  sppc="#{spp}/doc/_sisu"
  lng_dirs=[]
  if FileTest.directory?(spp) \
  or FileTest.file?(spp)
    FileUtils::rm_rf(spp)
  end
  paths=[]
  flv=SiSU_Env::EnvCall.new(opt.fns).
    document_language_versions_found
  flv[:f].each {|l| lng_dirs << l[:l] }
  lng_dirs.uniq.each do |lng|
    paths << "#{spp}/doc/#{lng}"
  end
  paths \
  << "#{spp}/image"
 #<< "#{spp}/audio" \
 #<< "#{spp}/video" \
  paths.each do |x|
    unless FileTest.directory?(x)
      FileUtils::mkdir_p(x)
    end
  end
  if FileTest.directory?(sppc)
    pwd=Dir.pwd
    Dir.chdir(sppc)
    FileUtils::ln_s('../../image', 'image')
   #FileUtils::ln_s('../../audio', 'audio')
   #FileUtils::ln_s('../../video', 'video')
    Dir.chdir(pwd)
  end
end
sisurc_path() click to toggle source
# File lib/sisu/se_info_env.rb, line 1066
def sisurc_path
  SiSU_Get_Init::GetInit.new.sisu_yaml.rc_path
end
sitearch() click to toggle source
# File lib/sisu/se_info_env.rb, line 1093
def sitearch
  @sys.dir_sitearch
end
size(pt=nil) click to toggle source
# File lib/sisu/se_info_env.rb, line 921
def size(pt=nil)
  if pt && pt != :na
    pt
  elsif defined? @rc['default']['fontsize'] \
  && @rc['default']['fontsize']=~/\d{1,2}/
    @rc['default']['fontsize']
  else :na
  end
end
source_file_path() click to toggle source
# File lib/sisu/se_info_env.rb, line 865
def source_file_path
  file=@fns.gsub(/\.ssm(?:\.sst)?/,'.ssm.sst')
  unless file =~/\.ssm\.sst$/; "#{Dir.pwd}"
  else "#{processing_path.composite_file}"
  end
end
source_file_processing_array(fns) click to toggle source
# File lib/sisu/se_info_env.rb, line 1059
def source_file_processing_array(fns)
  read_source_file_string(fns).split(/\s*\n\s*\n/m)
end
source_file_with_path() click to toggle source
# File lib/sisu/se_info_env.rb, line 871
def source_file_with_path
  file=@fns.gsub(/\.ssm(?:\.sst)?/,'.ssm.sst')
  "#{source_file_path}/#{file}"
end
sql() click to toggle source
# File lib/sisu/se_info_env.rb, line 1536
def sql
  pth="#{processing}/sql"
  FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
  pth
end
sqlite() click to toggle source
# File lib/sisu/se_info_env.rb, line 1541
def sqlite
  pth=if defined? @rc['processing']['sqlite'] \
  and @rc['processing']['sqlite'].is_a?(String)
    "#{processing}/#{@rc['processing']['sqlite']}"
  else "#{processing}/#{defaults[:processing_sqlite]}"
  end
  FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
  pth
end
src_pod() click to toggle source
# File lib/sisu/se_info_env.rb, line 1605
def src_pod
  "#{root}/pod"
end
src_txt() click to toggle source
# File lib/sisu/se_info_env.rb, line 1602
def src_txt
  "#{root}/src"
end
stub_dir() click to toggle source
# File lib/sisu/se_info_env.rb, line 1318
def stub_dir
  (usr_dir?) \
  ? ("#{root_dir}/#{user}/#{stub_pwd}")
  : ("#{root_dir}/#{stub_pwd}") # see defaults[:processing_path]
end
stub_dir_orig() click to toggle source
# File lib/sisu/se_info_env.rb, line 1323
def stub_dir_orig # ends up with lang, if lang dir
  (usr_dir?) \
  ? ("#{root_dir}/#{user}/#{stub_pwd}")
  : ("#{root_dir}/#{stub_pwd}") # see defaults[:processing_path]
end
stub_epub() click to toggle source
# File lib/sisu/se_info_env.rb, line 1078
def stub_epub
  @stub_epub
end
stub_md_harvest() click to toggle source
# File lib/sisu/se_info_env.rb, line 194
def stub_md_harvest                #watch
  @stub_set_manifest
end
stub_pod() click to toggle source
# File lib/sisu/se_info_env.rb, line 200
def stub_pod
  @stub_pod
end
style() click to toggle source
# File lib/sisu/se_info_env.rb, line 1104
def style
  if @md \
  && ((@md.opt.opt_act[:dump][:bool] \
  &&   @md.opt.opt_act[:dump][:inst]) \
  ||  (@md.opt.opt_act[:redirect][:bool] \
  &&   @md.opt.opt_act[:redirect][:inst]))
    'css'
  else
   defaults[:stylesheet_stub]
  end
end
tex() click to toggle source
# File lib/sisu/se_info_env.rb, line 1503
def tex
  pth=if defined? @rc['processing']['latex'] \
  and @rc['processing']['latex'].is_a?(String)
    "#{processing}/#{@rc['processing']['latex']}"
  else "#{processing}/#{defaults[:processing_latex]}"
  end
  FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
  pth
end
texi() click to toggle source
# File lib/sisu/se_info_env.rb, line 1512
def texi
  pth=if defined? @rc['processing']['texinfo'] \
  and @rc['processing']['texinfo'].is_a?(String)
    "#{processing}/#{@rc['processing']['texinfo']}"
  else "#{processing}/#{defaults[:processing_texinfo]}"
  end
  FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
  pth
end
texinfo() click to toggle source
# File lib/sisu/se_info_env.rb, line 1521
def texinfo                      #texinfo webserv, check
  "#{processing}/#{defaults[:processing_texinfo]}"
end
texpdf() click to toggle source
# File lib/sisu/se_info_env.rb, line 930
def texpdf
  # you may wish to check selected font against available fonts:
  # fc-list :outline -f "%{family}\n"
  # fc-list :lang=ja
  def main
    (defined? @rc['default']['texpdf_fontface']) \
    && (@rc['default']['texpdf_fontface']=~/\S{3,}/)  \
    ? @rc['default']['texpdf_fontface']
    : 'Liberation Sans'
  end
  def sans                       # not used
    (defined? @rc['default']['texpdf_fontface_sans']) \
    && (@rc['default']['texpdf_fontface_sans']=~/\S{3,}/)  \
    ? @rc['default']['texpdf_fontface_sans']
    : 'Liberation Sans'
  end
  def serif                      # not used
    (defined? @rc['default']['texpdf_fontface_serif']) \
    && (@rc['default']['texpdf_font_serif']=~/\S{3,}/)  \
    ? @rc['default']['texpdf_fontface_serif']
    : 'Liberation Serif'
  end
  def mono
    (defined? @rc['default']['texpdf_fontface_mono']) \
    && (@rc['default']['texpdf_fontface_mono']=~/\S{3,}/)  \
    ? @rc['default']['texpdf_fontface_mono']
    : 'Liberation Mono'
  end
  def cjk
    (defined? @rc['default']['texpdf_fontface_cjk']) \
    && (@rc['default']['texpdf_fontface_cjk']=~/\S{3,}/)  \
    ? @rc['default']['texpdf_fontface_cjk']
    : 'IPAGothic' # 'IPAGothic' # 'IPAMincho' # 'TakaoMincho' # 'VL Gothic'
  end
  def cjk_zh
    (defined? @rc['default']['texpdf_fontface_cjk_zh']) \
    && (@rc['default']['texpdf_fontface_cjk_zh']=~/\S{3,}/)  \
    ? @rc['default']['texpdf_fontface_cjk_zh']
    : 'IPAGothic'
  end
  def cjk_ja
    (defined? @rc['default']['texpdf_fontface_cjk_ja']) \
    && (@rc['default']['texpdf_fontface_cjk_ja']=~/\S{3,}/)  \
    ? @rc['default']['texpdf_fontface_cjk_ja']
    : 'IPAGothic'
  end
  def cjk_ko
    (defined? @rc['default']['texpdf_fontface_cjk_ko']) \
    && (@rc['default']['texpdf_fontface_cjk_ko']=~/\S{3,}/)  \
    ? @rc['default']['texpdf_fontface_cjk_ko']
    : 'IPAGothic'
  end
  def size(pt=nil)
    if pt && pt != :na
      pt
    elsif (defined? @rc['default']['texpdf_fontsize']) \
    && (@rc['default']['texpdf_fontsize']=~/\d{1,2}/)
      @rc['default']['texpdf_fontsize']
    elsif (defined? @rc['default']['fontsize']) \
    && (@rc['default']['fontsize']=~/\d{1,2}/)
      @rc['default']['fontsize']
    else
      :na
    end
  end
  self
end
text_editor() click to toggle source
# File lib/sisu/se_info_env.rb, line 1927
def text_editor
  if defined? @rc['program_select']['editor'] \
  and @rc['program_select']['editor'] =~/\S\S+/
    @rc['program_select']['editor']
  elsif defined? @rc['program_select']['text_editor'] \
  and @rc['program_select']['text_editor'] =~/\S\S+/
    @rc['program_select']['text_editor']
  else 'editor'                                                            #'gvim -c :R -c :S'
  end
end
textile_ocn?() click to toggle source
# File lib/sisu/se_info_env.rb, line 545
def textile_ocn?
  ((defined? @rc['textile']['ocn']) \
  && @rc['textile']['ocn']==true) \
  ? @rc['textile']['ocn']
  : false
end
tidy() click to toggle source
# File lib/sisu/se_info_env.rb, line 2027
def tidy
  is=(defined? @rc['program_set']['tidy']) \
    ? @rc['program_set']['tidy'] : nil
  (is.nil? || is==true) ? 'tidy' : is
end
tmp_root_dir() click to toggle source
# File lib/sisu/se_info_env.rb, line 1279
def tmp_root_dir
  defaults[:processing_dir_tmp_root]
end
toc?() click to toggle source
# File lib/sisu/se_info_env.rb, line 385
def toc?
  if (defined? @rc['omit']['toc'] \
  and not @rc['omit']['toc'].nil?) \
  or listed?('toc')
    :off
  else
    :na
  end
end
tune() click to toggle source
# File lib/sisu/se_info_env.rb, line 1412
def tune
  pth=if defined? @rc['processing']['tune'] \
    and @rc['processing']['tune'].is_a?(String)
    "#{processing}/#{@rc['processing']['tune']}"
  else "#{processing}/#{defaults[:processing_tune]}"
  end
  FileUtils::mkdir_p(pth) unless FileTest.directory?(pth)
  pth
end
txt() click to toggle source
# File lib/sisu/se_info_env.rb, line 1587
def txt
  "#{root}/txt"
end
type() click to toggle source
# File lib/sisu/se_info_env.rb, line 1902
def type
  if @opt
    case @opt.act[:hash_digest_algo]
    when :sha512 then :sha512
    when :sha256 then :sha256
    when :md5    then :md5
    else              digest_conf?
    end
  else                digest_conf?
  end
end
url() click to toggle source
# File lib/sisu/se_info_env.rb, line 1561
def url
  def hostname
    "http://#{@sys.hostname}"
  end
  def dir_url
    "file://#{path.webserv}/#{stub_pwd}"
  end
  def localhost
    "http://localhost/#{stub_pwd}"
  end
  def local
    "http://#{hostname}/#{@stub_pwd}"
  end
  def root
    if defined? @rc['webserv']['url_root'] \
    and @rc['webserv']['url_root'] =~/https?:\/\//
      "#{@rc['webserv']['url_root']}/#{@stub_pwd}"
    elsif defined? @rc['webserv']['url_root'] \
    and @rc['webserv']['url_root'] =~/localhost/
      "http://localhost/#{@stub_pwd}"
    else "file://#{path.output}"
    end
  end
  def remote
    root
  end
  def txt
    "#{root}/txt"
  end
  def html
    "#{root}/html"
  end
  def epub
    "#{root}/epub"
  end
  def odt
    "#{root}/odt"
  end
  def pdf
    "#{root}/pdf"
  end
  def src_txt
    "#{root}/src"
  end
  def src_pod
    "#{root}/pod"
  end
  def pot
    "#{root}/po4a/pot"
  end
  def po
    "#{root}/po4a/po"
  end
  def webserv_host_base(opt=nil)
    if defined? @rc['webserv']['host']
      case  @rc['webserv']['host']
      when /https?:\/\// then @rc['webserv']['host']
      when /\S+/         then "http://#{@rc['webserv']['host']}"
      else                    defaults[:webserv_host_cgi]
      end
    else                      defaults[:webserv_host_cgi]
    end
  end
  def webserv_cgi(opt=nil)         #web url for local webserv (localhost, or hostname)
    http=if defined? @rc['webserv_cgi']['host'] \
    and @rc['webserv_cgi']['host'].is_a?(String)
      http=((@rc['webserv_cgi']['host'] =~ /https?:\/\//) ? '' : 'http://') #check https? missing
      if port.webserv_port_cgi
        http + @rc['webserv_cgi']['host'] + ':' \
        + port.webserv_port_cgi + '/' \
        + @stub_pwd
      else
        http + @rc['webserv_cgi']['host'] + '/' \
        + @stub_pwd
      end
    else
      http=((webserv_host_base=~/https?:\/\//) ? '' : 'http://')
      if port.webserv_port_cgi(opt)
        http + webserv_host_base + ':' \
        + port.webserv_port_cgi(opt) + '/'\
        + @stub_pwd
      else
        http + webserv_host_base + '/' \
        + @stub_pwd
      end
    end
    http=http.strip
  end
  def webserv_base_cgi(opt=nil)    #web url for local webserv (localhost, or hostname)
    http_cgi=if opt.selections.str =~/--webserv-(?:cgi|db|search)[=-]["']?(\S+)["']+/
      m=$1
      (m=~/http\/\/:/) ? m : %{http://#{m}}
    elsif defined? @rc['webserv_cgi']['host'] \
    and @rc['webserv_cgi']['host'].is_a?(String)
      http=((@rc['webserv_cgi']['host'] =~ /https?:\/\//) ? '' : 'http://')
      if port.webserv_port_cgi(opt)
        http + @rc['webserv_cgi']['host'] + ':' \
        + port.webserv_port_cgi(opt).to_s
      else
        http + @rc['webserv_cgi']['host']
      end
    else
      http=((webserv_host_base=~/https?:\/\//) ? '' : 'http://')
      if port.webserv_port_cgi(opt)
        http + webserv_host_base + ':' \
        + port.webserv_port_cgi(opt).to_s
      else http + webserv_host_base
      end
    end
    http_cgi=http_cgi.strip
    #%q{http://#{ENV['HTTP_HOST']}}
  end
  def webrick #must have a port    #REMOVE
    if defined? @rc['webserv_cgi']['host'] \
    and @rc['webserv_cgi']['host'].is_a?(String)
      http=if @rc['webserv_cgi']['host'] =~/http:\/\//
        'http://'
      elsif @rc['webserv_cgi']['host'] =~/https:\/\//
        'https://'
      else defaults
      end
      http + @rc['webserv_cgi']['host']
    elsif webserv_host_base \
    and webserv_host_base.is_a?(String)
      webserv_host_base
    else
      #http + 'localhost'
      'localhost'
    end
  end
  def webserv                      #web url for local webserv (localhost, or hostname)
    if defined? @rc['webserv']['url_root'] \
    and @rc['webserv']['url_root'] =~/http/
      # needed for alternative output dir structures, fixes manifest url links, check may cause problems elsewhere
      @rc['webserv']['url_root']
    elsif path.webserv_dir \
    and path.webserv =~ /#{path.webserv_dir}/ #revisit
      path.webserv + '/' \
        + @base_markup_dir_stub.
          gsub(/#{path.webserv_dir}/,
            "#{url.hostname}/#{@stub_pwd}")
    elsif defined? @rc['webserv']['webrick_url'] \
    and @rc['webserv']['webrick_url']==false
      'file://' + path.webserv
    elsif port.webserv_port_cgi =~/\S+/
      url.hostname + ':' + port.webserv_port_cgi
    else
      url.hostname
    end
  end
  def webserv_base                 #web url for local webserv (localhost, or hostname)
    if path.webserv_dir \
    and path.webserv =~ /#{path.webserv_dir}/ #revisit
      path.webserv + '/' \
      + @stub_pwd.
        gsub(/#{path.webserv_dir}/,
          "#{url.hostname}")
    elsif defined? @rc['webserv']['webrick_url'] \
    and @rc['webserv']['webrick_url']==false
      "file://#{path.webserv}"
    else "#{url.webrick_base}"
    end
  end
  def webserv_files_from_db(opt=nil) #sort this out, messy
    if opt.selections.str =~/--webserv-output[=-]["']?(\S+)["']+/
      m=$1
      (m=~/(?:http|file\/)\/\/:/) ? m : %{http://#{m}}
    else
      show_output_on=if defined? @rc['webserv_cgi']['show_output_on']
        @rc['webserv_cgi']['show_output_on']
      elsif  defined? @rc['webserv_cgi']['file_links']
        @rc['webserv_cgi']['file_links']
      else ''
      end
      m=case show_output_on
      when /webserv_cgi/ then url.webserv_base_cgi(opt)
      when /webserv/     then @rc['webserv']['url_root']
      when /https?:\/\// then @rc['webserv_cgi']['file_links']
      when /\S+/         then 'http://' + @rc['webserv_cgi']['file_links']
      else                     webserv_base_cgi(opt)
      end
    end
    #%q{http://#{ENV['HTTP_HOST']}/cgi-bin}
  end
  def cgi_sample_search_form_name(opt=nil)
    if opt.selections.str \
    =~/--(?:cgi-)?search-form-name[=-]["']?(\S+?\.cgi)/
      $1
    elsif not opt.selections.str =~/--db[=-]["']?sqlite/ \
    and defined? @rc['search'] \
    and defined? @rc['search']['sisu'] \
    and defined? @rc['search']['sisu']['action'] \
    and @rc['search']['sisu']['action'] =~/https?:\/\/\S+?\.cgi/
      /(?:https?:\/\/\S+?)\/([^\/]+?\.cgi)$/.
        match(@rc['search']['sisu']['action'])[1]
    else
      (opt.selections.str =~/--db[=-]["']?sqlite/) \
      ? "#{Db[:name_prefix_db]}sqlite.cgi" \
      :  "#{Db[:name_prefix_db]}pg.cgi"
    end
  end
  def sample_search_form_title(organised_by=:language)
    title=if defined? @rc['search']['sisu']['title'] \
    and @rc['search']['sisu']['title'] =~/\S+/
      @rc['search']['sisu']['title']
    else %{SiSU (generated sample) search form}
    end
    title=title + " (content organised by #{organised_by})"
  end
  def output_tell                  #BROKEN Revisit 2011-02
    output_type=if defined? @rc['show_output_on'] \
    and @rc['show_output_on'] \
    =~/^(?:filesystem|webserv|(?:local|remote)(?:_webserv)?|webrick)/
      @rc['show_output_on']
    else 'filesystem'
    end
    case output_type
    when /^filesystem(?:_url)?/       then url.dir_url
    when /^remote(?:_webserv)?/       then url.remote
    when /^(?:webserv|local_webserv)/ then url.local
    when /^local(:\d+)/               then url.hostname + $1 + '/' + stub_pwd
    when /^localhost(:\d+)/           then url.localhost + $1 +  '/' + stub_pwd
    when /^localhost/                 then url.localhost
    when /^webrick/                   then url.webrick
    when /^path/                      then url.webserv_map_pwd
    else                                   url.webserv_map_pwd
    end
  end
  def images
    "#{Xx[:html_relative2]}/_sisu/image"
  end
  #def images
  #  '../_sisu/image'
  #end
  def images_local
    if FileTest.directory?(path.image_source_include)
      path.image_source_include
    else
      if @@local_image==true
        cmd=@md.opt.selections.str ? @md.opt.selections.str : ''
        SiSU_Screen::Ansi.new(
          cmd,
          "WARNING - no local image directory or images:",
          defaults[:image_local]
        ).warn unless @md.opt.act[:quiet][:set]==:on
        @@local_image=false
      end
      url.images
    end
  end
  def images_external
    if FileTest.directory?(image_external)
      if @@image_flag
        images=Dir.glob("#{image_external}/*.{png,jpg,gif}")
        pth=path.webserv + '/' \
        + @stub_pwd
        FileUtils::mkdir_p("#{pth}/_sisu/image_external") \
          unless FileTest.directory?("#{pth}/_sisu/image_external")
        images.each { |i| File.install(i,"#{pth}/#{i}") } \
          unless images.length > 0
        @@image_flag=false
      end
      "#{Xx[:html_relative2]}/_sisu/image_external"
    else
      if @@local_image==true
        SiSU_Screen::Ansi.new(
          @cmd,
          'WARNING - image directory for external images or no such images:',
          :image_external
        ).warn unless @md.opt.act[:quiet][:set]==:on
        @@local_image=false
      end
      url.images_external
    end
  end
  def images_epub
    './image'
  end
  self
end
usr_dir?() click to toggle source
# File lib/sisu/se_info_env.rb, line 1312
def usr_dir?
  case root_dir
  when /^\/home/ then false
  else                true
  end
end
wc() click to toggle source
# File lib/sisu/se_info_env.rb, line 2022
def wc #wordcount
  is=(defined? @rc['program_set']['wc']) \
    ? @rc['program_set']['wc'] : ''
  (is.nil? || is==true) ? 'wc' : is
end
web_browser() click to toggle source
# File lib/sisu/se_info_env.rb, line 1943
def web_browser
  if defined? @rc['program_select']['www_browser'] \
  and @rc['program_select']['www_browser'] =~/\S\S+/
    @rc['program_select']['www_browser']
  elsif defined? @rc['program_select']['web_browser'] \
  and @rc['program_select']['web_browser'] =~/\S\S+/
    @rc['program_select']['web_browser']
  else 'x-www-browser'                                                      #'firefox' 'iceweasel' 'kazehakase' 'galeon'
  end
end
webrick() click to toggle source
# File lib/sisu/se_info_env.rb, line 1673
def webrick #must have a port    #REMOVE
  if defined? @rc['webserv_cgi']['host'] \
  and @rc['webserv_cgi']['host'].is_a?(String)
    http=if @rc['webserv_cgi']['host'] =~/http:\/\//
      'http://'
    elsif @rc['webserv_cgi']['host'] =~/https:\/\//
      'https://'
    else defaults
    end
    http + @rc['webserv_cgi']['host']
  elsif webserv_host_base \
  and webserv_host_base.is_a?(String)
    webserv_host_base
  else
    #http + 'localhost'
    'localhost'
  end
end
webrick_port() click to toggle source
# File lib/sisu/se_info_env.rb, line 1842
def webrick_port
  if @md \
  and @md.opt.act[:sample_search_form][:set]==:on \
  and @md.opt.selections.str=~/port=(\d+)/
     $1
  else
    if defined? @rc['webserv_cgi']['port']
      if @rc['webserv_cgi']['port'].nil? \
      and (defined? @md.opt.selections \
      and @md.opt.selections.str=~/webrick/)
        defaults[:webserv_port_cgi]
      elsif not @rc['webserv_cgi']['port'].nil?
        @rc['webserv_cgi']['port']
      else defaults[:webserv_port_cgi]
      end
    else   defaults[:webserv_port_cgi]
    end
  end
end
webserv() click to toggle source
# File lib/sisu/se_info_env.rb, line 1132
def webserv                      #separation required for webrick which cannot use path.output (different requirements as no file is passed)
  man_path=if @@man_path.nil?
    man_path=if defined? @rc['webserv']['path'] \
    and @rc['webserv']['path'] =~/\S\S+/
      pwd=Dir.pwd
      Dir.chdir(SiSU_Utils::Path.new.base_markup)
      man_path=@@man_path=File.expand_path(@rc['webserv']['path'])
      Dir.chdir(pwd)
      man_path
    else defaults[:webserv_path]
    end
  else @@man_path
  end
  man_path_head=man_path.gsub(/(\S+)\/[^\/\s]+$/,'\1')
  unless FileTest.directory?(man_path)
    FileUtils::mkdir_p(man_path) if File.writable?("#{man_path_head}/.")
  end
  @webserv_path=if defined? man_path \
  and File.writable?("#{man_path}/.")
    man_path #web server path as configured in rc file
  elsif FileTest.directory?(defaults[:webserv_path]) \
  and File.writable?("#{defaults[:webserv_path]}/.") #web server path default
    defaults[:webserv_path]
  else #create default directory under home and place output there
    unless FileTest.directory?(defaults[:output_local])
      FileUtils::mkdir_p(defaults[:output_local])
    end
    defaults[:output_local]
  end
end
webserv_base() click to toggle source
# File lib/sisu/se_info_env.rb, line 1711
def webserv_base                 #web url for local webserv (localhost, or hostname)
  if path.webserv_dir \
  and path.webserv =~ /#{path.webserv_dir}/ #revisit
    path.webserv + '/' \
    + @stub_pwd.
      gsub(/#{path.webserv_dir}/,
        "#{url.hostname}")
  elsif defined? @rc['webserv']['webrick_url'] \
  and @rc['webserv']['webrick_url']==false
    "file://#{path.webserv}"
  else "#{url.webrick_base}"
  end
end
webserv_base_cgi(opt=nil) click to toggle source
# File lib/sisu/se_info_env.rb, line 1649
def webserv_base_cgi(opt=nil)    #web url for local webserv (localhost, or hostname)
  http_cgi=if opt.selections.str =~/--webserv-(?:cgi|db|search)[=-]["']?(\S+)["']+/
    m=$1
    (m=~/http\/\/:/) ? m : %{http://#{m}}
  elsif defined? @rc['webserv_cgi']['host'] \
  and @rc['webserv_cgi']['host'].is_a?(String)
    http=((@rc['webserv_cgi']['host'] =~ /https?:\/\//) ? '' : 'http://')
    if port.webserv_port_cgi(opt)
      http + @rc['webserv_cgi']['host'] + ':' \
      + port.webserv_port_cgi(opt).to_s
    else
      http + @rc['webserv_cgi']['host']
    end
  else
    http=((webserv_host_base=~/https?:\/\//) ? '' : 'http://')
    if port.webserv_port_cgi(opt)
      http + webserv_host_base + ':' \
      + port.webserv_port_cgi(opt).to_s
    else http + webserv_host_base
    end
  end
  http_cgi=http_cgi.strip
  #%q{http://#{ENV['HTTP_HOST']}}
end
webserv_cgi(opt=nil) click to toggle source
# File lib/sisu/se_info_env.rb, line 1624
def webserv_cgi(opt=nil)         #web url for local webserv (localhost, or hostname)
  http=if defined? @rc['webserv_cgi']['host'] \
  and @rc['webserv_cgi']['host'].is_a?(String)
    http=((@rc['webserv_cgi']['host'] =~ /https?:\/\//) ? '' : 'http://') #check https? missing
    if port.webserv_port_cgi
      http + @rc['webserv_cgi']['host'] + ':' \
      + port.webserv_port_cgi + '/' \
      + @stub_pwd
    else
      http + @rc['webserv_cgi']['host'] + '/' \
      + @stub_pwd
    end
  else
    http=((webserv_host_base=~/https?:\/\//) ? '' : 'http://')
    if port.webserv_port_cgi(opt)
      http + webserv_host_base + ':' \
      + port.webserv_port_cgi(opt) + '/'\
      + @stub_pwd
    else
      http + webserv_host_base + '/' \
      + @stub_pwd
    end
  end
  http=http.strip
end
webserv_dir() click to toggle source
# File lib/sisu/se_info_env.rb, line 1170
def webserv_dir                  #fixed/hard path to /www web/presentation directory, on Debian /var/www subdirectories are created within it, depending on markup directory stub-name (last segment of markup directory name)
  defaults[:webserv_dir]
end
webserv_files_from_db(opt=nil) click to toggle source
# File lib/sisu/se_info_env.rb, line 1724
def webserv_files_from_db(opt=nil) #sort this out, messy
  if opt.selections.str =~/--webserv-output[=-]["']?(\S+)["']+/
    m=$1
    (m=~/(?:http|file\/)\/\/:/) ? m : %{http://#{m}}
  else
    show_output_on=if defined? @rc['webserv_cgi']['show_output_on']
      @rc['webserv_cgi']['show_output_on']
    elsif  defined? @rc['webserv_cgi']['file_links']
      @rc['webserv_cgi']['file_links']
    else ''
    end
    m=case show_output_on
    when /webserv_cgi/ then url.webserv_base_cgi(opt)
    when /webserv/     then @rc['webserv']['url_root']
    when /https?:\/\// then @rc['webserv_cgi']['file_links']
    when /\S+/         then 'http://' + @rc['webserv_cgi']['file_links']
    else                     webserv_base_cgi(opt)
    end
  end
  #%q{http://#{ENV['HTTP_HOST']}/cgi-bin}
end
webserv_host_base(opt=nil) click to toggle source
# File lib/sisu/se_info_env.rb, line 1614
def webserv_host_base(opt=nil)
  if defined? @rc['webserv']['host']
    case  @rc['webserv']['host']
    when /https?:\/\// then @rc['webserv']['host']
    when /\S+/         then "http://#{@rc['webserv']['host']}"
    else                    defaults[:webserv_host_cgi]
    end
  else                      defaults[:webserv_host_cgi]
  end
end
webserv_image() click to toggle source
# File lib/sisu/se_info_env.rb, line 1173
def webserv_image                #web/presentation directory, subdirectories are created within it, depending on markup directory stub-name (last segment of markup directory name)
  images=if defined? @rc['webserv']['images']
    @rc['webserv']['images']
  else defaults[:images]
  end
  "#{path.webserv}/#{images}"
end
webserv_map_pwd() click to toggle source
# File lib/sisu/se_info_env.rb, line 1167
def webserv_map_pwd #dir
  "#{path.webserv}/#{base_markup_dir_stub}"
end
webserv_stub_ensure() click to toggle source
# File lib/sisu/se_info_env.rb, line 1162
def webserv_stub_ensure
  FileUtils::mkdir_p(path.webserv) unless FileTest.directory?(path.webserv)
  FileUtils::mkdir_p("#{path.webserv}/#{@base_markup_dir_stub}") \
    unless FileTest.directory?("#{path.webserv}/#{@base_markup_dir_stub}")
end
widget() click to toggle source
# File lib/sisu/se_info_env.rb, line 575
    def widget #needs (md) #move
      @rc=SiSU_Env::GetInit.new.sisu_yaml.rc
      @ad=SiSU_Env::GetInit.new.ads
      @html_bits=SiSU_Proj_HTML::Bits.new
      @flag={
        ad: false,
        md: false,
        sk: false,
        rc: false
      }
      def promo?
        @flag[:ad]=if @md.flag_promo \
        && @ad[:flag_promo]
          @flag[:md]=true
          true
        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'] \
        and not @rc['html']['promo'].nil? \
        and @rc['html']['promo'].length > 0
          @flag[:rc]=true
          true
        else false
        end
        @flag
      end
      def search?
        searches=['sisu']
        flag=false
        if defined? @rc['search']
          searches.each do |type|
            flag=if defined? @rc['search'][type] \
            and defined? @rc['search'][type]['action'] \
            and @rc['search'][type]['flag']==true \
            and @rc['search'][type]['action'] =~/https?:\/\//
              flag=if promo?[:ad]
                false
              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
                true
              else false
              end
            else false
            end
          end
        else false
        end
        flag
      end
      def search_fixed?
        searches=['sisu','hyperestraier']
        flag=if defined? @rc['search']
          searches.each do |type|
            if defined? @rc['search'][type] \
            and defined? @rc['search'][type]['action'] \
            and @rc['search'][type]['action'] =~/https?:\/\// \
            and defined? @rc['search'][type]['db'] \
            and @rc['search'][type]['db'] =~/\S+/
              flag=if promo?[:ad]
                false
              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
                true
              else false
              end
            else false
            end
          end
        else false
        end
      end
      def search_form(type='sisusearch',action=nil,db=nil,table=false)
        rc=SiSU_Env::GetInit.new.sisu_yaml.rc
        create_form_sisu=if action \
        and db \
        and action =~/https?:\/\// \
        and db =~/\S+/
          true
        elsif widget.search?
          db=if rc['search']['sisu']['flag']==true \
          and rc['search']['sisu']['db']=~/\S+/
            (rc['search']['sisu']['db']=~/^#{Db[:name_prefix]}\S+/) \
            ? rc['search']['sisu']['db']
            : "#{Db[:name_prefix]}#{rc['search']['sisu']['db']}"
          else nil
          end
          action=rc['search']['sisu']['action']
          true
        elsif defined? rc['search']['sisu']['flag'] \
        and defined? rc['search']['sisu']['action'] \
        and rc['search']['sisu']['flag']==true \
        and rc['search']['sisu']['action'] =~/https?:\/\//
          true
        else false
        end
        if table
          table_open='<td align="center" bgcolor="#ffffff">'
          table_close='</td>'
        else
          table_open=''
          table_close='<br />'
        end
        form=if create_form_sisu \
        and type=~/sisusearch/ \
        and defined? rc['search']['sisu'] \
        and defined? rc['search']['sisu']['action']
          <<WOK
<!-- SiSU Search -->
#{table_open}
<a name="search"></a>
<form method="get" action="#{rc['search']['sisu']['action']}" target="_top">
<font size="2">
<input type="text" name="s1" size="24" maxlength="255" />
<input type="hidden" name="db" value="#{db}" />
<input type="hidden" name="ltd" value="1000" />
<input type="hidden" name="off" value="0" />
<input type="hidden" name="doc" value="#{@md.fnb}" /><br />
<input type="submit" name="search" value="search doc" />
<input type="submit" name="search" value="search db" />
</font></form>
#{table_close}
<!-- SiSU Search -->
WOK
        else ''
        end
        form
      end
      def search_form_static(action=nil,db=nil)
        rc=SiSU_Env::GetInit.new.sisu_yaml.rc
        create_form=if rc['search']['sisu']['flag']==true \
        and action \
        and db \
        and action =~/https?:\/\// \
        and db =~/\S+/
          true
        elsif widget.search_fixed?
          db=if rc['search']['sisu']['flag']==true \
          and rc['search']['sisu']['db']=~/\S+/
            (rc['search']['sisu']['db']=~/^#{Db[:name_prefix]}\S+/) \
            ? rc['search']['sisu']['db']
            : "#{Db[:name_prefix]}#{rc['search']['sisu']['db']}"
          else nil
          end
          action=rc['search']['sisu']['action']
          true
        else false
        end
        if create_form
          %{<td align="center" bgcolor="#ffffff">
<!-- SiSU Search -->
<a name="search"></a>
<form method="get" action="#{rc['search']['sisu']['action']}" target="_top">
<font size="2">
<input type="text" name="s1" size="24" maxlength="255" />
<br />
<input type="hidden" name="db" value="#{db}" />
<input type="hidden" name="ltd" value="1000" />
<input type="hidden" name="off" value="0" />
<input type="hidden" name="doc" value="#{@md.fnb}" />
<input type="submit" name="search" value="search doc" />
<input type="submit" name="search" value="search db" />
</font>
</form>
<!-- SiSU Search -->
</td> }
        else ''
        end
      end
      def search_action #check
        if search?
        else ''
        end
      end
      self
    end
widget_static() click to toggle source
# File lib/sisu/se_info_env.rb, line 760
    def widget_static
      @rc=SiSU_Env::GetInit.new.sisu_yaml.rc
      @html_bits=SiSU_Proj_HTML::Bits.new
      @flag={ ad: false, md: false, sk: false, rc: false }
      def search?
        flag=if defined? @rc['search'] \
        and defined? @rc['search']['sisu'] \
        and defined? @rc['search']['sisu']['action'] \
        and @rc['search']['sisu']['action'] =~/https?:\/\// \
        and defined? @rc['search']['sisu']['db'] \
        and @rc['search']['sisu']['db'] =~/\S+/
          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
            true
          else
            false
          end
        else
          false
        end
      end
      def search_fixed?
        flag=if defined? @rc['search'] \
        and defined? @rc['search']['sisu'] \
        and defined? @rc['search']['sisu']['action'] \
        and @rc['search']['sisu']['action'] =~/https?:\/\// \
        and defined? @rc['search']['sisu']['db'] \
        and @rc['search']['sisu']['db'] =~/\S+/ \
        and defined? @rc['search']['sisu']['db'] \
        and @rc['search']['sisu']['db'] =~/\S+/
          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
            true
          else
            false
          end
        else
          false
        end
      end
      def search_form(action=nil,db=nil)
        rc=SiSU_Env::GetInit.new.sisu_yaml.rc
        create_form=if defined? rc['search']['sisu']['flag'] \
        and rc['search']['sisu']['flag']==true \
        and action \
        and db \
        and action =~/https?:\/\// \
        and db =~/\S+/
          true
        elsif widget_static.search? \
        and rc['search']['sisu']['flag']==true
          db=if rc['search']['sisu']['db']=~/\S+/
            (rc['search']['sisu']['db']=~/^#{Db[:name_prefix]}\S+/) \
            ? rc['search']['sisu']['db']
            : "#{Db[:name_prefix]}#{rc['search']['sisu']['db']}"
          else nil
          end
          action=rc['search']['sisu']['action']
          true
        else false
        end
        if create_form \
        and @fnb \
        and @fnb=~/\S+/
          %{<!-- SiSU Search -->
<a name="search"></a>
<form method="get" action="#{rc['search']['sisu']['action']}" target="_top">
<font size="2">
<input type="text" name="s1" size="24" maxlength="255" />
<br />
<input type="hidden" name="db" value="#{db}" />
<input type="hidden" name="doc" value="#{@fnb}" />
<input type="submit" name="search" value="search doc" />
<input type="submit" name="search" value="search db" />
</font>
</form>
<!-- SiSU Search --> }
        elsif create_form
          %{<!-- SiSU Search -->
<a name="search"></a>
<form method="get" action="#{rc['search']['sisu']['action']}" target="_top">
<font size="2">
<input type="text" name="s1" size="24" maxlength="255" />
<br />
<input type="hidden" name="db" value="#{db}" />
<input type="submit" name="search" value="search db" />
</font>
</form>
<!-- SiSU Search --> }
        else ''
        end
      end
      def search_action #check
        if search?
        else ''
        end
      end
      self
    end
www_browser() click to toggle source
# File lib/sisu/se_info_env.rb, line 1953
def www_browser
  web_browser
end
xml_docbook_ocn?() click to toggle source
# File lib/sisu/se_info_env.rb, line 521
def xml_docbook_ocn?
  ((defined? @rc['xml_docbook']['ocn']) \
  && @rc['xml_docbook']['ocn']==false) \
  ? @rc['xml_docbook']['ocn']
  : true
end
xml_editor() click to toggle source
# File lib/sisu/se_info_env.rb, line 1993
def xml_editor
  xml_viewer
end
xml_fictionbook_ocn?() click to toggle source
# File lib/sisu/se_info_env.rb, line 527
def xml_fictionbook_ocn?
  ((defined? @rc['xml_fictionbook']['ocn']) \
  && @rc['xml_fictionbook']['ocn']==false) \
  ? @rc['xml_fictionbook']['ocn']
  : true
end
xml_scaffold_ocn?() click to toggle source
# File lib/sisu/se_info_env.rb, line 533
def xml_scaffold_ocn?
  ((defined? @rc['xml_scaffold']['ocn']) \
  && @rc['xml_scaffold']['ocn']==false) \
  ? @rc['xml_scaffold']['ocn']
  : true
end
xml_viewer() click to toggle source
# File lib/sisu/se_info_env.rb, line 1975
def xml_viewer
  ((defined? @rc['program_select']['xml_viewer']) \
  && @rc['program_select']['xml_viewer'] =~/\S\S+/) \
  ? @rc['program_select']['xml_viewer']
  : text_editor
end
yamlrc() click to toggle source
# File lib/sisu/se_info_env.rb, line 1121
def yamlrc
  GetInit.new.sisu_yaml.rc_path
end