aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/sisu/v3/concordance.rb2
-rw-r--r--lib/sisu/v3/defaults.rb5
-rw-r--r--lib/sisu/v3/epub.rb15
-rw-r--r--lib/sisu/v3/epub_format.rb43
-rw-r--r--lib/sisu/v3/harvest_authors.rb3
-rw-r--r--lib/sisu/v3/harvest_topics.rb12
-rw-r--r--lib/sisu/v3/html.rb5
-rw-r--r--lib/sisu/v3/html_format.rb48
-rw-r--r--lib/sisu/v3/html_scroll.rb36
-rw-r--r--lib/sisu/v3/html_segments.rb2
-rw-r--r--lib/sisu/v3/hub.rb9
-rw-r--r--lib/sisu/v3/manifest.rb6
-rw-r--r--lib/sisu/v3/manpage_format.rb5
-rw-r--r--lib/sisu/v3/options.rb6
-rw-r--r--lib/sisu/v3/param.rb33
-rw-r--r--lib/sisu/v3/qrcode.rb8
-rw-r--r--lib/sisu/v3/screen_text_color.rb15
-rw-r--r--lib/sisu/v3/shared_images.rb2
-rw-r--r--lib/sisu/v3/sysenv.rb131
-rw-r--r--lib/sisu/v3/texpdf_format.rb3
-rw-r--r--lib/sisu/v3/urls.rb5
-rw-r--r--lib/sisu/v3/webrick.rb195
-rw-r--r--lib/sisu/v3/xml_format.rb19
-rw-r--r--lib/sisu/v3/xml_tables.rb12
24 files changed, 251 insertions, 369 deletions
diff --git a/lib/sisu/v3/concordance.rb b/lib/sisu/v3/concordance.rb
index a7581112..84245643 100644
--- a/lib/sisu/v3/concordance.rb
+++ b/lib/sisu/v3/concordance.rb
@@ -134,7 +134,7 @@ WOK
div_class='content0'
end
top_band=if make.build.html_top_band?
- head_banner.concordance_navigation_band('pdf')
+ head_banner.concordance_navigation_band
else ''
end
<<WOK
diff --git a/lib/sisu/v3/defaults.rb b/lib/sisu/v3/defaults.rb
index 6a082813..0b1c4d6c 100644
--- a/lib/sisu/v3/defaults.rb
+++ b/lib/sisu/v3/defaults.rb
@@ -77,9 +77,6 @@ module SiSU_Viz
def html_hardspace
'&nbsp;'
end
- #% php
- def php_persist
- end
def semantic_tags
def default
{
@@ -714,8 +711,6 @@ module SiSU_Viz
def paragraph_table
%{<p align="left"><font #{font_small} #{font_color} #{font_face}>}
end
- def paragraph_table_xml
- end
def paragraph_tiny
%{<p class="tiny">}
end
diff --git a/lib/sisu/v3/epub.rb b/lib/sisu/v3/epub.rb
index f3b94e3d..a4dce6ab 100644
--- a/lib/sisu/v3/epub.rb
+++ b/lib/sisu/v3/epub.rb
@@ -142,7 +142,6 @@ module SiSU_EPUB
def tuned_file_instructions
@tell=SiSU_Screen::Ansi.new(@md.opt.cmd)
@md.opt.cmd=@md.opt.cmd.gsub(/H/,'h')
- @md.file_type='html' if @md.opt.cmd =~/[hon]/
directories
dal_array=@particulars.dal_array # dal file drawn here
@tuned_file_array=SiSU_EPUB_Tune::Tune.new(dal_array,@md).songsheet
@@ -490,10 +489,6 @@ module SiSU_EPUB
dochead=dochead.gsub(/toc\.(html)/,'doc.\1') #kludge
toc_shared << dochead #<< ads.div.major
segtoc << format_head_toc.head #<< ads.div.major
- if SiSU_EPUB_Format::HeadToc.method_defined? :toc_head_escript
- toc_shared << format_head_toc.toc_head_escript
- segtoc << format_head_toc.toc_head_escript
- end
if defined? @md.rights.all \
and @md.rights.all
rights=format_head_toc.rights.all
@@ -504,8 +499,6 @@ module SiSU_EPUB
prefix_b=format_head_toc.prefix_b
prefix_b=SiSU_EPUB_Tune::CleanXHTML.new(prefix_b).clean
end
- seg_toc_band=format_head_toc.seg_head_navigation_band
- seg_toc_band_bottom=format_head_toc.seg_head_navigation_band_bottom
tmp_head=nil
doc_title_endnote=@md.title.full.gsub(/(\*+)/,'<sup><a href="#endnotes">\1</a></sup>')
tmp_head=doc_title_endnote + "\n"
@@ -522,7 +515,6 @@ module SiSU_EPUB
toc_shared << format_txt_obj.center_bold
segtoc << format_txt_obj.center_bold
end
- segtoc << seg_toc_band
tmp_head=nil
if defined? @md.prefix_a \
and @md.prefix_a
@@ -553,7 +545,6 @@ module SiSU_EPUB
segtoc << prefix_b
end
#Segtoc tail added here
- segtoc << seg_toc_band_bottom
segtoc << format_head_toc.xhtml_close
segtoc=segtoc.flatten.compact #watch
SiSU_EPUB::Source::Output.new(@md,segtoc).segtoc
@@ -667,14 +658,14 @@ module SiSU_EPUB
def segtoc
begin
if @make.build.toc?
- filename_html_index=@make_file.epub.xhtml_index
+ filename_xhtml=@make_file.epub.xhtml_index
@output.each do |para|
para=para.strip
unless para =~/\A\s*\Z/
- filename_html_index.puts para,"\n"
+ filename_xhtml.puts para,"\n"
end
end
- filename_html_index.close
+ filename_xhtml.close
end
rescue
SiSU_Errors::InfoError.new($!,$@,@md.opt.cmd,@md.fns).error do
diff --git a/lib/sisu/v3/epub_format.rb b/lib/sisu/v3/epub_format.rb
index ab6f34c7..70636fb1 100644
--- a/lib/sisu/v3/epub_format.rb
+++ b/lib/sisu/v3/epub_format.rb
@@ -1233,7 +1233,7 @@ WOK
end
def doc_type_xhtml
<<WOK
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
@@ -1277,7 +1277,7 @@ WOK
#simple, make sure full-path of rootfile points to metadata.opf
#epub_metadata.opf content.opf
<<WOK
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version='1.0' encoding='utf-8'?>
<container version="1.0"
xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<rootfiles>
@@ -1298,7 +1298,7 @@ WOK
#{dob.obj} -
#{@md.html_title}
</title>
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
#{@css.xhtml_epub}
</head>
#{@vz.color_body}
@@ -1435,7 +1435,7 @@ WOK
end
def package_open
<<WOK
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version='1.0' encoding='utf-8'?>
<package xmlns="http://www.idpf.org/2007/opf" unique-identifier="EPB-UUID" version="2.0">
WOK
end
@@ -1658,25 +1658,10 @@ WOK
end
self
end
- def toc_head_escript
- end
- def seg_head_escript
- end
def table_close
%{ </font>
#{@vz.table_close}}
end
- def buttons_home
- %{<!- home and index buttons -!>
- #{@vz.banner_home_and_index_buttons}
-<!- home and index buttons -!>}
- end
- def copyat
- %{<p class="tiny">copy @
- <a href="#{@vz.url_home}">
- #{@vz.txt_home}
- </a></p>}
- end
def xhtml_close
%{#{@vz.credits_sisu_epub}
</body>
@@ -1689,22 +1674,6 @@ WOK
@md=md
@tocband_segtoc=make_seg
end
- def seg_head_navigation_band
- firstseg=%{<a href="#{@md.firstseg}#{Sfx[:epub_xhtml]}" target="_top">
- #{@vz.epub_png_nav_nxt}
- </a>} if @md.firstseg =~/\S+/
- DISABLE[:epub][:internal_navigation] \
- ? ''
- : %{<p class="align_right">#{firstseg}</p>}
- end
- def seg_head_navigation_band_bottom
- firstseg=%{<a href="#{@md.firstseg}#{Sfx[:epub_xhtml]}" target="_top">
- #{@vz.epub_png_nav_nxt}
- </a>} if @md.firstseg =~/\S+/
- DISABLE[:epub][:internal_navigation] \
- ? ''
- : %{<p class="align_right">#{firstseg}</p>}
- end
def manifest_link(text)
%{ <a href="#{@md.file.output_path.manifest.url}/#{@md.file.base_filename.manifest}" target="_top">#{text}</a>}
end
@@ -1719,7 +1688,7 @@ WOK
def head
%{#{doc_type}
<head>
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
#{@css.xhtml_epub}
</head>
#{@vz.color_body}}
@@ -1804,7 +1773,7 @@ WOK
#{@seg_name_xhtml[@seg_name_xhtml_tracker]} -
#{@md.html_title}
</title>
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
#{@css.xhtml_epub}
</head>
#{@vz.color_body}}
diff --git a/lib/sisu/v3/harvest_authors.rb b/lib/sisu/v3/harvest_authors.rb
index 7c044425..1846584a 100644
--- a/lib/sisu/v3/harvest_authors.rb
+++ b/lib/sisu/v3/harvest_authors.rb
@@ -117,7 +117,7 @@ module SiSU_HarvestAuthors
if para=~ rgx[:date]
@date=rgx[:date].match(para)[1]
end
- break if @title and @subtitle and @author and @date
+ break if @title && @subtitle && @author && @date
end
@fulltitle=@subtitle ? (@title + ' - ' + @subtitle) : @title
if @title \
@@ -354,6 +354,7 @@ WOK
x[:file] + '.' + lng + '.html'
elsif @env.output_dir_structure.by? == :filename
"../#{x[:file]}/#{x[:page]}"
+ else '' #error
end
work=[ "#{x[:date]} #{x[:title]}", %{<p class="publication">#{x[:date]} <a href="#{manifest_at}">#{x[:title]}</a>, #{x[:author][:authors_s]}</p>} ]
works<<=(@output[lng][:html_mnt].is_a?(File)) \
diff --git a/lib/sisu/v3/harvest_topics.rb b/lib/sisu/v3/harvest_topics.rb
index 952f1411..445d8c8e 100644
--- a/lib/sisu/v3/harvest_topics.rb
+++ b/lib/sisu/v3/harvest_topics.rb
@@ -118,7 +118,7 @@ module SiSU_HarvestTopics
if para=~ rgx[:author]
@author_format=rgx[:author].match(para)[1]
end
- break if @title and @subtitle and @author and @idx_lst
+ break if @title && @subtitle && @author && @idx_lst
end
@fulltitle=@subtitle ? (@title + ' - ' + @subtitle) : @title
if @title \
@@ -324,7 +324,7 @@ module SiSU_HarvestTopics
else
@the_h[x0][x1][x2] ||={}
end
- #puts ' '*2 + x2
+ #puts ' '*2 + x2
if extract >= 3
y.each_pair do |x3,y|
if extract == 3
@@ -333,7 +333,7 @@ module SiSU_HarvestTopics
else
@the_h[x0][x1][x2][x3] ||={}
end
- #puts ' '*3 + x3
+ #puts ' '*3 + x3
if extract == 4
y.each_pair do |x4,y|
if extract == 4
@@ -342,14 +342,14 @@ module SiSU_HarvestTopics
else
@the_h[x0][x1][x2][x3][x4] ||={}
end
- #puts ' '*4 + x4
+ #puts ' '*4 + x4
if extract == 5
y.each_pair do |x5,y|
if extract == 5
@the_h[x0][x1][x2][x3][x4][x5] ||={ md: [] }
@the_h[x0][x1][x2][x3][x4][x5][:md] << y
end
- #puts ' '*5 + x5
+ #puts ' '*5 + x5
end
end
end
@@ -502,7 +502,7 @@ module SiSU_HarvestTopics
if y.is_a?(Hash)
if y.has_key?(:md)
y[:md].each do |x|
- #do_hash(lng,attrib,x) #lv==0 ?
+ #do_hash(lng,attrib,x) #lv==0 ?
#puts ' '*5 + x[:title]
end
end
diff --git a/lib/sisu/v3/html.rb b/lib/sisu/v3/html.rb
index b4fd96ba..132394d6 100644
--- a/lib/sisu/v3/html.rb
+++ b/lib/sisu/v3/html.rb
@@ -528,8 +528,6 @@ WOK
ads=SiSU_HTML_Promo::Ad.new(@md)
toc_shared << dochead << ads.div.major
@segtoc << format_head_toc.head << ads.div.major
- toc_shared << format_head_toc.toc_head_escript if SiSU_HTML_Format::HeadToc.method_defined? :toc_head_escript
- @segtoc << format_head_toc.toc_head_escript if SiSU_HTML_Format::HeadToc.method_defined? :toc_head_escript
if @make.build.html_top_band?
toc_shared << format_head_toc.scroll_head_navigation_band
end
@@ -609,8 +607,7 @@ WOK
end
def publish
scroll=[]
- hr='<center><hr width=90% /></center>'
- scroll << @scr_toc << '<div class="scroll">' << hr << @scr_body << @scr_endnotes << hr << @scr_owner_details << '</div>' << @scr_tails
+ scroll << @scr_toc << '<div class="scroll">' << @scr_body << @scr_endnotes << @scr_owner_details << '</div>' << @scr_tails
scroll=scroll.flatten.compact #watch
end
end
diff --git a/lib/sisu/v3/html_format.rb b/lib/sisu/v3/html_format.rb
index 433652e0..fa9ac462 100644
--- a/lib/sisu/v3/html_format.rb
+++ b/lib/sisu/v3/html_format.rb
@@ -135,7 +135,7 @@ module SiSU_HTML_Format
end
def png_nav
def toc
- %{<img border="0" width="22" height="22" src="#{url_path_image_sys}/#{icon.up}" alt="TOC" />}
+ %{<img border="0" width="22" height="22" src="#{url_path_image_sys}/#{icon.up}" alt="toc" />}
end
def pre
%{<img border="0" width="22" height="22" src="#{url_path_image_sys}/#{icon.previous}" alt="&lt;&lt;&nbsp;previous" />}
@@ -745,42 +745,6 @@ WOK
<tr><td valign="top">
<font size="2">}
end
- def heading_advert_local_1
- dir=SiSU_Env::InfoEnv.new(@fns)
- %{ <center>
-<table summary="image" border="0" cellpadding="3" cellspacing="0" align="center">
-<tr><td align="center" bgcolor="white">
- <a href="http://#{@md.ad_url}#{Sfx[:html]}" target="_top">
- <img border="0" src="#{dir.url.images_local}/#{@md.ad_png}" alt="#{@md.ad_alt}">
- </a>
- <p />
-#{@vz.table_close}
-</center>}
- end
- def heading_advert_local_2
- dir=SiSU_Env::InfoEnv.new(@fns)
- %{ <center>
-<table summary="image" border="0" cellpadding="3" cellspacing="0" align="center">
-<tr><td align="center" bgcolor="white">
- <a href="#{@md.ad_url}#{Sfx[:html]}" target="_top">
- <img border="0" src="#{dir.url.images_local}/#{@md.ad_png}" alt="#{@md.ad_alt}">
- </a>
- <p />
-#{@vz.table_close}
-</center>}
- end
- def heading_advert_external
- dir=SiSU_Env::InfoEnv.new(@fns)
- %{ <center>
-<table summary="image" border="0" cellpadding="3" cellspacing="0" align="center">
-<tr><td align="center" bgcolor="white">
- <a href="#{@md.ad_url}#{Sfx[:html]}" target="external">
- <img border="0" src="#{dir.url.images_local}/#{@md.ad_png}" alt="#{@md.ad_alt}">
- </a>
- <p />
-#{@vz.table_close}
-</center>}
- end
def credit
%{
<div class="main_column">
@@ -1033,16 +997,14 @@ WOK
end
para_form_css('p','norm')
end
- def break
- @txt=@txt.gsub(/#{Mx[:br_page_new]}|#{Mx[:br_page]}/,'<hr /><br />').
- gsub(/#{Mx[:br_obj]}/,'<hr style="width:30%" /><br />')
- para_form_css('p','norm')
- end
def format(tag,attrib)
para_form_css(tag,attrib)
end
def heading_normal(tag,attrib)
- %{
+ section_break=(tag=~/h[1-4]/) \
+ ? '<p><hr width=90% /></p>'
+ : ''
+ %{#{section_break}
<div class="substance">
#{@p_num.ocn_display}
<#{tag} class="#{attrib}" #{@p_num.id}>#{@p_num.name}
diff --git a/lib/sisu/v3/html_scroll.rb b/lib/sisu/v3/html_scroll.rb
index 8e9b6e11..170285cf 100644
--- a/lib/sisu/v3/html_scroll.rb
+++ b/lib/sisu/v3/html_scroll.rb
@@ -125,14 +125,22 @@ module SiSU_HTML_Scroll
end
elsif dob.is==:heading_insert
x=if dob.ln==1
- sto.heading_body1
+ unless dob.obj.empty?
+ sto.heading_body1
+ end
elsif dob.ln==2
- sto.heading_body2
+ unless dob.obj.empty?
+ sto.heading_body2
+ end
elsif dob.ln==3
- sto.heading_body3
+ unless dob.obj.empty?
+ sto.heading_body3
+ end
elsif dob.ln==4 \
and dob.obj !~/^(?:Endnotes|Index|Metadata|Manifest)$/
- sto.heading_body4
+ unless dob.obj.empty?
+ sto.heading_body4
+ end
elsif dob.ln==4 \
and dob.obj=='Endnotes'
sto.heading_body4
@@ -141,19 +149,18 @@ module SiSU_HTML_Scroll
and dob.obj=='Index'
sto.heading_body4
book_idx=SiSU_Particulars::CombinedSingleton.instance.get_idx_html(@md.opt).html_idx
- book_idx.each do |x| #takes book index prepared for segments and strips segment identifying info
+ book_idx.each do |x| #takes book index prepared for segments & strips segment identifying info
x=x.gsub(/<a href="\S+?\.html#(\d+)">(\1(?:-\d+)?)<\/a>/,'<a href="#\1">\2</a>')
end
book_idx.join("\n")
- #elsif dob.ln==4 \
- #and dob.obj=~/Meta/
- #p __LINE__
- ##and dob.obj=='Metadata'
- #metadata=SiSU_Metadata::Summary.new(@md).xhtml.metadata
elsif dob.ln==5
- sto.heading_body5
+ unless dob.obj.empty?
+ sto.heading_body5
+ end
elsif dob.ln==6
- sto.heading_body6
+ unless dob.obj.empty?
+ sto.heading_body6
+ end
end
elsif dob.is==:para
if dob.indent \
@@ -187,14 +194,13 @@ module SiSU_HTML_Scroll
elsif dob.is==:table
sto.table
elsif dob.is==:break
- sto.break
end
if dob =~/<a name="n\d+">/ \
and dob =~/^(?:\^~\d+\s|<!e[:_]\d+!>)/ # hmmm re-adjusted 200507, for alt endnote which should again be matched ^~ ... not in response to problem though
dob=''
end
- unless @rcdc; @scr[:body] << para_html unless para_html =~/\A\s*\Z/
- else #@scr[:metadata] << dob.obj
+ unless @rcdc
+ @scr[:body] << para_html unless para_html =~/\A\s*\Z/
end
end
end
diff --git a/lib/sisu/v3/html_segments.rb b/lib/sisu/v3/html_segments.rb
index 14c13d36..81bb08d4 100644
--- a/lib/sisu/v3/html_segments.rb
+++ b/lib/sisu/v3/html_segments.rb
@@ -370,7 +370,6 @@ module SiSU_HTML_Seg
else ''
end
@@seg[:tocband_bannerless] << '<br />' << conditional_div_close << format_head_seg.navigation_band_bottom(@@segtocband,@@seg[:dot_nav])
- @@seg[:headings] << format_head_seg.seg_head_escript if SiSU_HTML_Format::HeadSeg.method_defined? :seg_head_escript #debug PHP move up in text #bug
if @title_banner_
@@seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author).gsub(clean,'')
end
@@ -472,7 +471,6 @@ module SiSU_HTML_Seg
elsif dob.is==:table
sto.table
elsif dob.is==:break
- sto.break
end
if @md.flag_separate_endnotes
dob.obj=dob.obj.gsub(/"\s+href="#_(\d+)">/,%{" href=\"endnotes#{Sfx[:html]}#_\\1">}) #endnote- twice #removed file type
diff --git a/lib/sisu/v3/hub.rb b/lib/sisu/v3/hub.rb
index 8a67ce10..2e0fb92c 100644
--- a/lib/sisu/v3/hub.rb
+++ b/lib/sisu/v3/hub.rb
@@ -215,13 +215,10 @@ p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on
SiSU_Screen::Ansi.new(@opt.cmd,@@n_do,'Termsheet(s) processed').term_sheet_title unless @opt.act[:quiet][:set] ==:on
end
def webrick # -W
- port=prt=@fns
- prt=if prt !~/\d+/
- 'webrick default (sysenv)'
- else "webrick port set to #{prt}"
- end
+ prt=SiSU_Env::InfoEnv.new(@fns).port.webrick_port
puts %{#{@cX.blue}<<#{@cX.off}#{@cX.green}Start Webrick web server on port: #{prt}#{@cX.off}#{@cX.blue}>> #{@cX.off*2} }
- system("sisu_webrick #{port}&\n")
+ require_relative 'webrick'
+ SiSU_Webserv::WebrickStart.new
end
def not_found
puts "\n#{@cX.fuschia}FILE NOT FOUND:#{@cX.off} << #{@opt.fns} >> - requested #{@opt.cmd} processing skipped\n"
diff --git a/lib/sisu/v3/manifest.rb b/lib/sisu/v3/manifest.rb
index fdacf164..c2490837 100644
--- a/lib/sisu/v3/manifest.rb
+++ b/lib/sisu/v3/manifest.rb
@@ -87,7 +87,7 @@ module SiSU_Manifest
url_html="file://#{@md.file.output_path.manifest.dir}/#{@md.file.base_filename.manifest}"
@opt.cmd=~/[MVvz]/ \
? SiSU_Screen::Ansi.new(@opt.cmd,'Manifest',"#{xbrowser} #{url_html}").green_hi_blue
- : SiSU_Screen::Ansi.new(@opt.cmd,'Manifest',"[#{@opt.f_pth[:lng_is]}] #{@opt.fno}").grey_title_hi
+ : SiSU_Screen::Ansi.new(@opt.cmd,'Manifest',"[#{@opt.f_pth[:lng_is]}]", "#{url_html}").grey_title_grey_blue
SiSU_Screen::Ansi.new(@opt.cmd,"#{browser} #{url_html}").grey_tab if @opt.cmd =~/v/i
end
data=SiSU_HTML::Source::HTML_Environment.new(@particulars).tuned_file_instructions
@@ -111,7 +111,7 @@ module SiSU_Manifest
@base_url="#{@env.url.root}/#{@fnb}"
@o_str=SiSU_Env::FileOp.new(md).output_dir_structure
@image_path=if @o_str.dump_or_redirect?
- %{./image}
+ './image'
else
%{#{@f.path_rel_links.html_scroll_2}_sisu/image_sys}
end
@@ -225,7 +225,7 @@ module SiSU_Manifest
end
end
def metadata(id,info)
- info=info.to_s.gsub(/#{Mx[:br_line]}/,'<br />')
+ info=info.to_s.gsub(/(?:#{Mx[:br_line]}|\\)+/,'<br />')
@manifest[:html] << %{<tr><th class="left"><p class="bold_left">#{id}:</p></th><td><p class="left">#{info}</p></td></tr>\n}
end
def links(url,lnk,target)
diff --git a/lib/sisu/v3/manpage_format.rb b/lib/sisu/v3/manpage_format.rb
index 8698ee40..a102b094 100644
--- a/lib/sisu/v3/manpage_format.rb
+++ b/lib/sisu/v3/manpage_format.rb
@@ -76,11 +76,6 @@ module SiSU_ManpageFormat
class FormatTextObject
def initialize(md,dob)
@md,@dob=md,dob
-if @dob.class==Hash
- puts __FILE__ + ' ' + __LINE__.to_s #+ "-->\n" + caller.inspect
-elsif @dob.class==String
- puts __FILE__ + ' ' + __LINE__.to_s #+ "-->\n" + caller.inspect
-end
rgx=/#{Mx[:en_a_o]}[\d*+]+\s+(.+?)#{Mx[:en_a_c]}/
@dob.obj.gsub!(rgx,'\1') if @dob.obj =~rgx
@vz=SiSU_Env::GetInit.instance.skin
diff --git a/lib/sisu/v3/options.rb b/lib/sisu/v3/options.rb
index ba2864fd..39c392a9 100644
--- a/lib/sisu/v3/options.rb
+++ b/lib/sisu/v3/options.rb
@@ -57,7 +57,7 @@
=end
module SiSU_Commandline
- require "pathname"
+ require 'pathname'
require_relative 'sysenv' # sysenv.rb
@@base_path=nil
class Options
@@ -216,7 +216,7 @@ module SiSU_Commandline
if x =~/^(?:https?|file):\/\/\S+/ #\
end
pwd=Dir.pwd
- fn_pod=x.gsub(/.+?([^\/]+)\.txz$/,'\1')
+ fn_pod=x.gsub(/([^\/]+)\.txz$/,'\1')
fullname=@env.processing_path.processing + '/sisupod/' + fn_pod
pt=Pathname.new(fullname)
FileUtils::mkdir_p(pt.to_s)
@@ -224,7 +224,7 @@ module SiSU_Commandline
options=s.gsub(/(\s+--?\S+)+.+/,'\1')
system("
chdir #{fullname}
- tar xaf #{x}
+ tar xaf #{pwd}/#{x}
chdir #{pwd}
")
Dir.chdir(pt.realpath.to_s + '/sisupod/doc')
diff --git a/lib/sisu/v3/param.rb b/lib/sisu/v3/param.rb
index 64baf271..492b8044 100644
--- a/lib/sisu/v3/param.rb
+++ b/lib/sisu/v3/param.rb
@@ -554,36 +554,36 @@ module SiSU_Param
and copyright.translation \
and not copyright.translation.empty?
v=sep(copyright.translation)
- s +='<br> translation ' + copyright.translation + v
+ s +='\\\\ translation ' + copyright.translation + v
end
if defined? copyright.illustrations \
and copyright.illustrations \
and not copyright.illustrations.empty?
v=sep(copyright.illustrations)
- s +='<br> illustrations ' + copyright.illustrations + v
+ s +='\\\\ illustrations ' + copyright.illustrations + v
end
if defined? copyright.photographs \
and copyright.photographs \
and not copyright.photographs.empty?
v=sep(copyright.photographs)
- s +='<br> photographs ' + copyright.photographs + v
+ s +='\\\\ photographs ' + copyright.photographs + v
end
if defined? copyright.digitization \
and copyright.digitization \
and not copyright.digitization.empty?
v=sep(copyright.digitization)
- s +='<br> digitization ' + copyright.digitization + v
+ s +='\\\\ digitization ' + copyright.digitization + v
end
if defined? copyright.audio \
and copyright.audio \
and not copyright.audio.empty?
v=sep(copyright.audio)
- s +='<br> audio ' + copyright.audio + v
+ s +='\\\\ audio ' + copyright.audio + v
end
if defined? copyright.license \
and copyright.license \
and not copyright.license.empty?
- s +='<br> License: ' + copyright.license
+ s +='\\\\ License: ' + copyright.license
end
if s.empty?
SiSU_Screen::Ansi.new(@opt.cmd,'WARNING Document Rights information missing; provide @rights: :copyright:').warn unless @opt.cmd =~/q/
@@ -812,8 +812,8 @@ module SiSU_Param
matches=''
w.each do |x|
c=(x[1] =~/[i],/) ? :i : :s
- matches=matches + x[0].gsub(/([${}])/,'\\\\\1') + '|'
- arr_hash << {
+ matches=matches + x[0].gsub(/([${}])/,'\\\\\1') + '|'
+ arr_hash << {
match: x[0].gsub(/([${}])/,'\\\\\1'),
replace: x[2],
case_s: c
@@ -1025,7 +1025,6 @@ module SiSU_Param
end
def links
a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m)
- a
end
def notes
a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m)
@@ -1230,13 +1229,13 @@ module SiSU_Param
@notes=SiSU_Param::Parameters::Md.new($1.strip,@opt,@env).notes
when /^@links:\s+(.+?)\Z/m #% * header metadata - links
doc_links=SiSU_Param::Parameters::Md.new($1.strip,@opt,@env).links
- count=1
+ a_idx=0
@links=[]
doc_links.each do |doc_link|
if doc_link=~/\{.+?\}(?:(?:https?|file|ftp):\/|\.\.)\/\S+(?:\s|$)/
- @links[count]={}
- @links[count][:say],@links[count][:url]=/\{\s*(.+?)\s*\}((?:(?:https?|file|ftp):\/|\.\.)\/\S+)/im.match(doc_link)[1,2]
- count +=1
+ @links[a_idx]={}
+ @links[a_idx][:say],@links[a_idx][:url]=/\{\s*(.+?)\s*\}((?:(?:https?|file|ftp):\/|\.\.)\/\S+)/im.match(doc_link)[1,2]
+ a_idx +=1
end
end
@lnk=@links
@@ -1397,6 +1396,12 @@ module SiSU_Param
@sem_tag=true if para=~/[:;]\{.+?\}[:;][a-z+]/ #refix later
end
end #% here endeth the document loop
+ unless @make
+ if @opt.cmd =~/[VM]/
+ SiSU_Screen::Ansi.new(@opt.cmd,'@make:','header absent').warn
+ end
+ @make=SiSU_Param::Parameters::Md.new('@make: ',@opt,@env).make
+ end
if @ec[:image].length > 0
@ec[:image]=@ec[:image].flatten.uniq
@ec[:image].delete_if {|x| x =~/https?:\/\// }
@@ -1491,7 +1496,7 @@ module SiSU_Param
@dgst_skin=skin ? (@sys.md5(skin)) : nil
end
end
- @publisher ||= "#@@publisher (this copy)"
+ @publisher ||= "#{@@publisher} (this copy)"
fn_set_lang=SiSU_Env::StandardiseLanguage.new(@opt.lng).language
unless @language[:code] \
and @language[:name]
diff --git a/lib/sisu/v3/qrcode.rb b/lib/sisu/v3/qrcode.rb
index 3908a1d4..0d126266 100644
--- a/lib/sisu/v3/qrcode.rb
+++ b/lib/sisu/v3/qrcode.rb
@@ -117,16 +117,18 @@ module SiSU_QRcode
def output_metadata
fn=@f.base_filename.manifest_txt
mn=''
- if @md.opt =~/M/
+ if @md.opt.cmd =~/M/
pt=@f.output_path.manifest.dir
fn=@f.base_filename.manifest_txt
manifest=@f.write_file.manifest_txt
end
@manifest[:txt].each do |x|
- manifest << x if @md.opt =~/M/
+ x=x.gsub(/\\\\/m,"\n")
+ puts x if @md.opt.cmd =~/V/
+ manifest << x if @md.opt.cmd =~/M/
mn += x
end
- manifest.close if @md.opt =~/M/
+ manifest.close if @md.opt.cmd =~/M/
#system(%{
# cat #{pt}/#{fn} | qrencode -s 3 -o qrcm.autonomy_markup0.png
#})
diff --git a/lib/sisu/v3/screen_text_color.rb b/lib/sisu/v3/screen_text_color.rb
index cef15585..a9c0b367 100644
--- a/lib/sisu/v3/screen_text_color.rb
+++ b/lib/sisu/v3/screen_text_color.rb
@@ -73,7 +73,7 @@ module SiSU_Screen
@use_color=(flag.color) \
? ((@cmd =~/c/) ? false : true)
: ((@cmd =~/c/) ? true : false)
- if @cmd =~/k/ then @use_color=false
+ if @cmd =~/k/ then @use_color=false # useful color off switch, however, k may be used for something else in future
end
else @use_color=false
end
@@ -249,13 +249,6 @@ module SiSU_Screen
%{#{@cX.off} } +
%{#{@cX.cyan}nav only: #{@txt[4]}#{@cX.off}.}
end
- def php_numbers
- puts %{ #{@cX.green}#{@txt[0]}#{@cX.off} #{@cX.cyan}files processed#{@cX.off}. } +
- %{php_scr only: #{@txt[1]}, } +
- %{#{@cX.cyan}php_seg only: #{@txt[2]}#{@cX.off}, } +
- %{joint php scroll & seg: #{@txt[3]}, } +
- %{php_nav only: #{@txt[4]}}
- end
def txt_white
puts "\t#{@cX.white}#{@txt[0]}#{@cX.off} #{@cX.white}#{@txt[1]}#{@cX.off}"
end
@@ -343,6 +336,9 @@ module SiSU_Screen
def grey_title_hi
puts %{#{@cX.grey_hi}#{@cX.black}#{@txt[0]}#{@cX.off*2} #{@cX.blue}#{@txt[1]}#{@cX.off}}
end
+ def grey_title_grey_blue
+ puts %{#{@cX.grey_hi}#{@cX.black}#{@txt[0]}#{@cX.off*2} #{@cX.grey}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off}}
+ end
def dark_grey_title_hi
puts %{#{@cX.darkgrey_hi}#{@cX.black}#{@txt[0]}#{@cX.off*2} #{@cX.blue}#{@txt[1]}#{@cX.off}}
end
@@ -398,9 +394,6 @@ module SiSU_Screen
def html_output
puts %{\t#{@cX.grey}#{@txt[0]}#{@cX.off} #{@cX.ruby}->#{@cX.off}\n\t #{@cX.blue}#{@txt[1]}#{@cX.off}}
end
- def php_title
- puts %{\n#{@cX.green_hi}#{@cX.black}PHP#{@cX.off*2}}
- end
def segmented
puts "\t#{@cX.grey}Seg#{@cX.off} #{@cX.green}#{@txt[0]}#{@cX.off} #{@cX.grey}segments#{@cX.off}"
end
diff --git a/lib/sisu/v3/shared_images.rb b/lib/sisu/v3/shared_images.rb
index c92719f6..e55f03ad 100644
--- a/lib/sisu/v3/shared_images.rb
+++ b/lib/sisu/v3/shared_images.rb
@@ -78,7 +78,7 @@ module SiSU_Images
end
end
def images_set
- @pwd=ENV['PWD']
+ @pwd=(/(\S+?)(?:\/(?:#{Px[:lng_lst_rgx]}))?$/).match(Dir.pwd)[1]
def copy(src_path,dest_path,images=nil)
if FileTest.directory?(src_path)
FileUtils::cd(src_path)
diff --git a/lib/sisu/v3/sysenv.rb b/lib/sisu/v3/sysenv.rb
index 1c813fd8..40880701 100644
--- a/lib/sisu/v3/sysenv.rb
+++ b/lib/sisu/v3/sysenv.rb
@@ -224,10 +224,6 @@ module SiSU_Env
"#{@@home}/.sisu",
"#{@@sisu_etc}/#{SiSU_version_dir}",
]
- @@yamlrc_path=@@rc_path
- #@@yamlrc_path=(stub_pwd !~/^sisupod$/) \
- #? (["#{@@pwd}/_sisu/#{SiSU_version_dir}","#{@@pwd}/_sisu","#{@@home}/.sisu/#{SiSU_version_dir}","#{@@home}/.sisu","#{@@sisu_etc}/#{SiSU_version_dir}"])
- #: ["#{@@home}/.sisu/#{SiSU_version_dir}","#{@@home}/.sisu","#{@@sisu_etc}/#{SiSU_version_dir}"] #security policy: prevent reading of sisurc.yml in sisupod
@@ad_path=(stub_pwd !~/^sisupod$/) \
? ([
"#{@@pwd}/.sisu/skin/yml",
@@ -236,10 +232,10 @@ module SiSU_Env
"#{@@sisu_etc}/skin/yml",
])
: ["#{@@home}/.sisu",@@sisu_etc]
- attr_accessor :user,:home,:hostname,:pwd,:host,:arch,:rbver,:dir_arch,:dir_sitearch,:dir_bin,:locale,:webserv_path,:webserv_host_cgi,:webserv_port_cgi,:default_dir,:rc_path,:yamlrc_path,:ad_path
+ attr_accessor :user,:home,:hostname,:pwd,:host,:arch,:rbver,:dir_arch,:dir_sitearch,:dir_bin,:locale,:webserv_path,:webserv_host_cgi,:webserv_port_cgi,:default_dir,:rc_path,:ad_path
def initialize
- @user,@home,@hostname,@pwd,@sisu_etc,@host,@arch,@rbver,@dir_arch,@dir_sitearch,@dir_bin,@locale,@default_dir,@rc_path,@yamlrc_path,@ad_path=\
- @@user,@@home,@@hostname,@@pwd,@@sisu_etc,@@host,@@arch,@@rbver,@@dir_arch,@@dir_sitearch,@@dir_bin,@@locale,@@default_dir,@@rc_path,@@yamlrc_path,@@ad_path
+ @user,@home,@hostname,@pwd,@sisu_etc,@host,@arch,@rbver,@dir_arch,@dir_sitearch,@dir_bin,@locale,@default_dir,@rc_path,@ad_path=\
+ @@user,@@home,@@hostname,@@pwd,@@sisu_etc,@@host,@@arch,@@rbver,@@dir_arch,@@dir_sitearch,@@dir_bin,@@locale,@@default_dir,@@rc_path,@@ad_path
#note rbver is duplicated in InfoVersion
end
end
@@ -297,7 +293,7 @@ module SiSU_Env
def sisu_yaml
def rc
unless @@rc
- @yamlrc_path.each do |v|
+ @rc_path.each do |v|
if @@noyaml \
or FileTest.exist?("#{v}/noyaml")
STDERR.puts "WARNING - YAML loading switched off, to enable delete the file:\n\t#{v}/noyaml\n\n" unless @@noyaml
@@ -2282,59 +2278,18 @@ WOK
else defaults[:webserv_host_cgi]
end
end
- def webrick_port
- if @md \
- and @md.opt.cmd.inspect=~/-F/ \
- and @md.opt.mod.inspect=~/port=(\d+)/
- $1
- else
- if defined? @rc['webserv_cgi']['port']
- if @rc['webserv_cgi']['port'].nil? \
- and (defined? @md.opt.mod \
- and not @md.opt.mod.nil? \
- and @md.opt.mod.inspect=~/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
- if @md \
- and defined? @md.opt \
- and @md.opt.cmd.inspect=~/-F/ \
- and @md.opt.mod.inspect=~/port=(\d+)/
- $1
- else
- if defined? @rc['webserv_cgi']['port']
- if @rc['webserv_cgi']['port'].nil? \
- and (defined? @md.opt.mod \
- and not @md.opt.mod.nil? \
- and @md.opt.mod.inspect=~/webrick/)
- defaults[:webserv_port_cgi]
- elsif not @rc['webserv_cgi']['port'].nil?
- @rc['webserv_cgi']['port']
- else nil
- end
- else nil
- end
- end
- end
def webserv_cgi #web url for local webserv (localhost, or hostname)
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 webserv_port_cgi
- "#{http}#{@rc['webserv_cgi']['host']}:#{webserv_port_cgi}/#{@stub_pwd}"
+ 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 webserv_port_cgi
- "#{http}#{webserv_host_base}:#{webserv_port_cgi}/#{@stub_pwd}"
+ if port.webserv_port_cgi
+ "#{http}#{webserv_host_base}:#{port.webserv_port_cgi}/#{@stub_pwd}"
else "#{http}#{webserv_host_base}/#{@stub_pwd}"
end
end
@@ -2343,14 +2298,14 @@ WOK
if defined? @rc['webserv_cgi']['host'] \
and @rc['webserv_cgi']['host'].is_a?(String)
http=((@rc['webserv_cgi']['host'] =~ /https?:\/\//) ? '' : 'http://')
- if webserv_port_cgi
- "#{http}#{@rc['webserv_cgi']['host']}:#{webserv_port_cgi}"
+ if port.webserv_port_cgi
+ "#{http}#{@rc['webserv_cgi']['host']}:#{port.webserv_port_cgi}"
else "#{http}#{@rc['webserv_cgi']['host']}"
end
else
http=((webserv_host_base=~/https?:\/\//) ? '' : 'http://')
- if webserv_port_cgi
- "#{http}#{webserv_host_base}:#{webserv_port_cgi}"
+ if port.webserv_port_cgi
+ "#{http}#{webserv_host_base}:#{port.webserv_port_cgi}"
else "#{http}#{webserv_host_base}"
end
end
@@ -2381,8 +2336,8 @@ WOK
elsif defined? @rc['webserv']['webrick_url'] \
and @rc['webserv']['webrick_url']==false
"file://#{path.webserv}"
- elsif webserv_port_cgi =~/\S+/
- "#{url.hostname}:#{webserv_port_cgi}"
+ elsif port.webserv_port_cgi =~/\S+/
+ "#{url.hostname}:#{port.webserv_port_cgi}"
else
url.hostname
end
@@ -2475,6 +2430,50 @@ WOK
end
self
end
+ def port
+ def webrick_port
+ if @md \
+ and @md.opt.cmd.inspect=~/-F/ \
+ and @md.opt.mod.inspect=~/port=(\d+)/
+ $1
+ else
+ if defined? @rc['webserv_cgi']['port']
+ if @rc['webserv_cgi']['port'].nil? \
+ and (defined? @md.opt.mod \
+ and not @md.opt.mod.nil? \
+ and @md.opt.mod.inspect=~/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
+ if @md \
+ and defined? @md.opt \
+ and @md.opt.cmd.inspect=~/-F/ \
+ and @md.opt.mod.inspect=~/port=(\d+)/
+ $1
+ else
+ if defined? @rc['webserv_cgi']['port']
+ if @rc['webserv_cgi']['port'].nil? \
+ and (defined? @md.opt.mod \
+ and not @md.opt.mod.nil? \
+ and @md.opt.mod.inspect=~/webrick/)
+ defaults[:webserv_port_cgi]
+ elsif not @rc['webserv_cgi']['port'].nil?
+ @rc['webserv_cgi']['port']
+ else nil
+ end
+ else nil
+ end
+ end
+ end
+ self
+ end
def digest
def type
if defined? @rc['default']['digest'] \
@@ -5614,7 +5613,7 @@ WOK
@env=SiSU_Env::InfoEnv.new
end
def webrick
- @env.url.webrick_port
+ @env.port.webrick_port
end
end
class InfoProgram < InfoEnv #revisit
@@ -6017,15 +6016,3 @@ module SiSU_Errors
end
__END__
https? intro check 2007-09-22
-
-fns_array=unless fns =~/\.ssm.sst$/
- if RUBY_VERSION < '1.9'
- IO.readlines(fns,'')
- else IO.readlines(fns,'r:utf-8')
- end
-else
- if RUBY_VERSION < '1.9'
- IO.readlines("#{processing_path.composite_file}/#{fns}",'')
- else IO.readlines("#{processing_path.composite_file}/#{fns}",'r:utf-8')
- end
-end
diff --git a/lib/sisu/v3/texpdf_format.rb b/lib/sisu/v3/texpdf_format.rb
index a7331447..2bd558bc 100644
--- a/lib/sisu/v3/texpdf_format.rb
+++ b/lib/sisu/v3/texpdf_format.rb
@@ -1284,8 +1284,7 @@ WOK
"\\1#{@brace_url.tex_open}\\begin{scriptsize}\\url{\\2}\\end{scriptsize}#{@brace_url.tex_close}\\3") #url matching with decoration <url> positive lookahead, sequence issue with { linked }http://url cannot use \b at start
end
str=str.gsub(/<:ee>/,'').
- gsub(/<!>/,' ').
- #proposed change, insert, but may be redundant
+ gsub(/<!>/,' '). #proposed change, insert, but may be redundant
gsub(/<(br|p)>|<\/\s*(br|p)>|<(br|p)\s*\/>/," #{Tex[:backslash]*2} "). # Work Area
gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'\begin{bfseries}\1 \end{bfseries}').
gsub(/<h\d+>(.+?)<\/h\d+>/,'\begin{bfseries}\1 \end{bfseries}').
diff --git a/lib/sisu/v3/urls.rb b/lib/sisu/v3/urls.rb
index 1dcf988f..0aba1d89 100644
--- a/lib/sisu/v3/urls.rb
+++ b/lib/sisu/v3/urls.rb
@@ -278,10 +278,11 @@ module SiSU_Urls
end
def urls_select
unless @opt.cmd =~/q/
- i="(output manifest) [#{@opt.f_pth[:lng_is]}] #{@md.file.output_path.manifest.dir}/#{@md.file.base_filename.manifest}"
+ i1="[#{@opt.f_pth[:lng_is]}]"
+ i2="file://#{@md.file.output_path.manifest.dir}/#{@md.file.base_filename.manifest}"
@opt.cmd=~/[MVvz]/ \
? SiSU_Screen::Ansi.new(@opt.cmd,'URLs').green_title_hi
- : SiSU_Screen::Ansi.new(@opt.cmd,'URL',i).grey_title_hi
+ : SiSU_Screen::Ansi.new(@opt.cmd,'URL (output manifest)',i1, i2).grey_title_grey_blue
SiSU_Screen::Ansi.new(@opt.cmd,@opt.fns,"#{@md.file.output_path.manifest.dir}/#{@md.file.base_filename.manifest}").flow if @opt.cmd =~/[MVv]/
end
m=/.+\/(?:src\/)?(\S+)/im # m=/.+?\/(?:src\/)?([^\/]+)$/im # m=/.+\/(\S+)/m
diff --git a/lib/sisu/v3/webrick.rb b/lib/sisu/v3/webrick.rb
index f8189bba..96280d0c 100644
--- a/lib/sisu/v3/webrick.rb
+++ b/lib/sisu/v3/webrick.rb
@@ -56,77 +56,54 @@
suffixes, see man pages for options
=end
-def brick(port,get='')
- cgidir=if get=~/pwd/; Dir.pwd
- else '/usr/lib/cgi-bin' # @env.path.cgi
- end
- port=SiSU_Env::InfoPort.new.webrick
- begin
- s=HTTPServer.new(
- Port: port,
- DocumentRoot: Dir::pwd + '/htdocs',
- CGIPathEnv: ENV['PATH']
- )
- cgi_dir=File.expand_path(cgidir)
- @mount.each { |x,y| # mount subdirectories
- s.mount(x, HTTPServlet::FileHandler, y, true)
- }
- s.mount('/cgi-bin', HTTPServlet::FileHandler, cgi_dir, { FancyIndexing: true })
- trap("INT"){ s.shutdown }
- s.start
- rescue
- SiSU_Errors::InfoError.new($!,$@,'-W',nil).error do #fix
- __LINE__.to_s + ':' + __FILE__
- end
- ensure
- end
-end
-begin #%
- require 'webrick'
- include WEBrick
- require 'time'
- require_relative 'sysenv' # sysenv.rb
- include SiSU_Env; include SiSU_Screen
- @cX=SiSU_Screen::Ansi.new('yes').cX
- @env=SiSU_Env::InfoEnv.new
- port=SiSU_Env::InfoPort.new
- @argv=$*
- @host=@env.url.webrick
- host='localhost'
- @port="#{@argv[0].to_i}"
- @port="#{port.webrick}" if @port =~ /^0$/
- @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
- require 'time'
- require 'cgi'
- require 'fcgi'
- ls=Dir.entries('./')
- dir_contents=[]
- ls.each { |x| dir_contents << "<a href=\"./#{x}/\">#{x}</a><br>" unless x =~/^(\.)+$/ }
- dir_contents=dir_contents.sort.join(' ')
- #host=ENV['HOSTNAME']
- #host=%x{echo $HOSTNAME}
- )
- wb_s1=<<WOK
+module SiSU_Webserv
+ class WebrickStart
+ require 'webrick'
+ include WEBrick
+ require 'time'
+ require_relative 'sysenv' # sysenv.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
+ host='localhost'
+ @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
+ require 'time'
+ require 'cgi'
+ require 'fcgi'
+ ls=Dir.entries('./')
+ dir_contents=[]
+ ls.each { |x| dir_contents << "<a href=\"./#{x}/\">#{x}</a><br>" unless x =~/^(\.)+$/ }
+ dir_contents=dir_contents.sort.join(' ')
+ #host=ENV['HOSTNAME']
+ #host=%x{echo $HOSTNAME}
+ )
+ wb_s1=<<WOK
page=CGI.new "html3"
page.out {
@@ -142,36 +119,66 @@ begin #
page.p {''} +
page.p {page.b{"Webrick Served Directories: "}} +
WOK
- #% wb_s2 (mounts)
- @mount.each do |x,y| wb_s2 <<<<WOK
- page.p {page.b{'<a href="#{@host}:#{@port}#{x}/">#{x}</a> '} + '<a href="#{@host}:#{@port}#{x}/">#{@host}:#{@port}#{x}</a> (mounts: #{y}/) <a href="#{@host}:#{@port}#{x}/wb.cgi">info (wb.cgi)</a>'} +
+ #% wb_s2 (mounts)
+ @mount.each do |x,y| wb_s2 <<<<WOK
+ page.p {page.b{'<a href="#{@host}:#{@port}#{x}/">#{x}</a> '} + '<a href="#{@host}:#{@port}#{x}/">#{@host}:#{@port}#{x}</a> (mounts: #{y}/) <a href="#{@host}:#{@port}#{x}/wb.cgi">info (wb.cgi)</a>'} +
WOK
-end
- #% wb_end
- wb_end=<<WOK
+ end
+ #% wb_end
+ wb_end=<<WOK
page.p {page.b{"Contents of PWD (see URL): "}} +
page.p {"#\{dir_contents}"}
}
}
}
WOK
- @mount.each { |x,y| #% wb puts
- puts y
- filename=File.new("#{y}/wb.cgi",'w')
- filename << wb_top
- filename << wb_s1
- filename << wb_s2
- filename << wb_end
- filename.close
- FileUtils::chmod(0755,"#{y}/wb.cgi &") if FileTest.file?("#{y}/wb.cgi &")
- }
- puts " #{@cX.off}"
- get=@argv.shift if @argv[0] =~/pwd/ #% argv
- brick(@port,get)
-rescue;
- require_relative 'sysenv' # sysenv.rb
- SiSU_Errors::InfoError.new($!,$@,'-W',nil).error do #fix
- __LINE__.to_s + ':' + __FILE__
+ @mount.each { |x,y| #% wb puts
+ puts y
+ filename=File.new("#{y}/wb.cgi",'w')
+ filename << wb_top
+ filename << wb_s1
+ filename << wb_s2
+ filename << wb_end
+ filename.close
+ FileUtils::chmod(0755,"#{y}/wb.cgi &") if FileTest.file?("#{y}/wb.cgi &")
+ }
+ puts " #{@cX.off}"
+ #get=@argv.shift if @argv[0] =~/pwd/ #% argv
+ get=Dir.pwd
+ brick(@port,get)
+ rescue
+ require_relative 'sysenv' # sysenv.rb
+ SiSU_Errors::InfoError.new($!,$@,'-W',nil).error do #fix
+ __LINE__.to_s + ':' + __FILE__
+ end
+ ensure
+ end
+ end
+ def brick(port,get='')
+ cgidir=if get=~/pwd/; Dir.pwd
+ else '/usr/lib/cgi-bin' # @env.path.cgi
+ end
+ port=SiSU_Env::InfoPort.new.webrick
+ begin
+ s=HTTPServer.new(
+ Port: port,
+ DocumentRoot: Dir::pwd + '/htdocs',
+ CGIPathEnv: ENV['PATH']
+ )
+ cgi_dir=File.expand_path(cgidir)
+ @mount.each { |x,y| # mount subdirectories
+ s.mount(x, HTTPServlet::FileHandler, y, true)
+ }
+ s.mount('/cgi-bin', HTTPServlet::FileHandler, cgi_dir, { FancyIndexing: true })
+ trap("INT"){ s.shutdown }
+ s.start
+ rescue
+ SiSU_Errors::InfoError.new($!,$@,'-W',nil).error do #fix
+ __LINE__.to_s + ':' + __FILE__
+ end
+ ensure
+ end
+ end
end
ensure
end
diff --git a/lib/sisu/v3/xml_format.rb b/lib/sisu/v3/xml_format.rb
index 1c6aa67d..52874eb1 100644
--- a/lib/sisu/v3/xml_format.rb
+++ b/lib/sisu/v3/xml_format.rb
@@ -195,17 +195,9 @@ module SiSU_XML_Format
@vz=SiSU_Env::GetInit.instance.skin #margin,paragraph,table,banner,url,png,txt,color,font,nav_txt,nav_png,credits,js,php
@index='index'
end
- def toc_head_escript #embedded script in this case PHP
- end
def table_close
'</font> </td></tr></table>'
end
- def buttons_home
- %{\n#{@banner.home_and_index_buttons}\n}
- end
- def copyat
- %{copy @ <a href="#{@url.home}" #{@js.home}>#{@txt.home}</a>}
- end
def toc_head
<<WOK
<html>
@@ -382,17 +374,6 @@ WOK
%{ </font>
#{@vz.table_close}}
end
- def buttons_home
- %{<!- home and index buttons -!>
- #{@vz.banner_home_and_index_buttons}
-<!- home and index buttons -!>}
- end
- def copyat
- %{#{@vz.paragraph_font_tiny}copy @
- <a href="#{@vz.url_home}">
- #{@vz.txt_home}
- </a></font>}
- end
def html_close #moved
%{</body>
</html>}
diff --git a/lib/sisu/v3/xml_tables.rb b/lib/sisu/v3/xml_tables.rb
index 98dc0140..ba89e791 100644
--- a/lib/sisu/v3/xml_tables.rb
+++ b/lib/sisu/v3/xml_tables.rb
@@ -97,11 +97,9 @@ module SiSU_Tables
if @parablock =~/#{Mx[:tc_p]}#{Mx[:tc_p]}/u
@parablock=@parablock.gsub(/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u,
%{<tr>
- <td width="\\1%" valign="top">
- #{@vz.paragraph_table_xml}<b>}).
+ <td width="\\1%" valign="top"><b>}).
gsub(/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u,
- %{</b></td><td width="\\1%" valign="top">
- #{@vz.paragraph_table_xml}<b>}).
+ %{</b></td><td width="\\1%" valign="top"><b>}).
gsub(/#{Mx[:tc_c]}/,"</b>\n</td>\n</tr>")
@@tablehead=0
end
@@ -109,13 +107,11 @@ module SiSU_Tables
else
@parablock=@parablock.gsub(/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u,
%{<tr>
- <td width="\\1%" valign="top">
- #{@vz.paragraph_table_xml}}).
+ <td width="\\1%" valign="top">}).
gsub(/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u,
%{
</td>
- <td width="\\1%" valign="top">
- #{@vz.paragraph_table_xml}}).
+ <td width="\\1%" valign="top">}).
gsub(/#{Mx[:tc_c]}/,"\n</td>\n</tr>\n")
end
@parablock