# encoding: utf-8 =begin * Name: SiSU * Description: a framework for document structuring, publishing and search * Author: Ralph Amissah * Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Ralph Amissah, All Rights Reserved. * License: GPL 3 or later: SiSU, a framework for document structuring, publishing and search Copyright (C) Ralph Amissah This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . If you have Internet connection, the latest version of the GPL should be available at these locations: * SiSU uses: * Standard SiSU markup syntax, * Standard SiSU meta-markup syntax, and the * Standard SiSU object citation numbering and system * Hompages: * Download: * Git * Ralph Amissah ** Description: webrick share - note sisu by default does not link with file suffixes, see man pages for options =end module SiSU_Webserv class WebrickStart begin require 'time' require 'webrick' include WEBrick rescue LoadError SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('time or webrick NOT FOUND (LoadError)') end require_relative 'se' # se.rb include SiSU_Env include SiSU_Screen def initialize begin #% @cX=SiSU_Screen::Ansi.new('yes').cX @env=SiSU_Env::InfoEnv.new port=SiSU_Env::InfoPort.new @host=@env.url.webrick @port=port.webrick @serve=[] Dir.foreach(@env.path.webserv) do |x| if x !~/^\./ \ and FileTest.directory?("#{@env.path.webserv}/#{x}") @serve << x end end @mount=[] @serve.each {|x| @mount << ["/#{x}", "#{@env.path.webserv}/#{x}"]} @pwd=Dir.pwd @week=Time.now.strftime(%{%Yw%W}) puts "\n" @mount.each { |x,y| puts " #{@cX.cyan}#{x}#{@cX.off}\t#{@cX.grey}see#{@cX.off} #{@cX.blue}#{@host}:#{@port}#{x}/wb.cgi#{@cX.off} #{@cX.ruby}@#{@cX.off} #{@cX.blue}#{@host}:#{@port}#{x}/#{@cX.off}" } puts "#{@cX.grey}" wb_s2=[] #% writes file wb.cgi to shared directories ... #% wb_top wb_top=%q(#!/usr/bin/env ruby # * arch-tag: webrick info on environment, mounted directories, and contents of pwd begin require 'time' require 'cgi' require 'fcgi' rescue LoadError puts 'time, cgi or fcgi NOT FOUND (LoadError)' end ls=Dir.entries('./') dir_contents=[] ls.each { |x| dir_contents << "#{x}
" unless x =~/^(\.)+$/ } dir_contents=dir_contents.sort.join(' ') #host=ENV['HOSTNAME'] #host=%x{echo $HOSTNAME} ) wb_s1=<#{x} '} + '#{@host}:#{@port}#{x} (mounts: #{y}/) info (wb.cgi)'} + WOK end #% wb_end wb_end=<