class SiSU_Create_Site::CreateSite

Public Class Methods

new(opt) click to toggle source
# File lib/sisu/se_createsite.rb, line 71
def initialize(opt)
  @opt=opt
  @env=SiSU_Env::InfoEnv.new
  @init=SiSU_Env::GetInit.new
  @home,@pwd=ENV['HOME'],ENV['PWD'] #@pwd=Dir.pwd
  @rc=SiSU_Env::GetInit.new.sisu_yaml.rc
  @home_set=SiSU_Proj_HTML::Home.new
end

Public Instance Methods

cp_base_images() click to toggle source
# File lib/sisu/se_createsite.rb, line 163
def cp_base_images #fix images
  src=SiSU_is.path_base_system_data? + '/image'
  dest_arr=[
    "#{@env.path.webserv}/_sisu/image_sys",
    "#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image_sys"
  ]
  dest_arr.each do |dest|
    cp_images(src,dest) if FileTest.directory?(src)
  end
end
cp_css() click to toggle source
# File lib/sisu/se_createsite.rb, line 173
def cp_css
  FileUtils::mkdir_p("#{@env.path.output}/#{@env.path.style}") \
    unless FileTest.directory?("#{@env.path.output}/#{@env.path.style}")
  css_path=[
    '/etc/sisu/css',
    "#{@home}/.sisu/css",
    "#{@pwd}/_sisu/css",
  ] #BROKEN
  if defined? @rc['permission_set']['css_modify'] \
  and @rc['permission_set']['css_modify']
    SiSU_Screen::Ansi.new(
      @opt.selections.str,
      "*WARN* modify is css set to: #{@rc['permission_set']['css_modify']}"
    ).warn if @opt.act[:verbose_plus][:set]==:on \
    or @opt.act[:maintenance][:set]==:on
    css_path.each do |x|
      if FileTest.directory?(x)
        FileUtils::cd(x)
        source=Dir.glob("*.{css}")
        source.each do |i|
          if FileTest.file?(i)
            FileUtils::cp(
              i,
              @env.path.output + '/' + @env.path.style
            )
          else STDERR.puts %{\t*WARN* did not find css - "#{i}" [#{__FILE__}:#{__LINE__}]}
          end
        end
        FileUtils::cd(@pwd)
      end
    end
  else
    SiSU_Screen::Ansi.new(
      @opt.selections.str,
      "*WARN* modify css is not set or is set to: false"
    ).warn if @opt.act[:verbose_plus][:set]==:on \
    or @opt.act[:maintenance][:set]==:on
  end
  fn_css=SiSU_Env::CSS_Default.new
  css=SiSU_Style::CSS.new
  path_style="#{@env.path.output}/#{@env.path.style}"
  FileUtils::mkdir_p(path_style) \
    unless FileTest.directory?(path_style)
  if @opt.act[:site_init][:set]==:on \
  or not FileTest.file?("#{path_style}/#{fn_css.homepage}")
    style=File.new("#{path_style}/#{fn_css.homepage}",'w')
    style << css.homepage
    style.close
  end
  if @opt.act[:site_init][:set]==:on \
  or not FileTest.file?("#{path_style}/#{fn_css.html_tables}")
    style=File.new("#{path_style}/#{fn_css.html_tables}",'w')
    style << css.html_tables
    style.close
  end
  if @opt.act[:site_init][:set]==:on \
  or not FileTest.file?("#{path_style}/#{fn_css.html}")
    style=File.new("#{path_style}/#{fn_css.html}",'w')
    style << css.html
    style.close
  end
  if @opt.act[:site_init][:set]==:on \
  or not FileTest.file?("#{path_style}/#{fn_css.harvest}")
    style=File.new("#{path_style}/#{fn_css.harvest}",'w')
    style << css.harvest
    style.close
  end
  if @opt.act[:site_init][:set]==:on \
  or (@opt.act[:xml_sax][:set]==:on \
  and not FileTest.file?("#{path_style}/#{fn_css.xml_sax}"))
    style=File.new("#{path_style}/#{fn_css.xml_sax}",'w')
    style << css.xml_sax
    style.close
  end
  if @opt.act[:site_init][:set]==:on \
  or (@opt.act[:xml_dom][:set]==:on \
  and not FileTest.file?("#{path_style}/#{fn_css.xml_dom}"))
    style=File.new("#{path_style}/#{fn_css.xml_dom}",'w')
    style << css.xml_dom
    style.close
  end
  if @opt.act[:site_init][:set]==:on \
  or (@opt.act[:xml_docbook_book][:set] == :on \
  and not FileTest.file?("#{path_style}/#{fn_css.xml_docbook}"))
    style=File.new("#{path_style}/#{fn_css.xml_docbook}",'w')
    style << css.xml_docbook
    style.close
  end
  if @opt.act[:site_init][:set]==:on \
  or (@opt.act[:xhtml][:set] == :on \
  and not FileTest.file?("#{path_style}/#{fn_css.xhtml}"))
    style=File.new("#{path_style}/#{fn_css.xhtml}",'w')
    style << css.xhtml
    style.close
  end
end
cp_external_images() click to toggle source
# File lib/sisu/se_createsite.rb, line 134
def cp_external_images
  src=@env.processing_path.processing + '/' \
  + 'external_document/image'
  dest=
    @env.path.webserv + '/' \
    + @env.path.base_markup_dir_stub + '/' \
    + '_sisu/image_external'
  if FileTest.directory?(src)
    cp_images(src,dest) if FileTest.directory?(src)
  end
end
cp_images(src_path,dest_path) click to toggle source
# File lib/sisu/se_createsite.rb, line 110
def cp_images(src_path,dest_path)
  if FileTest.directory?(src_path)
    FileUtils::cd(src_path)
    source=Dir.glob("*.{png,jpg,gif,ico}")
    FileUtils::mkdir_p(dest_path) unless FileTest.directory?(dest_path)
    FileUtils::chmod(0755,dest_path)
    source.each do |i|
      if FileTest.file?(i)
        FileUtils::cp(i,"#{dest_path}/#{i}")
        FileUtils::chmod(0644,"#{dest_path}/#{i}")
      else STDERR.puts %{\t*WARN* did not find image - "#{i}" [#{__FILE__}:#{__LINE__}]}
      end
    end
    FileUtils::cd(@pwd)
  else STDERR.puts %{\t*WARN* did not find - #{src_path} [#{__FILE__}:#{__LINE__}]}
  end
end
cp_local_images() click to toggle source
# File lib/sisu/se_createsite.rb, line 127
def cp_local_images
  src=@pwd + '/_sisu/image'
  dest=
    @env.path.webserv + '/' \
    + @env.path.base_markup_dir_stub + '/_sisu/image'
  cp_images(src,dest) if FileTest.directory?(src)
end
cp_webserver_images() click to toggle source
# File lib/sisu/se_createsite.rb, line 145
def cp_webserver_images
  src=@env.path.image_source
  dest_arr=[
    "#{@env.path.webserv}/_sisu/image",
    "#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image",
  ]
  dest_arr.each do |dest|
    cp_images(src,dest) if FileTest.directory?(src)
  end
end
cp_webserver_images_local() click to toggle source
# File lib/sisu/se_createsite.rb, line 155
def cp_webserver_images_local      #this should not have been necessary
  src=@env.path.image_source
  dest=
    @env.path.webserv + '/' \
    + @env.path.base_markup_dir_stub + '/' \
    + '_sisu/image'
  cp_images(src,dest) if FileTest.directory?(src)
end
create_default_sisu_homepage(action=:none) click to toggle source
# File lib/sisu/se_createsite.rb, line 79
def create_default_sisu_homepage(action=:none)
  if action==:none
    puts %{  place your homepages in directory:\n    "#{@env.path.rc}/home/*.html"\n  (no action taken)}
  else # turned off, unless something other than :none passed
    puts %{  place your homepages in directory:\n    "#{@env.path.rc}/home/*.html"\n  (in order to replace default sisu homepage)}
    filename_homepage=
      @env.path.webserv + '/' \
      + @env.path.base_markup_dir_stub + '/index.html'
    filename_home_toc=
      @env.path.webserv + '/' \
      + @env.path.base_markup_dir_stub + '/toc.html'
    file_homepage=File.new(filename_homepage,'w')
    file_home_toc=File.new(filename_home_toc,'w')
    file_homepage << @home_set.homepage
    file_home_toc << @home_set.homepage
    file_homepage.close
    file_home_toc.close
  end
end
homepage() click to toggle source
# File lib/sisu/se_createsite.rb, line 98
def homepage
  home_pages_manually_created=Dir.glob("#{@env.path.rc}/home/*.html")
  FileUtils::mkdir_p("#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}") \
    unless FileTest.directory?("#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}")
  if home_pages_manually_created.length > 0
    home_pages_manually_created.each do |homepage|
      FileUtils.cp(homepage,"#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}")
    end
  else
    create_default_sisu_homepage(:none) # :default
  end
end