aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/sisu/v5/ao_composite.rb2
-rw-r--r--lib/sisu/v5/ao_numbering.rb40
-rw-r--r--lib/sisu/v5/cgi_pgsql.rb2
-rw-r--r--lib/sisu/v5/cgi_sqlite.rb2
-rw-r--r--lib/sisu/v5/conf.rb87
-rw-r--r--lib/sisu/v5/constants.rb1
-rw-r--r--lib/sisu/v5/css.rb15
-rw-r--r--lib/sisu/v5/db_create.rb4
-rw-r--r--lib/sisu/v5/embedded.rb8
-rw-r--r--lib/sisu/v5/harvest.rb2
-rw-r--r--lib/sisu/v5/html.rb5
-rw-r--r--lib/sisu/v5/html_concordance.rb2
-rw-r--r--lib/sisu/v5/html_segments.rb4
-rw-r--r--lib/sisu/v5/hub.rb7
-rw-r--r--lib/sisu/v5/manifest.rb2
-rw-r--r--lib/sisu/v5/options.rb18
-rw-r--r--lib/sisu/v5/param.rb4
-rw-r--r--lib/sisu/v5/shared_markup_alt.rb7
-rw-r--r--lib/sisu/v5/src_share.rb15
-rw-r--r--lib/sisu/v5/src_shared.rb20
-rw-r--r--lib/sisu/v5/sst_convert_markup.rb3
-rw-r--r--lib/sisu/v5/sysenv.rb226
-rw-r--r--lib/sisu/v5/utils.rb18
-rw-r--r--lib/sisu/v5/xhtml.rb2
-rw-r--r--lib/sisu/v5/xml_docbook5.rb33
-rw-r--r--lib/sisu/v5/xml_dom.rb2
-rw-r--r--lib/sisu/v5/xml_sax.rb2
-rw-r--r--lib/sisu/v5/xml_shared.rb14
-rw-r--r--lib/sisu/v6/ao_composite.rb2
-rw-r--r--lib/sisu/v6/ao_numbering.rb40
-rw-r--r--lib/sisu/v6/cgi_pgsql.rb2
-rw-r--r--lib/sisu/v6/cgi_sqlite.rb2
-rw-r--r--lib/sisu/v6/conf.rb87
-rw-r--r--lib/sisu/v6/constants.rb1
-rw-r--r--lib/sisu/v6/css.rb15
-rw-r--r--lib/sisu/v6/db_create.rb4
-rw-r--r--lib/sisu/v6/embedded.rb8
-rw-r--r--lib/sisu/v6/harvest.rb2
-rw-r--r--lib/sisu/v6/html.rb5
-rw-r--r--lib/sisu/v6/html_concordance.rb2
-rw-r--r--lib/sisu/v6/html_segments.rb4
-rw-r--r--lib/sisu/v6/hub.rb7
-rw-r--r--lib/sisu/v6/manifest.rb2
-rw-r--r--lib/sisu/v6/options.rb18
-rw-r--r--lib/sisu/v6/param.rb4
-rw-r--r--lib/sisu/v6/shared_markup_alt.rb7
-rw-r--r--lib/sisu/v6/src_share.rb15
-rw-r--r--lib/sisu/v6/src_shared.rb20
-rw-r--r--lib/sisu/v6/sst_convert_markup.rb3
-rw-r--r--lib/sisu/v6/sysenv.rb226
-rw-r--r--lib/sisu/v6/utils.rb18
-rw-r--r--lib/sisu/v6/xhtml.rb2
-rw-r--r--lib/sisu/v6/xml_docbook5.rb33
-rw-r--r--lib/sisu/v6/xml_dom.rb2
-rw-r--r--lib/sisu/v6/xml_sax.rb2
-rw-r--r--lib/sisu/v6/xml_shared.rb14
56 files changed, 696 insertions, 398 deletions
diff --git a/lib/sisu/v5/ao_composite.rb b/lib/sisu/v5/ao_composite.rb
index 5cdfaa81..0d5905bc 100644
--- a/lib/sisu/v5/ao_composite.rb
+++ b/lib/sisu/v5/ao_composite.rb
@@ -85,7 +85,7 @@ module SiSU_Assemble
end
imagefile.close
end
- output_path="#{@env.path.webserv}/#{@env.path.stub_pwd}/_sisu/image_external"
+ output_path="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image_external"
FileUtils::mkdir_p(output_path) \
unless FileTest.directory?(output_path)
SiSU_Env::SystemCall.new("#{path}/*",output_path,'q').rsync
diff --git a/lib/sisu/v5/ao_numbering.rb b/lib/sisu/v5/ao_numbering.rb
index dc6ec4dd..a8304fa3 100644
--- a/lib/sisu/v5/ao_numbering.rb
+++ b/lib/sisu/v5/ao_numbering.rb
@@ -301,7 +301,7 @@ module SiSU_AO_Numbering
@tuned_file=@tuned_file.flatten
end
def leading_zeros_fixed_width_number(possible_seg_name)
- if possible_seg_name =~/^([0-9]+?\.|[0-9]+)$/m #!~/[.,:-]+/
+ if possible_seg_name =~/^([0-9]+?\.|[0-9]+)$/m #!~/[.,:-]+/
possible_seg_name=possible_seg_name.
gsub(/\.$/,'')
nl=possible_seg_name.to_s.length
@@ -314,31 +314,47 @@ module SiSU_AO_Numbering
possible_seg_name.to_s
end
end
- def auto_seg_name(possible_seg_name,heading_num_is,type)
+ def auto_seg_name(possible_seg_name,heading_num_is,lv,type)
prefix=case type
- when :auto then Mx[:segname_prefix_auto_num_provide]
+ when :auto then Mx[:segname_prefix_auto_num_provide]
when :extract then Mx[:segname_prefix_auto_num_extract]
- else '_' #should not occur
+ else '_'*lv.to_i #should not occur
end
- if possible_seg_name =~/^[0-9]+?\.$/m #!~/[.,:-]+/
+ if possible_seg_name =~/^[0-9]+?\.$/m #!~/[.,:-]+/
possible_seg_name=possible_seg_name.
gsub(/\.$/,'')
end
- chosen_seg_name=if possible_seg_name =~/^[0-9]+$/m \
- and possible_seg_name.to_i <= heading_num_is.to_i
+ chosen_seg_name=if possible_seg_name =~/^[0-9]+[.]?$/m \
+ and possible_seg_name.to_i <= heading_num_is.to_i \
+ and lv == '1'
prefix + leading_zeros_fixed_width_number(possible_seg_name)
- elsif possible_seg_name =~/^[0-9][\d.,:-]*$/m
+ elsif possible_seg_name =~/^[0-9]+[.,:-]*$/m \
+ and lv == '1'
possible_seg_name=possible_seg_name.
gsub(/(?:[:,-]|\W)/,'.').
gsub(/\.$/,'')
prefix + possible_seg_name
- else prefix + possible_seg_name.to_s
+ elsif possible_seg_name =~
+ /^[0-9]+[.,:-][0-9]+[.,:-]*$/m \
+ and lv == '2'
+ possible_seg_name=possible_seg_name.
+ gsub(/(?:[:,-]|\W)/,'.').
+ gsub(/\.$/,'')
+ prefix + possible_seg_name
+ elsif possible_seg_name =~
+ /^[0-9]+[.,:-][0-9]+[.,:-][0-9][\d.,:-]*$/m \
+ and lv == '3'
+ possible_seg_name=possible_seg_name.
+ gsub(/(?:[:,-]|\W)/,'.').
+ gsub(/\.$/,'')
+ prefix + possible_seg_name
+ else 'x'*lv.to_i + possible_seg_name.to_s
end
@chosen_seg_names << chosen_seg_name
if @chosen_seg_names.compact.uniq.length == @chosen_seg_names.compact.length #checks that all auto given seg names are unique
chosen_seg_name
else
- SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).mark("duplicated auto segment name: #{chosen_seg_name}; manually name level 1 segments '1~given_name'")
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).mark("duplicated auto segment name: #{type} #{chosen_seg_name} - #{@chosen_seg_names}; manually name level 1 segments '1~given_name'")
exit
end
end
@@ -380,7 +396,7 @@ module SiSU_AO_Numbering
and dob.obj =~/^\s*(?:\S+\s+)?([0-9][0-9.,:-]*)/m #heading starts with a recognised numeric or word followed by a recognised numeric construct, use that as name
possible_seg_name=$1
possible_seg_name=
- auto_seg_name(possible_seg_name,heading_num_is,:extract)
+ auto_seg_name(possible_seg_name,heading_num_is,dob.lv,:extract)
possible_seg_name=possible_seg_name.
gsub(/(?:[:,-]|\W)/,'.').
gsub(/\.$/,'')
@@ -405,7 +421,7 @@ module SiSU_AO_Numbering
if dob.ln==4 \
and not dob.name #if still no segment name, provide a numerical one
possible_seg_name=
- auto_seg_name(art_filename_auto,heading_num_is,:auto)
+ auto_seg_name(art_filename_auto,heading_num_is,dob.lv,:auto)
if @md.seg_names.is_a?(Array) \
and not @md.seg_names.include?(possible_seg_name)
dob.name=possible_seg_name
diff --git a/lib/sisu/v5/cgi_pgsql.rb b/lib/sisu/v5/cgi_pgsql.rb
index 1ab04316..a65b8a97 100644
--- a/lib/sisu/v5/cgi_pgsql.rb
+++ b/lib/sisu/v5/cgi_pgsql.rb
@@ -90,7 +90,7 @@ module SiSU_CGI_PgSQL
and @rc['search']['sisu']['db'] =~/\S+/
@rc['search']['sisu']['db']
else
- @env.path.stub_pwd #'sisu' #breaks if not present
+ @env.path.base_markup_dir_stub #'sisu' #breaks if not present
end
@name_of[:host_url_cgi]=%q{http://#{ENV['HTTP_HOST']}#{ENV['PATH_INFO']}}
@name_of[:host_url_docs]=%q{http://#{ENV['HTTP_HOST']}}
diff --git a/lib/sisu/v5/cgi_sqlite.rb b/lib/sisu/v5/cgi_sqlite.rb
index 2d185f20..fc665074 100644
--- a/lib/sisu/v5/cgi_sqlite.rb
+++ b/lib/sisu/v5/cgi_sqlite.rb
@@ -118,7 +118,7 @@ module SiSU_CGI_SQLite
output << header0 << header1 << header_desc << header2 << f1 << buttons1 << buttons2 << search_request << search_statement << search_statement_common << search_query1 << @common.pages << search_query2 << @common.tail << @common.main1 << f2 << f3 << dbi_connect << @common.main2 << @common.dir_structure << @common.main3
puts <<-WOK
generated sample search form: #{@cX.green}#{@cgi_file_name}#{@cX.off}
- default database name: #{@cX.green}#{Db[:name_prefix]}#{@env.path.stub_pwd}#{@cX.off} (#{@env.path.stub_pwd})
+ default database name: #{@cX.green}#{Db[:name_prefix]}#{@env.path.base_markup_dir_stub}#{@cX.off} (#{@env.path.base_markup_dir_stub})
cgi & db host on: #{@cX.blue}#{@env.url.webserv_base_cgi(@opt)}#{@cX.off}
to modify use: #{@cX.brown}sisu --db-sqlite --webserv-search='#{@env.url.webserv_base_cgi(@opt)}'#{@cX.off}
sisu output on: #{@cX.blue}#{@env.url.webserv_files_from_db(@opt)}#{@cX.off}
diff --git a/lib/sisu/v5/conf.rb b/lib/sisu/v5/conf.rb
index 1365a90e..04ac5cfa 100644
--- a/lib/sisu/v5/conf.rb
+++ b/lib/sisu/v5/conf.rb
@@ -86,46 +86,81 @@ module SiSU_Initialize
def initialize(opt)
@opt=opt
@env=SiSU_Env::InfoEnv.new(@opt.fns)
- @suffix,@path={},{}
- @suffix[:rnc]='rnc'
- @suffix[:rng]='rng'
- @suffix[:xsd]='xsd'
- @path[:xml]= @env.path.output + '/_sisu/xml'
- @path[:xsd]= @env.path.output + '/_sisu/xml/xsd'
- @path[:rnc]= @env.path.output + '/_sisu/xml/rnc'
- @path[:rng]= @env.path.output + '/_sisu/xml/rng'
+ @suffix={
+ rnc: 'rnc',
+ rng: 'rng',
+ xsd: 'xsd',
+ }
+ @path={
+ xml: @env.path.output + '/_sisu/xml',
+ xsd: @env.path.output + '/_sisu/xml/xsd',
+ rnc: @env.path.output + '/_sisu/xml/rnc',
+ rng: @env.path.output + '/_sisu/xml/rng',
+ style: @env.path.output + '/' + @env.path.style,
+ }
@pwd,@home=Dir.pwd,@env.path.home
end
def make_homepage
- SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'invert','Make homepage','').colorize unless @opt.act[:quiet][:set]==:on
- SiSU_Env::CreateSite.new(@opt.cmd).homepage
+ SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ 'invert',
+ 'Make homepage',
+ ''
+ ).colorize unless @opt.act[:quiet][:set]==:on
+ SiSU_Env::CreateSite.new(@opt).homepage
end
def cp_local_images
- SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'invert','Copy images','').colorize unless @opt.act[:quiet][:set]==:on
- SiSU_Env::CreateSite.new(@opt.cmd).cp_local_images
- SiSU_Env::CreateSite.new(@opt.cmd).cp_webserver_images_local #this should not have been necessary
- SiSU_Env::CreateSite.new(@opt.cmd).cp_base_images #base images (nav etc.) used by all html
+ SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ 'invert',
+ 'Copy images',
+ ''
+ ).colorize unless @opt.act[:quiet][:set]==:on
+ SiSU_Env::CreateSite.new(@opt).cp_local_images
+ SiSU_Env::CreateSite.new(@opt).cp_webserver_images_local #this should not have been necessary
+ SiSU_Env::CreateSite.new(@opt).cp_base_images #base images (nav etc.) used by all html
end
def cp_external_images
- SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'invert','Copy external images','').colorize if @opt.act[:verbose_plus][:set]==:on
- SiSU_Env::CreateSite.new(@opt.cmd).cp_external_images
+ SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ 'invert',
+ 'Copy external images',
+ ''
+ ).colorize if @opt.act[:verbose_plus][:set]==:on
+ SiSU_Env::CreateSite.new(@opt).cp_external_images
end
def cp_webserver_images
- SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'invert','Copy webserver/output file images','').colorize unless @opt.act[:quiet][:set]==:on
- SiSU_Env::CreateSite.new(@opt.cmd).cp_webserver_images
+ SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ 'invert',
+ 'Copy webserver/output file images',
+ ''
+ ).colorize unless @opt.act[:quiet][:set]==:on
+ SiSU_Env::CreateSite.new(@opt).cp_webserver_images
end
def css
- SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'invert','Configuring CSSs','').colorize unless @opt.act[:quiet][:set]==:on
- SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ 'invert',
+ 'Configuring CSSs',
+ ''
+ ).colorize unless @opt.act[:quiet][:set]==:on
+ SiSU_Env::CreateSite.new(@opt).cp_css
end
def dtd
- SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'invert','Configuring DTDs','').colorize unless @opt.act[:quiet][:set]==:on
+ SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ 'invert',
+ 'Configuring DTDs',
+ ''
+ ).colorize unless @opt.act[:quiet][:set]==:on
@rxng=SiSU_Relaxng::RelaxNG.new
- @path.each { |d| FileUtils::mkdir_p(d[1]) unless FileTest.directory?(d[1]) }
+ @path.each { |d| FileUtils::mkdir_p(d[1]) \
+ unless FileTest.directory?(d[1]) }
#ugly code, sort later
if @rxng.methods.join =~/[^_]dtd_sax\b/
if @rxng.dtd_sax.length > 200
- dtd=File.new("#{@env.path.output}/#{@env.path.style}/#{@rxng.rng_name.output_sax}",'w')
+ dtd=File.new("#{@path[:style]}/#{@rxng.rng_name.output_sax}",'w')
dtd << @rxng.dtd_sax
dtd.close
else trang_rnc_model_output_sax
@@ -134,7 +169,7 @@ module SiSU_Initialize
end
if @rxng.methods.join =~/[^_]dtd_dom\b/
if @rxng.dtd_dom.length > 200
- dtd=File.new("#{@env.path.output}/#{@env.path.style}/#{@rxng.rng_name.output_dom}",'w')
+ dtd=File.new("#{@path[:style]}/#{@rxng.rng_name.output_dom}",'w')
dtd << @rxng.dtd_dom
dtd.close
else trang_rnc_model_output_dom
@@ -143,7 +178,7 @@ module SiSU_Initialize
end
if @rxng.methods.join =~/[^_]dtd_node\b/
if @rxng.dtd_node.length > 200
- dtd=File.new("#{@env.path.output}/#{@env.path.style}/#{@rxng.rng_name.input_node}",'w')
+ dtd=File.new("#{@path[:style]}/#{@rxng.rng_name.input_node}",'w')
dtd << @rxng.dtd_node
dtd.close
else trang_rnc_model_input_node
@@ -152,7 +187,7 @@ module SiSU_Initialize
end
if @rxng.methods.join =~/[^_]dtd_xhtml\b/
if @rxng.dtd_xhtml.length > 200
- dtd=File.new("#{@env.path.output}/#{@env.path.style}/#{@rxng.rng_name.output_xhtml}",'w')
+ dtd=File.new("#{@path[:style]}/#{@rxng.rng_name.output_xhtml}",'w')
dtd << @rxng.dtd_xhtml
dtd.close
else trang_rnc_model_output_xhtml
diff --git a/lib/sisu/v5/constants.rb b/lib/sisu/v5/constants.rb
index 05678b32..d242ef1d 100644
--- a/lib/sisu/v5/constants.rb
+++ b/lib/sisu/v5/constants.rb
@@ -237,6 +237,7 @@ Px={
po_hilite_o: '*{', po_hilite_c: '}*',
po_monospace_o: '#{', po_monospace_c: '}#',
lng_lst: SiSU_is[:language_list],
+ lng_lst_rgx: SiSU_is[:language_list_regex],
lv1: '*',
lv2: '=',
lv3: '=',
diff --git a/lib/sisu/v5/css.rb b/lib/sisu/v5/css.rb
index 676290d8..d9b2aa8c 100644
--- a/lib/sisu/v5/css.rb
+++ b/lib/sisu/v5/css.rb
@@ -104,6 +104,8 @@ module SiSU_Style
css_path.xml_sax
when 'xml_dom'
css_path.xml_dom
+ when 'xml_docbook'
+ css_path.xml_docbook
else
css_embed_content.html
end
@@ -150,6 +152,11 @@ module SiSU_Style
style << css.xml_dom
style.close
css_path.xml_dom
+ when 'xml_docbook'
+ style=File.new("#{css_pth}/#{@fn_css.xml_docbook}",'w')
+ style << css.xml_docbook
+ style.close
+ css_path.xml_docbook
end
end
end
@@ -1248,7 +1255,7 @@ WOK
}
li {
- background: url(../image/bullet_09.png) no-repeat 0px 6px;
+ background: url(../image_sys/bullet_09.png) no-repeat 0px 6px;
}
ul {
@@ -1273,7 +1280,7 @@ WOK
text-align: left;
}
li.doc {
- background: url(../image/bullet_09.png) no-repeat 0px 6px;
+ background: url(../image_sys/bullet_09.png) no-repeat 0px 6px;
padding-left: 16px;
margin-left: 10px;
margin-right: 0px;
@@ -1285,7 +1292,7 @@ WOK
color: #777777;
}
li.refcenter {
- background: url(../image/bullet_09.png) no-repeat 0px 6px;
+ background: url(../image_sys/bullet_09.png) no-repeat 0px 6px;
padding-left: 20px;
margin-left: 10%;
font-size: 9px;
@@ -3122,7 +3129,7 @@ WOK
br { display: block; }
WOK
end
- def docbook_xml #stylesheet for docbook
+ def xml_docbook #stylesheet for docbook
<<WOK
/* SiSU css docbook.xml default style */
book {
diff --git a/lib/sisu/v5/db_create.rb b/lib/sisu/v5/db_create.rb
index 451a0a34..78277c8b 100644
--- a/lib/sisu/v5/db_create.rb
+++ b/lib/sisu/v5/db_create.rb
@@ -86,13 +86,13 @@ module SiSU_DbCreate
@env=SiSU_Env::InfoEnv.new(@opt.fns)
tell=(@sql_type==:sqlite) \
? SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'Create SQLite db tables in:',%{"#{@file}"})
- : SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'Create pgSQL db tables in:',%{"#{Db[:name_prefix]}#{@env.path.stub_pwd}"})
+ : SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'Create pgSQL db tables in:',%{"#{Db[:name_prefix]}#{@env.path.base_markup_dir_stub}"})
if (@opt.act[:verbose][:set]==:on \
|| @opt.act[:verbose_plus][:set]==:on \
|| @opt.act[:maintenance][:set]==:on)
tell.dark_grey_title_hi
end
- SiSU_Env::SystemCall.new.create_pg_db(@env.path.stub_pwd) if @sql_type==:pg #watch use of path.stub_pwd instead of stub
+ SiSU_Env::SystemCall.new.create_pg_db(@env.path.base_markup_dir_stub) if @sql_type==:pg #watch use of path.base_markup_dir_stub instead of stub
end
def output_dir?
dir=SiSU_Env::InfoEnv.new('')
diff --git a/lib/sisu/v5/embedded.rb b/lib/sisu/v5/embedded.rb
index e205353a..c013806b 100644
--- a/lib/sisu/v5/embedded.rb
+++ b/lib/sisu/v5/embedded.rb
@@ -113,9 +113,9 @@ module SiSU_Embedded
def audio
#p @md.ec[:audio]
src="#{@base_src_dir}/_sisu/mm/audio"
- ldest="#{@env.path.webserv}/#{@env.path.stub_pwd}/_sisu/mm/audio"
+ ldest="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/mm/audio"
@rhost.each do |remote_conn|
- rdest="#{remote_conn[:name]}/#{@env.path.stub_pwd}/_sisu/mm/audio"
+ rdest="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/_sisu/mm/audio"
if (@md.opt.act[:verbose][:set]==:on \
|| @md.opt.act[:verbose_plus][:set]==:on \
|| @md.opt.act[:maintenance][:set]==:on \
@@ -133,9 +133,9 @@ module SiSU_Embedded
def multimedia
#p @md.ec[:multimedia]
src="#{@base_src_dir}/_sisu/mm/video"
- ldest="#{@env.path.webserv}/#{@env.path.stub_pwd}/_sisu/mm/video"
+ ldest="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/mm/video"
@rhost.each do |remote_conn|
- rdest="#{remote_conn[:name]}/#{@env.path.stub_pwd}/_sisu/mm/video"
+ rdest="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/_sisu/mm/video"
if (@md.opt.act[:verbose][:set]==:on \
|| @md.opt.act[:verbose_plus][:set]==:on \
|| @md.opt.act[:maintenance][:set]==:on \
diff --git a/lib/sisu/v5/harvest.rb b/lib/sisu/v5/harvest.rb
index 6c9b144f..053df905 100644
--- a/lib/sisu/v5/harvest.rb
+++ b/lib/sisu/v5/harvest.rb
@@ -81,7 +81,7 @@ module SiSU_Harvest
cases(@opt,@env)
rescue
ensure
- SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ SiSU_Env::CreateSite.new(@opt).cp_css
end
end
def help
diff --git a/lib/sisu/v5/html.rb b/lib/sisu/v5/html.rb
index 4a911d2c..3258a0e5 100644
--- a/lib/sisu/v5/html.rb
+++ b/lib/sisu/v5/html.rb
@@ -89,7 +89,8 @@ module SiSU_HTML
begin
songsheet
ensure
- SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ SiSU_Env::CreateSite.new(@opt).cp_css
+ SiSU_Env::CreateSite.new(@opt).cp_base_images
end
end
def songsheet
@@ -176,7 +177,7 @@ module SiSU_HTML
@links_guide_toc=[]
def initialize(data,md)
@data,@md=data,md
- @links_guide_=SiSU_Env::CreateSite.new(@md.opt.cmd).html_quick_ref?
+ @links_guide_=SiSU_Env::CreateSite.new(@md.opt).html_quick_ref?
end
def toc
@links_guide_toc=[]
diff --git a/lib/sisu/v5/html_concordance.rb b/lib/sisu/v5/html_concordance.rb
index b9030123..cf10e001 100644
--- a/lib/sisu/v5/html_concordance.rb
+++ b/lib/sisu/v5/html_concordance.rb
@@ -108,7 +108,7 @@ module SiSU_Concordance
__LINE__.to_s + ':' + __FILE__
end
ensure
- SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ SiSU_Env::CreateSite.new(@opt).cp_css
end
end
private
diff --git a/lib/sisu/v5/html_segments.rb b/lib/sisu/v5/html_segments.rb
index 7a368b9d..12101b67 100644
--- a/lib/sisu/v5/html_segments.rb
+++ b/lib/sisu/v5/html_segments.rb
@@ -68,7 +68,7 @@ module SiSU_HTML_Seg
class Output
def initialize(md,outputfile,seg,minitoc,type='')
@md,@output_seg_file,@seg,@minitoc,@type=md,outputfile,seg,minitoc,type
- @title_banner_=SiSU_Env::CreateSite.new(@md.opt.cmd).html_seg_title_banner?
+ @title_banner_=SiSU_Env::CreateSite.new(@md.opt).html_seg_title_banner?
@file=SiSU_Env::FileOp.new(@md)
@make=SiSU_Env::ProcessingSettings.new(@md)
@cl=(@make.build.html_minitoc?) \
@@ -166,7 +166,7 @@ module SiSU_HTML_Seg
else @cl='content'
end
if @md
- @title_banner_=SiSU_Env::CreateSite.new(@md.opt.cmd).html_seg_title_banner?
+ @title_banner_=SiSU_Env::CreateSite.new(@md.opt).html_seg_title_banner?
end
end
def songsheet
diff --git a/lib/sisu/v5/hub.rb b/lib/sisu/v5/hub.rb
index d9359862..5d291f9b 100644
--- a/lib/sisu/v5/hub.rb
+++ b/lib/sisu/v5/hub.rb
@@ -79,10 +79,9 @@ module SiSU
error('uri NOT FOUND (LoadError)')
end
class HubMaster
- def initialize(argv)
- pwd_the=Dir.pwd
+ def initialize(argv,call_path)
begin #% select what to do (set options & start processing (files selected if any))
- opt=SiSU_Commandline::Options.new(argv) # command line selection of what to do, files & operations set
+ opt=SiSU_Commandline::Options.new(argv,call_path) # command line selection of what to do, files & operations set
SiSU::Processing.new(opt).actions # do it
rescue
cmd=(opt ? opt.cmd : '')
@@ -90,7 +89,7 @@ module SiSU
__LINE__.to_s + ':' + __FILE__
end
ensure
- Dir.chdir(pwd_the)
+ Dir.chdir(call_path)
end
end
end
diff --git a/lib/sisu/v5/manifest.rb b/lib/sisu/v5/manifest.rb
index e1b6ce80..3216194d 100644
--- a/lib/sisu/v5/manifest.rb
+++ b/lib/sisu/v5/manifest.rb
@@ -106,7 +106,7 @@ module SiSU_Manifest
__LINE__.to_s + ':' + __FILE__
end
ensure
- SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ SiSU_Env::CreateSite.new(@opt).cp_css
end
end
private
diff --git a/lib/sisu/v5/options.rb b/lib/sisu/v5/options.rb
index 591bb990..f40f0388 100644
--- a/lib/sisu/v5/options.rb
+++ b/lib/sisu/v5/options.rb
@@ -69,7 +69,6 @@ module SiSU_Commandline
end
require_relative 'sysenv' # sysenv.rb
require_relative 'param_make' # param_make.rb
- @@sisu_call_origin_path=nil
class HeaderCommon
def sisu_document_make_instructions
@pagenew=
@@ -155,21 +154,20 @@ module SiSU_Commandline
end
end
class Options
- attr_accessor :cmd,:mod,:act,:dir_structure_by,:lingual,:f_pths,:files,:files_mod,:base_path,:base_stub,:sub_location,:paths,:lngs,:f_pth,:pth,:fno,:fns,:fnb,:fnc,:fng,:fncb,:lng,:lng_base,:what,:make_instructions,:make_instructions_pod
+ attr_accessor :cmd,:mod,:act,:dir_structure_by,:lingual,:f_pths,:files,:files_mod,:call_path,:base_path,:base_stub,:sub_location,:image_src_path,:paths,:lngs,:f_pth,:pth,:fno,:fns,:fnb,:fnc,:fng,:fncb,:lng,:lng_base,:what,:make_instructions,:make_instructions_pod
@@act=nil
- def initialize(a)
- @cmd,@f_pth,@pth,@fno,@fns,@fnb,@fnc,@fng,@fncb,@what,@lng,@lng_base,@base_path,@base_stub,@sub_location=
- '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''
+ def initialize(a,call_path)
+ @cmd=@f_pth=@pth=@fno=@fns=@fnb=@fnc=@fng=@fncb=@what=@lng=@lng_base=@call_path=@base_path=@base_stub=@image_src_path=@sub_location=''
@f_pths,@files,@files_mod,@paths,@mod,@act=Array.new(5){[]}
@env=SiSU_Env::InfoEnv.new
@lng_base=@env.language_default_set
@dir_structure_by=SiSU_Env::EnvCall.new.output_dir_structure.by?
@lingual=SiSU_Env::EnvCall.new.mono_multi_lingual?
- @@sisu_call_origin_path ||=Dir.pwd
- @base_path=@@sisu_call_origin_path
- r=Px[:lng_lst_rgx]
- u=/.+?\/([^\/]+)(?:\/(?:#{r})$|$)/
- @base_stub=@base_path.gsub(u,'\1')
+ @call_path=call_path
+ pth=SiSU_Utils::Path.new(call_path)
+ @base_path=pth.base_markup
+ @base_stub=pth.base_markup_stub
+ @image_src_path=pth.image_src
@a=sisu_glob_rules(a)
@a.freeze
@make_instructions=HeaderCommon.new.sisu_document_make_instructions
diff --git a/lib/sisu/v5/param.rb b/lib/sisu/v5/param.rb
index b2e50d41..ed28701c 100644
--- a/lib/sisu/v5/param.rb
+++ b/lib/sisu/v5/param.rb
@@ -118,10 +118,6 @@ module SiSU_Param
# you may need to change Dir.pwd to @opt.f_pth[:pth] where the latter
# has a path value that is different, however, f_pth is not always set!
Dir.chdir(@opt.f_pth[:pth])
- SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).
- error('-- bug alert --')
- p 'f_pth ' + @opt.f_pth[:pth]
- p 'pwd ' + Dir.pwd
end
if @@fns !=@fns \
or @@pth !=Dir.pwd #@opt.f_pth[:pth]
diff --git a/lib/sisu/v5/shared_markup_alt.rb b/lib/sisu/v5/shared_markup_alt.rb
index 1fb078c6..92db52f3 100644
--- a/lib/sisu/v5/shared_markup_alt.rb
+++ b/lib/sisu/v5/shared_markup_alt.rb
@@ -279,7 +279,12 @@ module SiSU_TextRepresentation
elsif FileTest.file?("#{@env.path.image_source_include}/#{i}")
@env.path.image_source_include
else
- SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set],"ERROR - image:", %{"#{i}" missing}, "search locations: #{@env.path.image_source_include_local}, #{@env.path.image_source_include_remote} and #{@env.path.image_source_include}").error2 unless @md.opt.act[:quiet][:set]==:on
+ SiSU_Screen::Ansi.new(
+ @md.opt.act[:color_state][:set],
+ "ERROR - image:",
+ %{"#{i}" missing},
+ "search locations: #{@env.path.image_source_include_local}, #{@env.path.image_source_include_remote} and #{@env.path.image_source_include}"
+ ).error2 unless @md.opt.act[:quiet][:set]==:on
nil
end
img_type = /\S+\.(png|jpg|gif)/.match(i)[1]
diff --git a/lib/sisu/v5/src_share.rb b/lib/sisu/v5/src_share.rb
index e33b4340..1fff050e 100644
--- a/lib/sisu/v5/src_share.rb
+++ b/lib/sisu/v5/src_share.rb
@@ -75,11 +75,20 @@ module SiSU_Markup
(@opt.act[:verbose][:set]==:on \
|| @opt.act[:verbose_plus][:set]==:on \
|| @opt.act[:maintenance][:set]==:on) \
- ? SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'Share document markup text source',@opt.fns).cyan_hi_blue
- : SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'Share document markup text source',@opt.fns).cyan_title_hi
+ ? SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ 'Share document markup text source',
+ @opt.fns
+ ).cyan_hi_blue
+ : SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ 'Share document markup text source',
+ @opt.fns
+ ).cyan_title_hi
end
if FileTest.directory?(@path_pod[:fnb])
- FileUtils::mkdir_p(@file.output_path.src.dir) unless FileTest.directory?(@file.output_path.src.dir)
+ FileUtils::mkdir_p(@file.output_path.src.dir) \
+ unless FileTest.directory?(@file.output_path.src.dir)
v=(@opt.act[:maintenance][:set]==:on) \
? 'v' : ''
system(%{
diff --git a/lib/sisu/v5/src_shared.rb b/lib/sisu/v5/src_shared.rb
index a4b3a974..068120f5 100644
--- a/lib/sisu/v5/src_shared.rb
+++ b/lib/sisu/v5/src_shared.rb
@@ -157,9 +157,7 @@ module SiSU_Source
images.delete_if {|x| x =~/https?:\/\// }
#images=images.sort
FileUtils::mkdir_p(@path_pod[:image])
- #unattractive hard coding ... !
- image_path='_sisu/image'
- images_pwd="#{@opt.base_path}/#{image_path}"
+ images_pwd=@opt.image_src_path
##sequence copies base images, defaults used in all html outputs
#image_source_base='/usr/share/sisu/image'
#dir_pwd=Dir.pwd
@@ -245,7 +243,7 @@ module SiSU_Source
%{\t*WARN* did not find - "#{@opt.base_path}#{doc_import_dir}/#{f[:f]}" [#{__FILE__}:#{__LINE__}]}
end
else
- if FileTest.file?("#{@opt.base_path}/#{f[:f]}")
+ if FileTest.file?("#{@opt.base_path}#{doc_import_dir}/#{f[:f]}")
cpy= :no
cpy=if f[:f] =~ /^#{@opt.f_pth[:lng_is]}\// \
or f[:f] =~ /~#{@opt.f_pth[:lng_is]}\.sst/
@@ -256,12 +254,12 @@ module SiSU_Source
else :no
end
if cpy == :yes
- FileUtils::cp("#{@opt.base_path}/#{f[:f]}",
+ FileUtils::cp("#{@opt.base_path}#{doc_import_dir}/#{f[:f]}",
"#{@path_pod[:doc]}/#{f[:n]}")
end
else
STDERR.puts \
- %{\t*WARN* did not find - "#{@opt.base_path}/#{f[:f]}" [#{__FILE__}:#{__LINE__}]}
+ %{\t*WARN* did not find - "#{@opt.base_path}#{doc_import_dir}/#{f[:f]}" [#{__FILE__}:#{__LINE__}]}
end
end
end
@@ -272,9 +270,11 @@ module SiSU_Source
SiSU_Env::InfoEnv.new.sisupod_v4(@opt)
end
def ssm_doc_import_list(f)
- if @opt.fno =~/\.ssm$/
+ if @opt.fno =~/\.ss[mi]$/
doc_import_list=[]
- doc_import_list << f.scan(@rgx_doc_import) if f =~@rgx_doc_import
+ if f =~@rgx_doc_import
+ doc_import_list << f.scan(@rgx_doc_import)
+ end
doc_import_list.flatten.each do |i|
if i =~/.ssi/
file_array=IO.readlines(i,'')
@@ -286,11 +286,11 @@ module SiSU_Source
end
def pod_source_build(file_array)
@pwd=Dir.pwd
- @rgx_doc_import_list=/^<<\s*(\S+?\.ss[ti])/
+ @rgx_doc_import=/^<<\s*(\S+?\.ss[ti])/
doc_import_list=[]
file_array.each do |f| #% work area
if f !~/^%+\s/
- if @opt.fno =~/\.ssm$/
+ if @opt.fno =~/\.ss[mi]$/
@doc_import_list << ssm_doc_import_list(f)
doc_import_list=@doc_import_list.flatten.uniq
end
diff --git a/lib/sisu/v5/sst_convert_markup.rb b/lib/sisu/v5/sst_convert_markup.rb
index cec67960..cdceba7c 100644
--- a/lib/sisu/v5/sst_convert_markup.rb
+++ b/lib/sisu/v5/sst_convert_markup.rb
@@ -313,7 +313,8 @@ end
#%% files to match for this conversion set ------------------------->
require_relative 'options' # options.rb
argv=$*
-@opt=SiSU_Commandline::Options.new(argv)
+base_path=Dir.pwd
+@opt=SiSU_Commandline::Options.new(argv,base_path)
case @opt.mod.inspect
when /=kdi/
SiSU_Modify::ConvertMarkup.new(@opt).conversion
diff --git a/lib/sisu/v5/sysenv.rb b/lib/sisu/v5/sysenv.rb
index 7358ff40..8d73e832 100644
--- a/lib/sisu/v5/sysenv.rb
+++ b/lib/sisu/v5/sysenv.rb
@@ -116,13 +116,13 @@ module SiSU_Env
share=Config::CONFIG['datadir'] + '/sisu'
data=Config::CONFIG['datadir'] + '/doc/sisu'
m=/.+\/(?:src\/)?(\S+)/m # m=/.+?\/(?:src\/)?([^\/]+)$/im # m=/.+\/(\S+)/m
- @stub_pwd ||=@@pwd[m,1]
+ @base_markup_dir_stub=SiSU_Utils::Path.new.base_markup_stub
prcss_dir='_sisu_processing_' + '.' + SiSU_is[:version_dir]
prcss_dir_tmp_root="/tmp/#{prcss_dir}"
- prcss_dir_stub="#{prcss_dir}/#{@stub_pwd}"
+ prcss_dir_stub="#{prcss_dir}/#{@base_markup_dir_stub}"
if @@user
- tmp_processing="#{prcss_dir_tmp_root}/#{@@user}/#{@stub_pwd}"
- tmp_processing_individual="#{prcss_dir_tmp_root}/#{@@user}/#{@stub_pwd}"
+ tmp_processing="#{prcss_dir_tmp_root}/#{@@user}/#{@base_markup_dir_stub}"
+ tmp_processing_individual="#{prcss_dir_tmp_root}/#{@@user}/#{@base_markup_dir_stub}"
else #error
tmp_processing=tmp_processing_individual="/tmp/#{prcss_dir_stub}"
end
@@ -1096,7 +1096,7 @@ module SiSU_Env
rescue LoadError
SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('pathname or fileutils NOT FOUND (LoadError)')
end
- attr_accessor :filename,:sys,:home,:hostname,:user,:env,:rc,:www,:fnb,:fnn,:fnt,:flv,:webserv_path,:stub_pwd,:stub_src,:webserv_host_cgi,:webserv_port_cgi,:processing,:processing_git,:etc,:yamlrc_dir
+ attr_accessor :filename,:sys,:home,:hostname,:user,:env,:rc,:www,:fnb,:fnn,:fnt,:flv,:webserv_path,:base_markup_dir_stub,:stub_src,:webserv_host_cgi,:webserv_port_cgi,:processing,:processing_git,:etc,:yamlrc_dir
@@image_flag,@@local_image=true,true #warning on @@image_flag
@@fb,@@man_path=nil,nil
def initialize(fns='',md=nil)
@@ -1121,11 +1121,10 @@ module SiSU_Env
@fnb ||=@@fb #clean up this... used primarily for zap which is not passed normal parameters
@fixed_websev_root='' # @home
@pwd=@@pwd=Dir.pwd
- m=/.+\/(?:src\/)?(\S+)/m # m=/.+?\/(?:src\/)?([^\/]+)$/im # m=/.+\/(\S+)/m
- @stub_pwd=@@pwd[m,1] || '' #; p __LINE__; #p @pwd; #p m; #p @stub_pwd
- @stub_src= @stub_pwd + '/src'
- @stub_pod= @stub_pwd + '/pod'
- @stub_epub= @stub_pwd + '/epub'
+ @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'
pt=Pathname.new(Dir.pwd)
stub=if output_dir_structure.by_language_code?
r=Px[:lng_lst_rgx]
@@ -1206,8 +1205,8 @@ module SiSU_Env
@@current_document||=Dir.pwd
@@current_document
end
- def stub_pwd #200412
- @stub_pwd
+ def base_markup_dir_stub #200412
+ @base_markup_dir_stub
end
def stub_md_harvest #watch
@stub_set_manifest
@@ -2062,8 +2061,8 @@ WOK
def pwd
@sys.pwd
end
- def stub_pwd
- @stub_pwd
+ def base_markup_dir_stub
+ @base_markup_dir_stub
end
def stub_epub
@stub_epub
@@ -2149,10 +2148,11 @@ WOK
end
def webserv_stub_ensure
FileUtils::mkdir_p(path.webserv) unless FileTest.directory?(path.webserv)
- FileUtils::mkdir_p("#{path.webserv}/#{@stub_pwd}") unless FileTest.directory?("#{path.webserv}/#{@stub_pwd}")
+ 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}/#{stub_pwd}"
+ "#{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]
@@ -2288,13 +2288,13 @@ WOK
end
def stub_dir
(usr_dir?) \
- ? ("#{root_dir}/#{user}/#{stub_pwd}")
- : ("#{root_dir}/#{stub_pwd}") # see defaults[:processing_path]
+ ? ("#{root_dir}/#{user}/#{base_markup_dir_stub}")
+ : ("#{root_dir}/#{base_markup_dir_stub}") # 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]
+ ? ("#{root_dir}/#{user}/#{base_markup_dir_stub}")
+ : ("#{root_dir}/#{base_markup_dir_stub}") # 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
@@ -2504,21 +2504,21 @@ WOK
"http://#{@sys.hostname}"
end
def dir_url
- "file://#{path.webserv}/#{stub_pwd}"
+ "file://#{path.webserv}/#{base_markup_dir_stub}"
end
def localhost
- "http://localhost/#{stub_pwd}"
+ "http://localhost/#{base_markup_dir_stub}"
end
def local
- "http://#{hostname}/#{@stub_pwd}"
+ "http://#{hostname}/#{@base_markup_dir_stub}"
end
def root
if defined? @rc['webserv']['url_root'] \
and @rc['webserv']['url_root'] =~/https?:\/\//
- "#{@rc['webserv']['url_root']}/#{@stub_pwd}"
+ "#{@rc['webserv']['url_root']}/#{@base_markup_dir_stub}"
elsif defined? @rc['webserv']['url_root'] \
and @rc['webserv']['url_root'] =~/localhost/
- "http://localhost/#{@stub_pwd}"
+ "http://localhost/#{@base_markup_dir_stub}"
else "file://#{path.output}"
end
end
@@ -2567,14 +2567,14 @@ WOK
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}"
+ "#{http}#{@rc['webserv_cgi']['host']}:#{port.webserv_port_cgi}/#{@base_markup_dir_stub}"
+ else "#{http}#{@rc['webserv_cgi']['host']}/#{@base_markup_dir_stub}"
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}"
+ "#{http}#{webserv_host_base}:#{port.webserv_port_cgi(opt)}/#{@base_markup_dir_stub}"
+ else "#{http}#{webserv_host_base}/#{@base_markup_dir_stub}"
end
end
http=http.strip
@@ -2622,7 +2622,7 @@ WOK
@rc['webserv']['url_root']
elsif path.webserv_dir \
and path.webserv =~ /#{path.webserv_dir}/ #revisit
- "#{path.webserv}/#{@stub_pwd}".gsub(/#{path.webserv_dir}/,"#{url.hostname}/#{@stub_pwd}")
+ "#{path.webserv}/#{@base_markup_dir_stub}".gsub(/#{path.webserv_dir}/,"#{url.hostname}/#{@base_markup_dir_stub}")
elsif defined? @rc['webserv']['webrick_url'] \
and @rc['webserv']['webrick_url']==false
"file://#{path.webserv}"
@@ -2635,7 +2635,7 @@ WOK
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}")
+ "#{path.webserv}/#{@base_markup_dir_stub}".gsub(/#{path.webserv_dir}/,"#{url.hostname}")
elsif defined? @rc['webserv']['webrick_url'] \
and @rc['webserv']['webrick_url']==false
"file://#{path.webserv}"
@@ -2696,8 +2696,8 @@ WOK
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 /^local(:\d+)/ then url.hostname + $1 + '/' + base_markup_dir_stub
+ when /^localhost(:\d+)/ then url.localhost + $1 + '/' + base_markup_dir_stub
when /^localhost/ then url.localhost
when /^webrick/ then url.webrick
when /^path/ then url.webserv_map_pwd
@@ -2716,7 +2716,11 @@ WOK
else
if @@local_image==true
cmd=@cmd ? @cmd : ''
- SiSU_Screen::Ansi.new(cmd,"WARNING - no local image directory or images:", defaults[:image_local] ).warn unless cmd =~/q/
+ SiSU_Screen::Ansi.new(
+ cmd,
+ "WARNING - no local image directory or images:",
+ defaults[:image_local]
+ ).warn unless cmd =~/q/
@@local_image=false
end
url.images
@@ -2726,15 +2730,21 @@ WOK
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
+ pth="#{path.webserv}/#{@base_markup_dir_stub}"
+ 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 @cmd =~/q/
+ SiSU_Screen::Ansi.new(
+ @cmd,
+ "WARNING - image directory for external images or no such images:",
+ :image_external
+ ).warn unless @cmd =~/q/
@@local_image=false
end
url.images_external
@@ -3497,9 +3507,9 @@ WOK
self.remote_host_base.each do |remote_conn|
local_gen=@source_path
remote_gen=case @opt.cmd
- when /u/ then "#{remote_conn[:name]}/#{@env.path.stub_pwd}/." #creates remote directory tree, this is not the usual function of u
- when /[abhHNopwxXy]/ then "#{remote_conn[:name]}/#{@env.path.stub_pwd}/#{@fnb}/."
- else "#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ when /u/ then "#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/." #creates remote directory tree, this is not the usual function of u
+ when /[abhHNopwxXy]/ then "#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/#{@fnb}/."
+ else "#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/."
end
local_epub=@source_path_epub
local_src=@source_path_src
@@ -3544,7 +3554,7 @@ WOK
def site_base #base site
self.remote_host_base.each do |remote_conn|
local=@source_path
- remote="#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ remote="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/."
if defined? @rc['permission_set']['remote_base_site'] \
and @rc['permission_set']['remote_base_site'] \
and @@flag_remote==true \
@@ -3562,7 +3572,7 @@ WOK
def site_base_all #base site
self.remote_host_base.each do |remote_conn|
local=@source_path
- remote="#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ remote="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/."
if defined? @rc['permission_set']['remote_base_site'] \
and @rc['permission_set']['remote_base_site'] \
and @@flag_remote==true \
@@ -3591,9 +3601,9 @@ WOK
if f
self.remote_host_base.each do |remote_conn|
local_gen=@source_path
- #local_gen_image="#{@env.path.webserv}/#{@env.path.stub_pwd}/_sisu/image"
- #local_gen_image_external="#{@env.path.webserv}/#{@env.path.stub_pwd}/_sisu/image_external"
- remote_gen="#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ #local_gen_image="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image"
+ #local_gen_image_external="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image_external"
+ remote_gen="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/."
remote_rel=remote_conn[:name] + '/' + f.output_path.stub.rcp
@opt.fnc
if (local_gen =~/\S/ \
@@ -3748,7 +3758,7 @@ WOK
def site_harvest
self.remote_host_base.each do |remote_conn|
local=@source_path_harvest
- l_rel="#{@env.path.webserv}/#{@env.path.stub_pwd}"
+ l_rel="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}"
lng='en'
if @env.output_dir_structure.by? == :language
ldest="#{lng}/manifest"
@@ -3774,10 +3784,10 @@ WOK
end
def site_base #base site
ldest='_sisu/*'
- l_rel="#{@env.path.webserv}/#{@env.path.stub_pwd}"
+ l_rel="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}"
image_sys="#{@env.path.webserv}/_sisu/image_sys"
self.remote_host_base.each do |remote_conn|
- remote="#{remote_conn[:name]}/#{@env.path.stub_pwd}"
+ remote="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}"
remote_conf="#{remote_conn[:name]}/_sisu"
SiSU_Env::SystemCall.new(image_sys,remote_conf).rsync
SiSU_Env::SystemCall.new(ldest,remote).rsync('--relative',l_rel)
@@ -3786,7 +3796,7 @@ WOK
def site_base_sync
self.remote_host_base.each do |remote_conn|
local=@source_path
- remote="#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ remote="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/."
if defined? @rc['permission_set']['remote_base_site'] \
and @rc['permission_set']['remote_base_site'] \
and @@flag_remote==true \
@@ -3811,7 +3821,7 @@ WOK
def rsync_sitemaps #sitemap directory
self.remote_host_base.each do |remote_conn|
local="#{@source_path}/sitemapindex.xml"
- remote="#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ remote="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/."
if @@flag_remote
delete_extra_files='--delete' # '--delete-after'
SiSU_Env::SystemCall.new(local,remote).rsync(delete_extra_files)
@@ -6315,7 +6325,7 @@ WOK
end
def xml_docbook
def ft
- 'docbook' + DEVELOPER[:under_construction]
+ 'docbook'
end
def dir
set_path(ft).dir.abc
@@ -6363,7 +6373,7 @@ WOK
end
def xml_docbook_book
def ft
- 'docbook' + DEVELOPER[:under_construction]
+ 'docbook'
end
def dir
set_path(ft).dir.abc
@@ -6912,7 +6922,7 @@ WOK
def xml_dom
'dom.css'
end
- def docbook_xml
+ def xml_docbook
'docbook.css'
end
def homepage
@@ -6931,8 +6941,8 @@ WOK
if @md.doc_css \
and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_html.css")
"#{@md.doc_css}_html.css"
- elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.stub_pwd}_html.css")
- "#{@env.path.stub_pwd}_html.css"
+ elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_html.css")
+ "#{@env.path.base_markup_dir_stub}_html.css"
else
SiSU_Env::CSS_Default.new.html
end
@@ -6941,8 +6951,8 @@ WOK
if @md.doc_css \
and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_html_tables.css")
"#{@md.doc_css}_html_tables.css"
- elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.stub_pwd}_html_tables.css")
- "#{@env.path.stub_pwd}_html_tables.css"
+ elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_html_tables.css")
+ "#{@env.path.base_markup_dir_stub}_html_tables.css"
else SiSU_Env::CSS_Default.new.html_tables
end
end
@@ -6950,8 +6960,8 @@ WOK
if @md.doc_css \
and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_xhtml.css")
"#{@md.doc_css}_xhtml.css"
- elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.stub_pwd}_xhtml.css")
- "#{@env.path.stub_pwd}_xhtml.css"
+ elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_xhtml.css")
+ "#{@env.path.base_markup_dir_stub}_xhtml.css"
else SiSU_Env::CSS_Default.new.xhtml
end
end
@@ -6959,8 +6969,8 @@ WOK
if @md.doc_css \
and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_xml_sax.css")
"#{@md.doc_css}_xml_sax.css"
- elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.stub_pwd}_xml_sax.css")
- "#{@env.path.stub_pwd}_xml_sax.css"
+ elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_xml_sax.css")
+ "#{@env.path.base_markup_dir_stub}_xml_sax.css"
else SiSU_Env::CSS_Default.new.xml_sax
end
end
@@ -6968,26 +6978,26 @@ WOK
if @md.doc_css \
and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_xml_dom.css")
"#{@md.doc_css}_xml_dom.css"
- elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.stub_pwd}_xml_dom.css")
- "#{@env.path.stub_pwd}_xml_dom.css"
+ elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_xml_dom.css")
+ "#{@env.path.base_markup_dir_stub}_xml_dom.css"
else SiSU_Env::CSS_Default.new.xml_dom
end
end
- def docbook_xml
+ def xml_docbook
if @md.doc_css \
and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_docbook.css")
"#{@md.doc_css}_xml_dom.css"
- elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.stub_pwd}_docbook.css")
- "#{@env.path.stub_pwd}_docbook.css"
- else SiSU_Env::CSS_Default.new.docbook_xml
+ elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_docbook.css")
+ "#{@env.path.base_markup_dir_stub}_docbook.css"
+ else SiSU_Env::CSS_Default.new.xml_docbook
end
end
def homepage
if @md.doc_css \
and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_homepage.css")
"#{@md.doc_css}_homepage.css"
- elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.stub_pwd}_homepage.css")
- "#{@env.path.stub_pwd}_homepage.css"
+ elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_homepage.css")
+ "#{@env.path.base_markup_dir_stub}_homepage.css"
else SiSU_Env::CSS_Default.new.homepage
end
end
@@ -7029,12 +7039,16 @@ WOK
stylesheet="#{@file.path_rel_links.xml_css}#{@env.path.style}/#{@css.xml_dom}"
%{<?xml-stylesheet type="text/css" href="#{stylesheet}"?>}
end
+ def xml_docbook
+ stylesheet="#{@file.path_rel_links.xml_css}#{@env.path.style}/#{@css.xml_docbook}"
+ %{<?xml-stylesheet type="text/css" href="#{stylesheet}"?>}
+ end
end
class CreateSite < InfoEnv
require_relative 'css' # css.rb
include SiSU_Style
- def initialize(cmd)
- @cmd=cmd
+ def initialize(opt)
+ @opt=opt
@env=SiSU_Env::InfoEnv.new
@init=SiSU_Env::GetInit.new
@home,@pwd=ENV['HOME'],ENV['PWD'] #@pwd=Dir.pwd
@@ -7047,8 +7061,8 @@ WOK
puts %{ place your homepages in directory:\n "#{@env.path.rc}/home/*.html"\n (no action taken)}
else
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.stub_pwd}/index.html"
- filename_home_toc="#{@env.path.webserv}/#{@env.path.stub_pwd}/toc.html"
+ 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 << @vz_home.homepage
@@ -7059,10 +7073,10 @@ WOK
end
def homepage
home_pages_manually_created=Dir.glob("#{@env.path.rc}/home/*.html")
- FileUtils::mkdir_p("#{@env.path.webserv}/#{@env.path.stub_pwd}") unless FileTest.directory?("#{@env.path.webserv}/#{@env.path.stub_pwd}")
+ 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.stub_pwd}")
+ FileUtils.cp(homepage,"#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}")
end
else
create_default_sisu_homepage(:none)
@@ -7088,12 +7102,12 @@ WOK
end
def cp_local_images
src="#{@pwd}/_sisu/image"
- dest="#{@env.path.webserv}/#{@env.path.stub_pwd}/_sisu/image"
+ dest="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image"
cp_images(src,dest) if FileTest.directory?(src)
end
def cp_external_images
src="#{@env.processing_path.processing}/external_document/image"
- dest="#{@env.path.webserv}/#{@env.path.stub_pwd}/_sisu/image_external"
+ 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
@@ -7102,7 +7116,7 @@ WOK
src=@env.path.image_source
dest_arr=[
"#{@env.path.webserv}/_sisu/image",
- "#{@env.path.webserv}/#{@env.path.stub_pwd}/_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)
@@ -7110,25 +7124,30 @@ WOK
end
def cp_webserver_images_local #this should not have been necessary
src=@env.path.image_source
- dest="#{@env.path.webserv}/#{@env.path.stub_pwd}/_sisu/image"
+ dest="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image"
cp_images(src,dest) if FileTest.directory?(src)
end
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.stub_pwd}/_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
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
+ 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(@cmd,"*WARN* modify is css set to: #{@rc['permission_set']['css_modify']}").warn if @cmd=~/[MV]/
+ SiSU_Screen::Ansi.new(@opt.cmd,"*WARN* modify is css set to: #{@rc['permission_set']['css_modify']}").warn if @opt.cmd=~/[MV]/
css_path.each do |x|
if FileTest.directory?(x)
FileUtils::cd(x)
@@ -7142,53 +7161,64 @@ WOK
FileUtils::cd(@pwd)
end
end
- else SiSU_Screen::Ansi.new(@cmd,"*WARN* modify css is not set or is set to: false").warn if @cmd=~/[MV]/
+ else
+ SiSU_Screen::Ansi.new(
+ @opt.cmd,
+ "*WARN* modify css is not set or is set to: false"
+ ).warn if @opt.cmd=~/[MV]/
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 @cmd =~/C/ \
+ if @opt.cmd =~/C/ \
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 @cmd =~/C/ \
+ if @opt.cmd =~/C/ \
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 @cmd =~/C/ \
+ if @opt.cmd =~/C/ \
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 @cmd =~/C/ \
+ if @opt.cmd =~/C/ \
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 @cmd =~/C/ \
- or (@cmd =~/[x]/ \
- and not FileTest.file?("#{path_style}/#{fn_css.xml_sax}"))
+ if @opt.cmd =~/C/ \
+ or (@opt.cmd =~/[x]/ \
+ 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 @cmd =~/C/ \
- or (@cmd =~/[X]/ \
- and not FileTest.file?("#{path_style}/#{fn_css.xml_dom}"))
+ if @opt.cmd =~/C/ \
+ or (@opt.cmd =~/[X]/ \
+ 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 @cmd =~/C/ \
- or (@cmd =~/[b]/ \
- and not FileTest.file?("#{path_style}/#{fn_css.xhtml}"))
+ if @opt.cmd =~/C/ \
+ 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.cmd =~/C/ \
+ or (@opt.cmd =~/[b]/ \
+ and not FileTest.file?("#{path_style}/#{fn_css.xhtml}"))
style=File.new("#{path_style}/#{fn_css.xhtml}",'w')
style << css.xhtml
style.close
diff --git a/lib/sisu/v5/utils.rb b/lib/sisu/v5/utils.rb
index 9d9a3a51..4d30d031 100644
--- a/lib/sisu/v5/utils.rb
+++ b/lib/sisu/v5/utils.rb
@@ -174,8 +174,22 @@ module SiSU_Utils
def initialize(dir=Dir.pwd)
@dir=dir
end
- def base_markup
- (/(\S+?)(?:\/(?:#{Px[:lng_lst_rgx]}))?$/).match(Dir.pwd)[1]
+ def base_markup(call_path=nil)
+ call_path = call_path \
+ ? call_path \
+ : Dir.pwd
+ (/(\S+?)(?:\/(?:#{Px[:lng_lst_rgx]}))?$/).match(call_path)[1]
+ end
+ def base_markup_stub
+ m=/.+\/(?:src\/)?(\S+)/im
+ base_markup[m,1]
+ end
+ def image_src
+ if base_markup =~/sisupod\/doc[\/]?$/
+ base_markup.gsub(/\/doc[\/]?$/,'/image')
+ elsif FileTest.directory?("#{base_markup}/_sisu/image")
+ "#{base_markup}/_sisu/image"
+ end
end
def bmd
base_markup
diff --git a/lib/sisu/v5/xhtml.rb b/lib/sisu/v5/xhtml.rb
index 0e0d7781..ad6d3f0e 100644
--- a/lib/sisu/v5/xhtml.rb
+++ b/lib/sisu/v5/xhtml.rb
@@ -108,7 +108,7 @@ module SiSU_XHTML
__LINE__.to_s + ':' + __FILE__
end
ensure
- SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ SiSU_Env::CreateSite.new(@opt).cp_css
end
end
private
diff --git a/lib/sisu/v5/xml_docbook5.rb b/lib/sisu/v5/xml_docbook5.rb
index 3a59f839..62b8845c 100644
--- a/lib/sisu/v5/xml_docbook5.rb
+++ b/lib/sisu/v5/xml_docbook5.rb
@@ -87,6 +87,8 @@ module SiSU_XML_Docbook_Book
__LINE__.to_s + ':' + __FILE__
end
ensure
+ #SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ #SiSU_Env::CreateSite.new(@opt.cmd).cp_base_images
end
end
private
@@ -126,8 +128,30 @@ module SiSU_XML_Docbook_Book
#extract_endnotes
data=markup_text(data)
structure_build_collapsed(data)
+ document_images if @md.ec[:image] and @md.ec[:image].length > 0
#tail
end
+ def document_images
+ img_pth={
+ src: @md.opt.image_src_path,
+ dest: @md.env.path.webserv + '/_sisu/image',
+ }
+ unless FileTest.directory?(img_pth[:dest])
+ #mkdir?
+ end
+ if FileTest.directory?(img_pth[:dest])
+ @md.ec[:image].each do |x|
+ img={
+ src: "#{img_pth[:src]}/#{x}",
+ dest: "#{img_pth[:dest]}/#{x}",
+ }
+ if FileTest.file?(img[:src])
+ FileUtils::cp(img[:src],img[:dest])
+ else p "Not Found: #{img[:src]}/#{x}"
+ end
+ end
+ end
+ end
def spaces
Ax[:spaces]
end
@@ -154,8 +178,12 @@ module SiSU_XML_Docbook_Book
puts line if @md.opt.act[:verbose_plus][:set]==:on
end
def head
+ rdf=SiSU_XML_Tags::RDF.new(@md)
+ stylesheet=SiSU_Style::CSS_HeadInfo.new(@md,'xml_docbook').stylesheet
<<-WOK
<?xml version="1.0" encoding="utf-8"?>
+#{stylesheet.css_head_xml}
+#{rdf.comment_xml}
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0">
@@ -163,7 +191,10 @@ module SiSU_XML_Docbook_Book
end
def markup_text(data)
data.each_with_index do |o,i|
- if o.is ==:heading || o.is ==:para || o.is ==:open_close_tags
+ if o.is ==:heading \
+ || o.is ==:para \
+ || o.of ==:block \
+ || o.is ==:open_close_tags
o=@trans.markup_docbook(o) #unless o.obj==nil
end
end
diff --git a/lib/sisu/v5/xml_dom.rb b/lib/sisu/v5/xml_dom.rb
index c8f3d881..a1b316ac 100644
--- a/lib/sisu/v5/xml_dom.rb
+++ b/lib/sisu/v5/xml_dom.rb
@@ -109,7 +109,7 @@ module SiSU_XML_DOM
__LINE__.to_s + ':' + __FILE__
end
ensure
- SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ SiSU_Env::CreateSite.new(@opt).cp_css
end
end
private
diff --git a/lib/sisu/v5/xml_sax.rb b/lib/sisu/v5/xml_sax.rb
index 1554056b..69a5962d 100644
--- a/lib/sisu/v5/xml_sax.rb
+++ b/lib/sisu/v5/xml_sax.rb
@@ -109,7 +109,7 @@ module SiSU_XML_SAX
end
ensure
#file closed in songsheet
- SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ SiSU_Env::CreateSite.new(@opt).cp_css
end
end
private
diff --git a/lib/sisu/v5/xml_shared.rb b/lib/sisu/v5/xml_shared.rb
index f1113495..77df1a30 100644
--- a/lib/sisu/v5/xml_shared.rb
+++ b/lib/sisu/v5/xml_shared.rb
@@ -477,15 +477,21 @@ module SiSU_XML_Munge
gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'<cite>\1</cite>').
gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'<del>\1</del>').
gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'<tt>\1</tt>'). # tt, kbd
- gsub(/#{Mx[:lnk_o]}\s*(\S+?\.(?:png|jpg|gif)).+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}|image)/m,
- %{#{Xx[:split]}:spaces0:<figure id="\\1">\n:spaces1:<title></title>\n:spaces1:<graphic fileref="images/\\1" align="center" width="50%"></graphic>\n:spaces0:</figure>#{Xx[:split]}}).
- gsub(/#{Mx[:url_o]}(.+?)#{Mx[:url_c]}/,"#{Dx[:url_o]}\\1#{Dx[:url_c]}").
+ gsub(/#{Mx[:lnk_o]}\s*(\S+?)\.(png|jpg|gif).+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}|image)/m,
+ %{#{Xx[:split]}:spaces0:<figure id="fig-\\1">\n:spaces1:<title></title>\n:spaces1:<graphic fileref="../../_sisu/image/\\1.\\2" align="center" width="50%"></graphic>\n:spaces0:</figure>#{Xx[:split]}}). # common image location, else use ./images
+ gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(.+?)#{Mx[:url_c]}/,
+ '<ulink url="\2">\1</ulink>').
+ gsub(/#{Mx[:url_o]}(.+?)#{Mx[:url_c]}/,
+ '<ulink url="\1">\1</ulink>').
gsub(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,'<a name="\1"></a>').
gsub(/#{Mx[:gl_bullet]}/m,'● '). #&nbsp; not available
gsub(/#{Mx[:nbsp]}/,' '). #&nbsp; not available
gsub(/<(p|br)>/,'<\1 />')
dob.obj=clean(dob.obj)
- else # codeblock
+ elsif dob.is == :code
+ dob.obj=dob.obj.gsub(/&/m,'&amp;'). #sort
+ gsub(/</,'&lt;').gsub(/>/,'&gt;')
+ else # p dob.is ??
end
dob
end
diff --git a/lib/sisu/v6/ao_composite.rb b/lib/sisu/v6/ao_composite.rb
index 078e8ece..eaa4e08f 100644
--- a/lib/sisu/v6/ao_composite.rb
+++ b/lib/sisu/v6/ao_composite.rb
@@ -85,7 +85,7 @@ module SiSU_Assemble
end
imagefile.close
end
- output_path="#{@env.path.webserv}/#{@env.path.stub_pwd}/_sisu/image_external"
+ output_path="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image_external"
FileUtils::mkdir_p(output_path) \
unless FileTest.directory?(output_path)
SiSU_Env::SystemCall.new("#{path}/*",output_path,'q').rsync
diff --git a/lib/sisu/v6/ao_numbering.rb b/lib/sisu/v6/ao_numbering.rb
index 5b2137e7..1c5c326e 100644
--- a/lib/sisu/v6/ao_numbering.rb
+++ b/lib/sisu/v6/ao_numbering.rb
@@ -301,7 +301,7 @@ module SiSU_AO_Numbering
@tuned_file=@tuned_file.flatten
end
def leading_zeros_fixed_width_number(possible_seg_name)
- if possible_seg_name =~/^([0-9]+?\.|[0-9]+)$/m #!~/[.,:-]+/
+ if possible_seg_name =~/^([0-9]+?\.|[0-9]+)$/m #!~/[.,:-]+/
possible_seg_name=possible_seg_name.
gsub(/\.$/,'')
nl=possible_seg_name.to_s.length
@@ -314,31 +314,47 @@ module SiSU_AO_Numbering
possible_seg_name.to_s
end
end
- def auto_seg_name(possible_seg_name,heading_num_is,type)
+ def auto_seg_name(possible_seg_name,heading_num_is,lv,type)
prefix=case type
- when :auto then Mx[:segname_prefix_auto_num_provide]
+ when :auto then Mx[:segname_prefix_auto_num_provide]
when :extract then Mx[:segname_prefix_auto_num_extract]
- else '_' #should not occur
+ else '_'*lv.to_i #should not occur
end
- if possible_seg_name =~/^[0-9]+?\.$/m #!~/[.,:-]+/
+ if possible_seg_name =~/^[0-9]+?\.$/m #!~/[.,:-]+/
possible_seg_name=possible_seg_name.
gsub(/\.$/,'')
end
- chosen_seg_name=if possible_seg_name =~/^[0-9]+$/m \
- and possible_seg_name.to_i <= heading_num_is.to_i
+ chosen_seg_name=if possible_seg_name =~/^[0-9]+[.]?$/m \
+ and possible_seg_name.to_i <= heading_num_is.to_i \
+ and lv == '1'
prefix + leading_zeros_fixed_width_number(possible_seg_name)
- elsif possible_seg_name =~/^[0-9][\d.,:-]*$/m
+ elsif possible_seg_name =~/^[0-9]+[.,:-]*$/m \
+ and lv == '1'
possible_seg_name=possible_seg_name.
gsub(/(?:[:,-]|\W)/,'.').
gsub(/\.$/,'')
prefix + possible_seg_name
- else prefix + possible_seg_name.to_s
+ elsif possible_seg_name =~
+ /^[0-9]+[.,:-][0-9]+[.,:-]*$/m \
+ and lv == '2'
+ possible_seg_name=possible_seg_name.
+ gsub(/(?:[:,-]|\W)/,'.').
+ gsub(/\.$/,'')
+ prefix + possible_seg_name
+ elsif possible_seg_name =~
+ /^[0-9]+[.,:-][0-9]+[.,:-][0-9][\d.,:-]*$/m \
+ and lv == '3'
+ possible_seg_name=possible_seg_name.
+ gsub(/(?:[:,-]|\W)/,'.').
+ gsub(/\.$/,'')
+ prefix + possible_seg_name
+ else 'x'*lv.to_i + possible_seg_name.to_s
end
@chosen_seg_names << chosen_seg_name
if @chosen_seg_names.compact.uniq.length == @chosen_seg_names.compact.length #checks that all auto given seg names are unique
chosen_seg_name
else
- SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).mark("duplicated auto segment name: #{chosen_seg_name}; manually name level 1 segments '1~given_name'")
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:green).mark("duplicated auto segment name: #{type} #{chosen_seg_name} - #{@chosen_seg_names}; manually name level 1 segments '1~given_name'")
exit
end
end
@@ -380,7 +396,7 @@ module SiSU_AO_Numbering
and dob.obj =~/^\s*(?:\S+\s+)?([0-9][0-9.,:-]*)/m #heading starts with a recognised numeric or word followed by a recognised numeric construct, use that as name
possible_seg_name=$1
possible_seg_name=
- auto_seg_name(possible_seg_name,heading_num_is,:extract)
+ auto_seg_name(possible_seg_name,heading_num_is,dob.lv,:extract)
possible_seg_name=possible_seg_name.
gsub(/(?:[:,-]|\W)/,'.').
gsub(/\.$/,'')
@@ -405,7 +421,7 @@ module SiSU_AO_Numbering
if dob.ln==4 \
and not dob.name #if still no segment name, provide a numerical one
possible_seg_name=
- auto_seg_name(art_filename_auto,heading_num_is,:auto)
+ auto_seg_name(art_filename_auto,heading_num_is,dob.lv,:auto)
if @md.seg_names.is_a?(Array) \
and not @md.seg_names.include?(possible_seg_name)
dob.name=possible_seg_name
diff --git a/lib/sisu/v6/cgi_pgsql.rb b/lib/sisu/v6/cgi_pgsql.rb
index 8372bb70..38b5c09f 100644
--- a/lib/sisu/v6/cgi_pgsql.rb
+++ b/lib/sisu/v6/cgi_pgsql.rb
@@ -90,7 +90,7 @@ module SiSU_CGI_PgSQL
and @rc['search']['sisu']['db'] =~/\S+/
@rc['search']['sisu']['db']
else
- @env.path.stub_pwd #'sisu' #breaks if not present
+ @env.path.base_markup_dir_stub #'sisu' #breaks if not present
end
@name_of[:host_url_cgi]=%q{http://#{ENV['HTTP_HOST']}#{ENV['PATH_INFO']}}
@name_of[:host_url_docs]=%q{http://#{ENV['HTTP_HOST']}}
diff --git a/lib/sisu/v6/cgi_sqlite.rb b/lib/sisu/v6/cgi_sqlite.rb
index f64c3cf6..8cf01d3e 100644
--- a/lib/sisu/v6/cgi_sqlite.rb
+++ b/lib/sisu/v6/cgi_sqlite.rb
@@ -118,7 +118,7 @@ module SiSU_CGI_SQLite
output << header0 << header1 << header_desc << header2 << f1 << buttons1 << buttons2 << search_request << search_statement << search_statement_common << search_query1 << @common.pages << search_query2 << @common.tail << @common.main1 << f2 << f3 << dbi_connect << @common.main2 << @common.dir_structure << @common.main3
puts <<-WOK
generated sample search form: #{@cX.green}#{@cgi_file_name}#{@cX.off}
- default database name: #{@cX.green}#{Db[:name_prefix]}#{@env.path.stub_pwd}#{@cX.off} (#{@env.path.stub_pwd})
+ default database name: #{@cX.green}#{Db[:name_prefix]}#{@env.path.base_markup_dir_stub}#{@cX.off} (#{@env.path.base_markup_dir_stub})
cgi & db host on: #{@cX.blue}#{@env.url.webserv_base_cgi(@opt)}#{@cX.off}
to modify use: #{@cX.brown}sisu --db-sqlite --webserv-search='#{@env.url.webserv_base_cgi(@opt)}'#{@cX.off}
sisu output on: #{@cX.blue}#{@env.url.webserv_files_from_db(@opt)}#{@cX.off}
diff --git a/lib/sisu/v6/conf.rb b/lib/sisu/v6/conf.rb
index c2333191..b3a5375e 100644
--- a/lib/sisu/v6/conf.rb
+++ b/lib/sisu/v6/conf.rb
@@ -86,46 +86,81 @@ module SiSU_Initialize
def initialize(opt)
@opt=opt
@env=SiSU_Env::InfoEnv.new(@opt.fns)
- @suffix,@path={},{}
- @suffix[:rnc]='rnc'
- @suffix[:rng]='rng'
- @suffix[:xsd]='xsd'
- @path[:xml]= @env.path.output + '/_sisu/xml'
- @path[:xsd]= @env.path.output + '/_sisu/xml/xsd'
- @path[:rnc]= @env.path.output + '/_sisu/xml/rnc'
- @path[:rng]= @env.path.output + '/_sisu/xml/rng'
+ @suffix={
+ rnc: 'rnc',
+ rng: 'rng',
+ xsd: 'xsd',
+ }
+ @path={
+ xml: @env.path.output + '/_sisu/xml',
+ xsd: @env.path.output + '/_sisu/xml/xsd',
+ rnc: @env.path.output + '/_sisu/xml/rnc',
+ rng: @env.path.output + '/_sisu/xml/rng',
+ style: @env.path.output + '/' + @env.path.style,
+ }
@pwd,@home=Dir.pwd,@env.path.home
end
def make_homepage
- SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'invert','Make homepage','').colorize unless @opt.act[:quiet][:set]==:on
- SiSU_Env::CreateSite.new(@opt.cmd).homepage
+ SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ 'invert',
+ 'Make homepage',
+ ''
+ ).colorize unless @opt.act[:quiet][:set]==:on
+ SiSU_Env::CreateSite.new(@opt).homepage
end
def cp_local_images
- SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'invert','Copy images','').colorize unless @opt.act[:quiet][:set]==:on
- SiSU_Env::CreateSite.new(@opt.cmd).cp_local_images
- SiSU_Env::CreateSite.new(@opt.cmd).cp_webserver_images_local #this should not have been necessary
- SiSU_Env::CreateSite.new(@opt.cmd).cp_base_images #base images (nav etc.) used by all html
+ SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ 'invert',
+ 'Copy images',
+ ''
+ ).colorize unless @opt.act[:quiet][:set]==:on
+ SiSU_Env::CreateSite.new(@opt).cp_local_images
+ SiSU_Env::CreateSite.new(@opt).cp_webserver_images_local #this should not have been necessary
+ SiSU_Env::CreateSite.new(@opt).cp_base_images #base images (nav etc.) used by all html
end
def cp_external_images
- SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'invert','Copy external images','').colorize if @opt.act[:verbose_plus][:set]==:on
- SiSU_Env::CreateSite.new(@opt.cmd).cp_external_images
+ SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ 'invert',
+ 'Copy external images',
+ ''
+ ).colorize if @opt.act[:verbose_plus][:set]==:on
+ SiSU_Env::CreateSite.new(@opt).cp_external_images
end
def cp_webserver_images
- SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'invert','Copy webserver/output file images','').colorize unless @opt.act[:quiet][:set]==:on
- SiSU_Env::CreateSite.new(@opt.cmd).cp_webserver_images
+ SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ 'invert',
+ 'Copy webserver/output file images',
+ ''
+ ).colorize unless @opt.act[:quiet][:set]==:on
+ SiSU_Env::CreateSite.new(@opt).cp_webserver_images
end
def css
- SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'invert','Configuring CSSs','').colorize unless @opt.act[:quiet][:set]==:on
- SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ 'invert',
+ 'Configuring CSSs',
+ ''
+ ).colorize unless @opt.act[:quiet][:set]==:on
+ SiSU_Env::CreateSite.new(@opt).cp_css
end
def dtd
- SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'invert','Configuring DTDs','').colorize unless @opt.act[:quiet][:set]==:on
+ SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ 'invert',
+ 'Configuring DTDs',
+ ''
+ ).colorize unless @opt.act[:quiet][:set]==:on
@rxng=SiSU_Relaxng::RelaxNG.new
- @path.each { |d| FileUtils::mkdir_p(d[1]) unless FileTest.directory?(d[1]) }
+ @path.each { |d| FileUtils::mkdir_p(d[1]) \
+ unless FileTest.directory?(d[1]) }
#ugly code, sort later
if @rxng.methods.join =~/[^_]dtd_sax\b/
if @rxng.dtd_sax.length > 200
- dtd=File.new("#{@env.path.output}/#{@env.path.style}/#{@rxng.rng_name.output_sax}",'w')
+ dtd=File.new("#{@path[:style]}/#{@rxng.rng_name.output_sax}",'w')
dtd << @rxng.dtd_sax
dtd.close
else trang_rnc_model_output_sax
@@ -134,7 +169,7 @@ module SiSU_Initialize
end
if @rxng.methods.join =~/[^_]dtd_dom\b/
if @rxng.dtd_dom.length > 200
- dtd=File.new("#{@env.path.output}/#{@env.path.style}/#{@rxng.rng_name.output_dom}",'w')
+ dtd=File.new("#{@path[:style]}/#{@rxng.rng_name.output_dom}",'w')
dtd << @rxng.dtd_dom
dtd.close
else trang_rnc_model_output_dom
@@ -143,7 +178,7 @@ module SiSU_Initialize
end
if @rxng.methods.join =~/[^_]dtd_node\b/
if @rxng.dtd_node.length > 200
- dtd=File.new("#{@env.path.output}/#{@env.path.style}/#{@rxng.rng_name.input_node}",'w')
+ dtd=File.new("#{@path[:style]}/#{@rxng.rng_name.input_node}",'w')
dtd << @rxng.dtd_node
dtd.close
else trang_rnc_model_input_node
@@ -152,7 +187,7 @@ module SiSU_Initialize
end
if @rxng.methods.join =~/[^_]dtd_xhtml\b/
if @rxng.dtd_xhtml.length > 200
- dtd=File.new("#{@env.path.output}/#{@env.path.style}/#{@rxng.rng_name.output_xhtml}",'w')
+ dtd=File.new("#{@path[:style]}/#{@rxng.rng_name.output_xhtml}",'w')
dtd << @rxng.dtd_xhtml
dtd.close
else trang_rnc_model_output_xhtml
diff --git a/lib/sisu/v6/constants.rb b/lib/sisu/v6/constants.rb
index 53ed226a..87611bf9 100644
--- a/lib/sisu/v6/constants.rb
+++ b/lib/sisu/v6/constants.rb
@@ -237,6 +237,7 @@ Px={
po_hilite_o: '*{', po_hilite_c: '}*',
po_monospace_o: '#{', po_monospace_c: '}#',
lng_lst: SiSU_is[:language_list],
+ lng_lst_rgx: SiSU_is[:language_list_regex],
lv1: '*',
lv2: '=',
lv3: '=',
diff --git a/lib/sisu/v6/css.rb b/lib/sisu/v6/css.rb
index 81cb115b..b59458ee 100644
--- a/lib/sisu/v6/css.rb
+++ b/lib/sisu/v6/css.rb
@@ -104,6 +104,8 @@ module SiSU_Style
css_path.xml_sax
when 'xml_dom'
css_path.xml_dom
+ when 'xml_docbook'
+ css_path.xml_docbook
else
css_embed_content.html
end
@@ -150,6 +152,11 @@ module SiSU_Style
style << css.xml_dom
style.close
css_path.xml_dom
+ when 'xml_docbook'
+ style=File.new("#{css_pth}/#{@fn_css.xml_docbook}",'w')
+ style << css.xml_docbook
+ style.close
+ css_path.xml_docbook
end
end
end
@@ -1248,7 +1255,7 @@ WOK
}
li {
- background: url(../image/bullet_09.png) no-repeat 0px 6px;
+ background: url(../image_sys/bullet_09.png) no-repeat 0px 6px;
}
ul {
@@ -1273,7 +1280,7 @@ WOK
text-align: left;
}
li.doc {
- background: url(../image/bullet_09.png) no-repeat 0px 6px;
+ background: url(../image_sys/bullet_09.png) no-repeat 0px 6px;
padding-left: 16px;
margin-left: 10px;
margin-right: 0px;
@@ -1285,7 +1292,7 @@ WOK
color: #777777;
}
li.refcenter {
- background: url(../image/bullet_09.png) no-repeat 0px 6px;
+ background: url(../image_sys/bullet_09.png) no-repeat 0px 6px;
padding-left: 20px;
margin-left: 10%;
font-size: 9px;
@@ -3122,7 +3129,7 @@ WOK
br { display: block; }
WOK
end
- def docbook_xml #stylesheet for docbook
+ def xml_docbook #stylesheet for docbook
<<WOK
/* SiSU css docbook.xml default style */
book {
diff --git a/lib/sisu/v6/db_create.rb b/lib/sisu/v6/db_create.rb
index 01fc1935..a2e3e8c4 100644
--- a/lib/sisu/v6/db_create.rb
+++ b/lib/sisu/v6/db_create.rb
@@ -86,13 +86,13 @@ module SiSU_DbCreate
@env=SiSU_Env::InfoEnv.new(@opt.fns)
tell=(@sql_type==:sqlite) \
? SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'Create SQLite db tables in:',%{"#{@file}"})
- : SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'Create pgSQL db tables in:',%{"#{Db[:name_prefix]}#{@env.path.stub_pwd}"})
+ : SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'Create pgSQL db tables in:',%{"#{Db[:name_prefix]}#{@env.path.base_markup_dir_stub}"})
if (@opt.act[:verbose][:set]==:on \
|| @opt.act[:verbose_plus][:set]==:on \
|| @opt.act[:maintenance][:set]==:on)
tell.dark_grey_title_hi
end
- SiSU_Env::SystemCall.new.create_pg_db(@env.path.stub_pwd) if @sql_type==:pg #watch use of path.stub_pwd instead of stub
+ SiSU_Env::SystemCall.new.create_pg_db(@env.path.base_markup_dir_stub) if @sql_type==:pg #watch use of path.base_markup_dir_stub instead of stub
end
def output_dir?
dir=SiSU_Env::InfoEnv.new('')
diff --git a/lib/sisu/v6/embedded.rb b/lib/sisu/v6/embedded.rb
index 7a72cac0..cf294891 100644
--- a/lib/sisu/v6/embedded.rb
+++ b/lib/sisu/v6/embedded.rb
@@ -113,9 +113,9 @@ module SiSU_Embedded
def audio
#p @md.ec[:audio]
src="#{@base_src_dir}/_sisu/mm/audio"
- ldest="#{@env.path.webserv}/#{@env.path.stub_pwd}/_sisu/mm/audio"
+ ldest="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/mm/audio"
@rhost.each do |remote_conn|
- rdest="#{remote_conn[:name]}/#{@env.path.stub_pwd}/_sisu/mm/audio"
+ rdest="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/_sisu/mm/audio"
if (@md.opt.act[:verbose][:set]==:on \
|| @md.opt.act[:verbose_plus][:set]==:on \
|| @md.opt.act[:maintenance][:set]==:on \
@@ -133,9 +133,9 @@ module SiSU_Embedded
def multimedia
#p @md.ec[:multimedia]
src="#{@base_src_dir}/_sisu/mm/video"
- ldest="#{@env.path.webserv}/#{@env.path.stub_pwd}/_sisu/mm/video"
+ ldest="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/mm/video"
@rhost.each do |remote_conn|
- rdest="#{remote_conn[:name]}/#{@env.path.stub_pwd}/_sisu/mm/video"
+ rdest="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/_sisu/mm/video"
if (@md.opt.act[:verbose][:set]==:on \
|| @md.opt.act[:verbose_plus][:set]==:on \
|| @md.opt.act[:maintenance][:set]==:on \
diff --git a/lib/sisu/v6/harvest.rb b/lib/sisu/v6/harvest.rb
index 9dfc34d2..be0efe1a 100644
--- a/lib/sisu/v6/harvest.rb
+++ b/lib/sisu/v6/harvest.rb
@@ -81,7 +81,7 @@ module SiSU_Harvest
cases(@opt,@env)
rescue
ensure
- SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ SiSU_Env::CreateSite.new(@opt).cp_css
end
end
def help
diff --git a/lib/sisu/v6/html.rb b/lib/sisu/v6/html.rb
index 8c9869e2..789f2b1c 100644
--- a/lib/sisu/v6/html.rb
+++ b/lib/sisu/v6/html.rb
@@ -89,7 +89,8 @@ module SiSU_HTML
begin
songsheet
ensure
- SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ SiSU_Env::CreateSite.new(@opt).cp_css
+ SiSU_Env::CreateSite.new(@opt).cp_base_images
end
end
def songsheet
@@ -176,7 +177,7 @@ module SiSU_HTML
@links_guide_toc=[]
def initialize(data,md)
@data,@md=data,md
- @links_guide_=SiSU_Env::CreateSite.new(@md.opt.cmd).html_quick_ref?
+ @links_guide_=SiSU_Env::CreateSite.new(@md.opt).html_quick_ref?
end
def toc
@links_guide_toc=[]
diff --git a/lib/sisu/v6/html_concordance.rb b/lib/sisu/v6/html_concordance.rb
index b94949b9..5747deea 100644
--- a/lib/sisu/v6/html_concordance.rb
+++ b/lib/sisu/v6/html_concordance.rb
@@ -108,7 +108,7 @@ module SiSU_Concordance
__LINE__.to_s + ':' + __FILE__
end
ensure
- SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ SiSU_Env::CreateSite.new(@opt).cp_css
end
end
private
diff --git a/lib/sisu/v6/html_segments.rb b/lib/sisu/v6/html_segments.rb
index 0586cdf6..0ba5f688 100644
--- a/lib/sisu/v6/html_segments.rb
+++ b/lib/sisu/v6/html_segments.rb
@@ -68,7 +68,7 @@ module SiSU_HTML_Seg
class Output
def initialize(md,outputfile,seg,minitoc,type='')
@md,@output_seg_file,@seg,@minitoc,@type=md,outputfile,seg,minitoc,type
- @title_banner_=SiSU_Env::CreateSite.new(@md.opt.cmd).html_seg_title_banner?
+ @title_banner_=SiSU_Env::CreateSite.new(@md.opt).html_seg_title_banner?
@file=SiSU_Env::FileOp.new(@md)
@make=SiSU_Env::ProcessingSettings.new(@md)
@cl=(@make.build.html_minitoc?) \
@@ -166,7 +166,7 @@ module SiSU_HTML_Seg
else @cl='content'
end
if @md
- @title_banner_=SiSU_Env::CreateSite.new(@md.opt.cmd).html_seg_title_banner?
+ @title_banner_=SiSU_Env::CreateSite.new(@md.opt).html_seg_title_banner?
end
end
def songsheet
diff --git a/lib/sisu/v6/hub.rb b/lib/sisu/v6/hub.rb
index 94d0eb8e..7508dcbc 100644
--- a/lib/sisu/v6/hub.rb
+++ b/lib/sisu/v6/hub.rb
@@ -79,10 +79,9 @@ module SiSU
error('uri NOT FOUND (LoadError)')
end
class HubMaster
- def initialize(argv)
- pwd_the=Dir.pwd
+ def initialize(argv,call_path)
begin #% select what to do (set options & start processing (files selected if any))
- opt=SiSU_Commandline::Options.new(argv) # command line selection of what to do, files & operations set
+ opt=SiSU_Commandline::Options.new(argv,call_path) # command line selection of what to do, files & operations set
SiSU::Processing.new(opt).actions # do it
rescue
cmd=(opt ? opt.cmd : '')
@@ -90,7 +89,7 @@ module SiSU
__LINE__.to_s + ':' + __FILE__
end
ensure
- Dir.chdir(pwd_the)
+ Dir.chdir(call_path)
end
end
end
diff --git a/lib/sisu/v6/manifest.rb b/lib/sisu/v6/manifest.rb
index 27b90eda..7f90636b 100644
--- a/lib/sisu/v6/manifest.rb
+++ b/lib/sisu/v6/manifest.rb
@@ -106,7 +106,7 @@ module SiSU_Manifest
__LINE__.to_s + ':' + __FILE__
end
ensure
- SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ SiSU_Env::CreateSite.new(@opt).cp_css
end
end
private
diff --git a/lib/sisu/v6/options.rb b/lib/sisu/v6/options.rb
index e181ee8e..104243a3 100644
--- a/lib/sisu/v6/options.rb
+++ b/lib/sisu/v6/options.rb
@@ -69,7 +69,6 @@ module SiSU_Commandline
end
require_relative 'sysenv' # sysenv.rb
require_relative 'param_make' # param_make.rb
- @@sisu_call_origin_path=nil
class HeaderCommon
def sisu_document_make_instructions
@pagenew=
@@ -155,21 +154,20 @@ module SiSU_Commandline
end
end
class Options
- attr_accessor :cmd,:mod,:act,:dir_structure_by,:lingual,:f_pths,:files,:files_mod,:base_path,:base_stub,:sub_location,:paths,:lngs,:f_pth,:pth,:fno,:fns,:fnb,:fnc,:fng,:fncb,:lng,:lng_base,:what,:make_instructions,:make_instructions_pod
+ attr_accessor :cmd,:mod,:act,:dir_structure_by,:lingual,:f_pths,:files,:files_mod,:call_path,:base_path,:base_stub,:sub_location,:image_src_path,:paths,:lngs,:f_pth,:pth,:fno,:fns,:fnb,:fnc,:fng,:fncb,:lng,:lng_base,:what,:make_instructions,:make_instructions_pod
@@act=nil
- def initialize(a)
- @cmd,@f_pth,@pth,@fno,@fns,@fnb,@fnc,@fng,@fncb,@what,@lng,@lng_base,@base_path,@base_stub,@sub_location=
- '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''
+ def initialize(a,call_path)
+ @cmd=@f_pth=@pth=@fno=@fns=@fnb=@fnc=@fng=@fncb=@what=@lng=@lng_base=@call_path=@base_path=@base_stub=@image_src_path=@sub_location=''
@f_pths,@files,@files_mod,@paths,@mod,@act=Array.new(5){[]}
@env=SiSU_Env::InfoEnv.new
@lng_base=@env.language_default_set
@dir_structure_by=SiSU_Env::EnvCall.new.output_dir_structure.by?
@lingual=SiSU_Env::EnvCall.new.mono_multi_lingual?
- @@sisu_call_origin_path ||=Dir.pwd
- @base_path=@@sisu_call_origin_path
- r=Px[:lng_lst_rgx]
- u=/.+?\/([^\/]+)(?:\/(?:#{r})$|$)/
- @base_stub=@base_path.gsub(u,'\1')
+ @call_path=call_path
+ pth=SiSU_Utils::Path.new(call_path)
+ @base_path=pth.base_markup
+ @base_stub=pth.base_markup_stub
+ @image_src_path=pth.image_src
@a=sisu_glob_rules(a)
@a.freeze
@make_instructions=HeaderCommon.new.sisu_document_make_instructions
diff --git a/lib/sisu/v6/param.rb b/lib/sisu/v6/param.rb
index bacee802..a39ff215 100644
--- a/lib/sisu/v6/param.rb
+++ b/lib/sisu/v6/param.rb
@@ -118,10 +118,6 @@ module SiSU_Param
# you may need to change Dir.pwd to @opt.f_pth[:pth] where the latter
# has a path value that is different, however, f_pth is not always set!
Dir.chdir(@opt.f_pth[:pth])
- SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).
- error('-- bug alert --')
- p 'f_pth ' + @opt.f_pth[:pth]
- p 'pwd ' + Dir.pwd
end
if @@fns !=@fns \
or @@pth !=Dir.pwd #@opt.f_pth[:pth]
diff --git a/lib/sisu/v6/shared_markup_alt.rb b/lib/sisu/v6/shared_markup_alt.rb
index 3bf3c7e4..1586f0c2 100644
--- a/lib/sisu/v6/shared_markup_alt.rb
+++ b/lib/sisu/v6/shared_markup_alt.rb
@@ -279,7 +279,12 @@ module SiSU_TextRepresentation
elsif FileTest.file?("#{@env.path.image_source_include}/#{i}")
@env.path.image_source_include
else
- SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set],"ERROR - image:", %{"#{i}" missing}, "search locations: #{@env.path.image_source_include_local}, #{@env.path.image_source_include_remote} and #{@env.path.image_source_include}").error2 unless @md.opt.act[:quiet][:set]==:on
+ SiSU_Screen::Ansi.new(
+ @md.opt.act[:color_state][:set],
+ "ERROR - image:",
+ %{"#{i}" missing},
+ "search locations: #{@env.path.image_source_include_local}, #{@env.path.image_source_include_remote} and #{@env.path.image_source_include}"
+ ).error2 unless @md.opt.act[:quiet][:set]==:on
nil
end
img_type = /\S+\.(png|jpg|gif)/.match(i)[1]
diff --git a/lib/sisu/v6/src_share.rb b/lib/sisu/v6/src_share.rb
index f2454550..a94a1a8c 100644
--- a/lib/sisu/v6/src_share.rb
+++ b/lib/sisu/v6/src_share.rb
@@ -75,11 +75,20 @@ module SiSU_Markup
(@opt.act[:verbose][:set]==:on \
|| @opt.act[:verbose_plus][:set]==:on \
|| @opt.act[:maintenance][:set]==:on) \
- ? SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'Share document markup text source',@opt.fns).cyan_hi_blue
- : SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],'Share document markup text source',@opt.fns).cyan_title_hi
+ ? SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ 'Share document markup text source',
+ @opt.fns
+ ).cyan_hi_blue
+ : SiSU_Screen::Ansi.new(
+ @opt.act[:color_state][:set],
+ 'Share document markup text source',
+ @opt.fns
+ ).cyan_title_hi
end
if FileTest.directory?(@path_pod[:fnb])
- FileUtils::mkdir_p(@file.output_path.src.dir) unless FileTest.directory?(@file.output_path.src.dir)
+ FileUtils::mkdir_p(@file.output_path.src.dir) \
+ unless FileTest.directory?(@file.output_path.src.dir)
v=(@opt.act[:maintenance][:set]==:on) \
? 'v' : ''
system(%{
diff --git a/lib/sisu/v6/src_shared.rb b/lib/sisu/v6/src_shared.rb
index cee7e1c5..514e0458 100644
--- a/lib/sisu/v6/src_shared.rb
+++ b/lib/sisu/v6/src_shared.rb
@@ -157,9 +157,7 @@ module SiSU_Source
images.delete_if {|x| x =~/https?:\/\// }
#images=images.sort
FileUtils::mkdir_p(@path_pod[:image])
- #unattractive hard coding ... !
- image_path='_sisu/image'
- images_pwd="#{@opt.base_path}/#{image_path}"
+ images_pwd=@opt.image_src_path
##sequence copies base images, defaults used in all html outputs
#image_source_base='/usr/share/sisu/image'
#dir_pwd=Dir.pwd
@@ -245,7 +243,7 @@ module SiSU_Source
%{\t*WARN* did not find - "#{@opt.base_path}#{doc_import_dir}/#{f[:f]}" [#{__FILE__}:#{__LINE__}]}
end
else
- if FileTest.file?("#{@opt.base_path}/#{f[:f]}")
+ if FileTest.file?("#{@opt.base_path}#{doc_import_dir}/#{f[:f]}")
cpy= :no
cpy=if f[:f] =~ /^#{@opt.f_pth[:lng_is]}\// \
or f[:f] =~ /~#{@opt.f_pth[:lng_is]}\.sst/
@@ -256,12 +254,12 @@ module SiSU_Source
else :no
end
if cpy == :yes
- FileUtils::cp("#{@opt.base_path}/#{f[:f]}",
+ FileUtils::cp("#{@opt.base_path}#{doc_import_dir}/#{f[:f]}",
"#{@path_pod[:doc]}/#{f[:n]}")
end
else
STDERR.puts \
- %{\t*WARN* did not find - "#{@opt.base_path}/#{f[:f]}" [#{__FILE__}:#{__LINE__}]}
+ %{\t*WARN* did not find - "#{@opt.base_path}#{doc_import_dir}/#{f[:f]}" [#{__FILE__}:#{__LINE__}]}
end
end
end
@@ -272,9 +270,11 @@ module SiSU_Source
SiSU_Env::InfoEnv.new.sisupod_v4(@opt)
end
def ssm_doc_import_list(f)
- if @opt.fno =~/\.ssm$/
+ if @opt.fno =~/\.ss[mi]$/
doc_import_list=[]
- doc_import_list << f.scan(@rgx_doc_import) if f =~@rgx_doc_import
+ if f =~@rgx_doc_import
+ doc_import_list << f.scan(@rgx_doc_import)
+ end
doc_import_list.flatten.each do |i|
if i =~/.ssi/
file_array=IO.readlines(i,'')
@@ -286,11 +286,11 @@ module SiSU_Source
end
def pod_source_build(file_array)
@pwd=Dir.pwd
- @rgx_doc_import_list=/^<<\s*(\S+?\.ss[ti])/
+ @rgx_doc_import=/^<<\s*(\S+?\.ss[ti])/
doc_import_list=[]
file_array.each do |f| #% work area
if f !~/^%+\s/
- if @opt.fno =~/\.ssm$/
+ if @opt.fno =~/\.ss[mi]$/
@doc_import_list << ssm_doc_import_list(f)
doc_import_list=@doc_import_list.flatten.uniq
end
diff --git a/lib/sisu/v6/sst_convert_markup.rb b/lib/sisu/v6/sst_convert_markup.rb
index 0b749fc5..8d523d0f 100644
--- a/lib/sisu/v6/sst_convert_markup.rb
+++ b/lib/sisu/v6/sst_convert_markup.rb
@@ -313,7 +313,8 @@ end
#%% files to match for this conversion set ------------------------->
require_relative 'options' # options.rb
argv=$*
-@opt=SiSU_Commandline::Options.new(argv)
+base_path=Dir.pwd
+@opt=SiSU_Commandline::Options.new(argv,base_path)
case @opt.mod.inspect
when /=kdi/
SiSU_Modify::ConvertMarkup.new(@opt).conversion
diff --git a/lib/sisu/v6/sysenv.rb b/lib/sisu/v6/sysenv.rb
index 3c774c46..72aaf2b9 100644
--- a/lib/sisu/v6/sysenv.rb
+++ b/lib/sisu/v6/sysenv.rb
@@ -116,13 +116,13 @@ module SiSU_Env
share=Config::CONFIG['datadir'] + '/sisu'
data=Config::CONFIG['datadir'] + '/doc/sisu'
m=/.+\/(?:src\/)?(\S+)/m # m=/.+?\/(?:src\/)?([^\/]+)$/im # m=/.+\/(\S+)/m
- @stub_pwd ||=@@pwd[m,1]
+ @base_markup_dir_stub=SiSU_Utils::Path.new.base_markup_stub
prcss_dir='_sisu_processing_' + '.' + SiSU_is[:version_dir]
prcss_dir_tmp_root="/tmp/#{prcss_dir}"
- prcss_dir_stub="#{prcss_dir}/#{@stub_pwd}"
+ prcss_dir_stub="#{prcss_dir}/#{@base_markup_dir_stub}"
if @@user
- tmp_processing="#{prcss_dir_tmp_root}/#{@@user}/#{@stub_pwd}"
- tmp_processing_individual="#{prcss_dir_tmp_root}/#{@@user}/#{@stub_pwd}"
+ tmp_processing="#{prcss_dir_tmp_root}/#{@@user}/#{@base_markup_dir_stub}"
+ tmp_processing_individual="#{prcss_dir_tmp_root}/#{@@user}/#{@base_markup_dir_stub}"
else #error
tmp_processing=tmp_processing_individual="/tmp/#{prcss_dir_stub}"
end
@@ -1096,7 +1096,7 @@ module SiSU_Env
rescue LoadError
SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('pathname or fileutils NOT FOUND (LoadError)')
end
- attr_accessor :filename,:sys,:home,:hostname,:user,:env,:rc,:www,:fnb,:fnn,:fnt,:flv,:webserv_path,:stub_pwd,:stub_src,:webserv_host_cgi,:webserv_port_cgi,:processing,:processing_git,:etc,:yamlrc_dir
+ attr_accessor :filename,:sys,:home,:hostname,:user,:env,:rc,:www,:fnb,:fnn,:fnt,:flv,:webserv_path,:base_markup_dir_stub,:stub_src,:webserv_host_cgi,:webserv_port_cgi,:processing,:processing_git,:etc,:yamlrc_dir
@@image_flag,@@local_image=true,true #warning on @@image_flag
@@fb,@@man_path=nil,nil
def initialize(fns='',md=nil)
@@ -1121,11 +1121,10 @@ module SiSU_Env
@fnb ||=@@fb #clean up this... used primarily for zap which is not passed normal parameters
@fixed_websev_root='' # @home
@pwd=@@pwd=Dir.pwd
- m=/.+\/(?:src\/)?(\S+)/m # m=/.+?\/(?:src\/)?([^\/]+)$/im # m=/.+\/(\S+)/m
- @stub_pwd=@@pwd[m,1] || '' #; p __LINE__; #p @pwd; #p m; #p @stub_pwd
- @stub_src= @stub_pwd + '/src'
- @stub_pod= @stub_pwd + '/pod'
- @stub_epub= @stub_pwd + '/epub'
+ @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'
pt=Pathname.new(Dir.pwd)
stub=if output_dir_structure.by_language_code?
r=Px[:lng_lst_rgx]
@@ -1206,8 +1205,8 @@ module SiSU_Env
@@current_document||=Dir.pwd
@@current_document
end
- def stub_pwd #200412
- @stub_pwd
+ def base_markup_dir_stub #200412
+ @base_markup_dir_stub
end
def stub_md_harvest #watch
@stub_set_manifest
@@ -2062,8 +2061,8 @@ WOK
def pwd
@sys.pwd
end
- def stub_pwd
- @stub_pwd
+ def base_markup_dir_stub
+ @base_markup_dir_stub
end
def stub_epub
@stub_epub
@@ -2149,10 +2148,11 @@ WOK
end
def webserv_stub_ensure
FileUtils::mkdir_p(path.webserv) unless FileTest.directory?(path.webserv)
- FileUtils::mkdir_p("#{path.webserv}/#{@stub_pwd}") unless FileTest.directory?("#{path.webserv}/#{@stub_pwd}")
+ 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}/#{stub_pwd}"
+ "#{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]
@@ -2288,13 +2288,13 @@ WOK
end
def stub_dir
(usr_dir?) \
- ? ("#{root_dir}/#{user}/#{stub_pwd}")
- : ("#{root_dir}/#{stub_pwd}") # see defaults[:processing_path]
+ ? ("#{root_dir}/#{user}/#{base_markup_dir_stub}")
+ : ("#{root_dir}/#{base_markup_dir_stub}") # 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]
+ ? ("#{root_dir}/#{user}/#{base_markup_dir_stub}")
+ : ("#{root_dir}/#{base_markup_dir_stub}") # 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
@@ -2504,21 +2504,21 @@ WOK
"http://#{@sys.hostname}"
end
def dir_url
- "file://#{path.webserv}/#{stub_pwd}"
+ "file://#{path.webserv}/#{base_markup_dir_stub}"
end
def localhost
- "http://localhost/#{stub_pwd}"
+ "http://localhost/#{base_markup_dir_stub}"
end
def local
- "http://#{hostname}/#{@stub_pwd}"
+ "http://#{hostname}/#{@base_markup_dir_stub}"
end
def root
if defined? @rc['webserv']['url_root'] \
and @rc['webserv']['url_root'] =~/https?:\/\//
- "#{@rc['webserv']['url_root']}/#{@stub_pwd}"
+ "#{@rc['webserv']['url_root']}/#{@base_markup_dir_stub}"
elsif defined? @rc['webserv']['url_root'] \
and @rc['webserv']['url_root'] =~/localhost/
- "http://localhost/#{@stub_pwd}"
+ "http://localhost/#{@base_markup_dir_stub}"
else "file://#{path.output}"
end
end
@@ -2567,14 +2567,14 @@ WOK
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}"
+ "#{http}#{@rc['webserv_cgi']['host']}:#{port.webserv_port_cgi}/#{@base_markup_dir_stub}"
+ else "#{http}#{@rc['webserv_cgi']['host']}/#{@base_markup_dir_stub}"
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}"
+ "#{http}#{webserv_host_base}:#{port.webserv_port_cgi(opt)}/#{@base_markup_dir_stub}"
+ else "#{http}#{webserv_host_base}/#{@base_markup_dir_stub}"
end
end
http=http.strip
@@ -2622,7 +2622,7 @@ WOK
@rc['webserv']['url_root']
elsif path.webserv_dir \
and path.webserv =~ /#{path.webserv_dir}/ #revisit
- "#{path.webserv}/#{@stub_pwd}".gsub(/#{path.webserv_dir}/,"#{url.hostname}/#{@stub_pwd}")
+ "#{path.webserv}/#{@base_markup_dir_stub}".gsub(/#{path.webserv_dir}/,"#{url.hostname}/#{@base_markup_dir_stub}")
elsif defined? @rc['webserv']['webrick_url'] \
and @rc['webserv']['webrick_url']==false
"file://#{path.webserv}"
@@ -2635,7 +2635,7 @@ WOK
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}")
+ "#{path.webserv}/#{@base_markup_dir_stub}".gsub(/#{path.webserv_dir}/,"#{url.hostname}")
elsif defined? @rc['webserv']['webrick_url'] \
and @rc['webserv']['webrick_url']==false
"file://#{path.webserv}"
@@ -2696,8 +2696,8 @@ WOK
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 /^local(:\d+)/ then url.hostname + $1 + '/' + base_markup_dir_stub
+ when /^localhost(:\d+)/ then url.localhost + $1 + '/' + base_markup_dir_stub
when /^localhost/ then url.localhost
when /^webrick/ then url.webrick
when /^path/ then url.webserv_map_pwd
@@ -2716,7 +2716,11 @@ WOK
else
if @@local_image==true
cmd=@cmd ? @cmd : ''
- SiSU_Screen::Ansi.new(cmd,"WARNING - no local image directory or images:", defaults[:image_local] ).warn unless cmd =~/q/
+ SiSU_Screen::Ansi.new(
+ cmd,
+ "WARNING - no local image directory or images:",
+ defaults[:image_local]
+ ).warn unless cmd =~/q/
@@local_image=false
end
url.images
@@ -2726,15 +2730,21 @@ WOK
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
+ pth="#{path.webserv}/#{@base_markup_dir_stub}"
+ 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 @cmd =~/q/
+ SiSU_Screen::Ansi.new(
+ @cmd,
+ "WARNING - image directory for external images or no such images:",
+ :image_external
+ ).warn unless @cmd =~/q/
@@local_image=false
end
url.images_external
@@ -3497,9 +3507,9 @@ WOK
self.remote_host_base.each do |remote_conn|
local_gen=@source_path
remote_gen=case @opt.cmd
- when /u/ then "#{remote_conn[:name]}/#{@env.path.stub_pwd}/." #creates remote directory tree, this is not the usual function of u
- when /[abhHNopwxXy]/ then "#{remote_conn[:name]}/#{@env.path.stub_pwd}/#{@fnb}/."
- else "#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ when /u/ then "#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/." #creates remote directory tree, this is not the usual function of u
+ when /[abhHNopwxXy]/ then "#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/#{@fnb}/."
+ else "#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/."
end
local_epub=@source_path_epub
local_src=@source_path_src
@@ -3544,7 +3554,7 @@ WOK
def site_base #base site
self.remote_host_base.each do |remote_conn|
local=@source_path
- remote="#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ remote="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/."
if defined? @rc['permission_set']['remote_base_site'] \
and @rc['permission_set']['remote_base_site'] \
and @@flag_remote==true \
@@ -3562,7 +3572,7 @@ WOK
def site_base_all #base site
self.remote_host_base.each do |remote_conn|
local=@source_path
- remote="#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ remote="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/."
if defined? @rc['permission_set']['remote_base_site'] \
and @rc['permission_set']['remote_base_site'] \
and @@flag_remote==true \
@@ -3591,9 +3601,9 @@ WOK
if f
self.remote_host_base.each do |remote_conn|
local_gen=@source_path
- #local_gen_image="#{@env.path.webserv}/#{@env.path.stub_pwd}/_sisu/image"
- #local_gen_image_external="#{@env.path.webserv}/#{@env.path.stub_pwd}/_sisu/image_external"
- remote_gen="#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ #local_gen_image="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image"
+ #local_gen_image_external="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image_external"
+ remote_gen="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/."
remote_rel=remote_conn[:name] + '/' + f.output_path.stub.rcp
@opt.fnc
if (local_gen =~/\S/ \
@@ -3748,7 +3758,7 @@ WOK
def site_harvest
self.remote_host_base.each do |remote_conn|
local=@source_path_harvest
- l_rel="#{@env.path.webserv}/#{@env.path.stub_pwd}"
+ l_rel="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}"
lng='en'
if @env.output_dir_structure.by? == :language
ldest="#{lng}/manifest"
@@ -3774,10 +3784,10 @@ WOK
end
def site_base #base site
ldest='_sisu/*'
- l_rel="#{@env.path.webserv}/#{@env.path.stub_pwd}"
+ l_rel="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}"
image_sys="#{@env.path.webserv}/_sisu/image_sys"
self.remote_host_base.each do |remote_conn|
- remote="#{remote_conn[:name]}/#{@env.path.stub_pwd}"
+ remote="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}"
remote_conf="#{remote_conn[:name]}/_sisu"
SiSU_Env::SystemCall.new(image_sys,remote_conf).rsync
SiSU_Env::SystemCall.new(ldest,remote).rsync('--relative',l_rel)
@@ -3786,7 +3796,7 @@ WOK
def site_base_sync
self.remote_host_base.each do |remote_conn|
local=@source_path
- remote="#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ remote="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/."
if defined? @rc['permission_set']['remote_base_site'] \
and @rc['permission_set']['remote_base_site'] \
and @@flag_remote==true \
@@ -3811,7 +3821,7 @@ WOK
def rsync_sitemaps #sitemap directory
self.remote_host_base.each do |remote_conn|
local="#{@source_path}/sitemapindex.xml"
- remote="#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ remote="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/."
if @@flag_remote
delete_extra_files='--delete' # '--delete-after'
SiSU_Env::SystemCall.new(local,remote).rsync(delete_extra_files)
@@ -6315,7 +6325,7 @@ WOK
end
def xml_docbook
def ft
- 'docbook' + DEVELOPER[:under_construction]
+ 'docbook'
end
def dir
set_path(ft).dir.abc
@@ -6363,7 +6373,7 @@ WOK
end
def xml_docbook_book
def ft
- 'docbook' + DEVELOPER[:under_construction]
+ 'docbook'
end
def dir
set_path(ft).dir.abc
@@ -6912,7 +6922,7 @@ WOK
def xml_dom
'dom.css'
end
- def docbook_xml
+ def xml_docbook
'docbook.css'
end
def homepage
@@ -6931,8 +6941,8 @@ WOK
if @md.doc_css \
and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_html.css")
"#{@md.doc_css}_html.css"
- elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.stub_pwd}_html.css")
- "#{@env.path.stub_pwd}_html.css"
+ elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_html.css")
+ "#{@env.path.base_markup_dir_stub}_html.css"
else
SiSU_Env::CSS_Default.new.html
end
@@ -6941,8 +6951,8 @@ WOK
if @md.doc_css \
and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_html_tables.css")
"#{@md.doc_css}_html_tables.css"
- elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.stub_pwd}_html_tables.css")
- "#{@env.path.stub_pwd}_html_tables.css"
+ elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_html_tables.css")
+ "#{@env.path.base_markup_dir_stub}_html_tables.css"
else SiSU_Env::CSS_Default.new.html_tables
end
end
@@ -6950,8 +6960,8 @@ WOK
if @md.doc_css \
and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_xhtml.css")
"#{@md.doc_css}_xhtml.css"
- elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.stub_pwd}_xhtml.css")
- "#{@env.path.stub_pwd}_xhtml.css"
+ elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_xhtml.css")
+ "#{@env.path.base_markup_dir_stub}_xhtml.css"
else SiSU_Env::CSS_Default.new.xhtml
end
end
@@ -6959,8 +6969,8 @@ WOK
if @md.doc_css \
and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_xml_sax.css")
"#{@md.doc_css}_xml_sax.css"
- elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.stub_pwd}_xml_sax.css")
- "#{@env.path.stub_pwd}_xml_sax.css"
+ elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_xml_sax.css")
+ "#{@env.path.base_markup_dir_stub}_xml_sax.css"
else SiSU_Env::CSS_Default.new.xml_sax
end
end
@@ -6968,26 +6978,26 @@ WOK
if @md.doc_css \
and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_xml_dom.css")
"#{@md.doc_css}_xml_dom.css"
- elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.stub_pwd}_xml_dom.css")
- "#{@env.path.stub_pwd}_xml_dom.css"
+ elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_xml_dom.css")
+ "#{@env.path.base_markup_dir_stub}_xml_dom.css"
else SiSU_Env::CSS_Default.new.xml_dom
end
end
- def docbook_xml
+ def xml_docbook
if @md.doc_css \
and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_docbook.css")
"#{@md.doc_css}_xml_dom.css"
- elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.stub_pwd}_docbook.css")
- "#{@env.path.stub_pwd}_docbook.css"
- else SiSU_Env::CSS_Default.new.docbook_xml
+ elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_docbook.css")
+ "#{@env.path.base_markup_dir_stub}_docbook.css"
+ else SiSU_Env::CSS_Default.new.xml_docbook
end
end
def homepage
if @md.doc_css \
and FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@md.doc_css}_homepage.css")
"#{@md.doc_css}_homepage.css"
- elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.stub_pwd}_homepage.css")
- "#{@env.path.stub_pwd}_homepage.css"
+ elsif FileTest.file?("#{@env.path.output}/#{@env.path.style}/#{@env.path.base_markup_dir_stub}_homepage.css")
+ "#{@env.path.base_markup_dir_stub}_homepage.css"
else SiSU_Env::CSS_Default.new.homepage
end
end
@@ -7029,12 +7039,16 @@ WOK
stylesheet="#{@file.path_rel_links.xml_css}#{@env.path.style}/#{@css.xml_dom}"
%{<?xml-stylesheet type="text/css" href="#{stylesheet}"?>}
end
+ def xml_docbook
+ stylesheet="#{@file.path_rel_links.xml_css}#{@env.path.style}/#{@css.xml_docbook}"
+ %{<?xml-stylesheet type="text/css" href="#{stylesheet}"?>}
+ end
end
class CreateSite < InfoEnv
require_relative 'css' # css.rb
include SiSU_Style
- def initialize(cmd)
- @cmd=cmd
+ def initialize(opt)
+ @opt=opt
@env=SiSU_Env::InfoEnv.new
@init=SiSU_Env::GetInit.new
@home,@pwd=ENV['HOME'],ENV['PWD'] #@pwd=Dir.pwd
@@ -7047,8 +7061,8 @@ WOK
puts %{ place your homepages in directory:\n "#{@env.path.rc}/home/*.html"\n (no action taken)}
else
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.stub_pwd}/index.html"
- filename_home_toc="#{@env.path.webserv}/#{@env.path.stub_pwd}/toc.html"
+ 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 << @vz_home.homepage
@@ -7059,10 +7073,10 @@ WOK
end
def homepage
home_pages_manually_created=Dir.glob("#{@env.path.rc}/home/*.html")
- FileUtils::mkdir_p("#{@env.path.webserv}/#{@env.path.stub_pwd}") unless FileTest.directory?("#{@env.path.webserv}/#{@env.path.stub_pwd}")
+ 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.stub_pwd}")
+ FileUtils.cp(homepage,"#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}")
end
else
create_default_sisu_homepage(:none)
@@ -7088,12 +7102,12 @@ WOK
end
def cp_local_images
src="#{@pwd}/_sisu/image"
- dest="#{@env.path.webserv}/#{@env.path.stub_pwd}/_sisu/image"
+ dest="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image"
cp_images(src,dest) if FileTest.directory?(src)
end
def cp_external_images
src="#{@env.processing_path.processing}/external_document/image"
- dest="#{@env.path.webserv}/#{@env.path.stub_pwd}/_sisu/image_external"
+ 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
@@ -7102,7 +7116,7 @@ WOK
src=@env.path.image_source
dest_arr=[
"#{@env.path.webserv}/_sisu/image",
- "#{@env.path.webserv}/#{@env.path.stub_pwd}/_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)
@@ -7110,25 +7124,30 @@ WOK
end
def cp_webserver_images_local #this should not have been necessary
src=@env.path.image_source
- dest="#{@env.path.webserv}/#{@env.path.stub_pwd}/_sisu/image"
+ dest="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/image"
cp_images(src,dest) if FileTest.directory?(src)
end
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.stub_pwd}/_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
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
+ 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(@cmd,"*WARN* modify is css set to: #{@rc['permission_set']['css_modify']}").warn if @cmd=~/[MV]/
+ SiSU_Screen::Ansi.new(@opt.cmd,"*WARN* modify is css set to: #{@rc['permission_set']['css_modify']}").warn if @opt.cmd=~/[MV]/
css_path.each do |x|
if FileTest.directory?(x)
FileUtils::cd(x)
@@ -7142,53 +7161,64 @@ WOK
FileUtils::cd(@pwd)
end
end
- else SiSU_Screen::Ansi.new(@cmd,"*WARN* modify css is not set or is set to: false").warn if @cmd=~/[MV]/
+ else
+ SiSU_Screen::Ansi.new(
+ @opt.cmd,
+ "*WARN* modify css is not set or is set to: false"
+ ).warn if @opt.cmd=~/[MV]/
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 @cmd =~/C/ \
+ if @opt.cmd =~/C/ \
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 @cmd =~/C/ \
+ if @opt.cmd =~/C/ \
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 @cmd =~/C/ \
+ if @opt.cmd =~/C/ \
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 @cmd =~/C/ \
+ if @opt.cmd =~/C/ \
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 @cmd =~/C/ \
- or (@cmd =~/[x]/ \
- and not FileTest.file?("#{path_style}/#{fn_css.xml_sax}"))
+ if @opt.cmd =~/C/ \
+ or (@opt.cmd =~/[x]/ \
+ 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 @cmd =~/C/ \
- or (@cmd =~/[X]/ \
- and not FileTest.file?("#{path_style}/#{fn_css.xml_dom}"))
+ if @opt.cmd =~/C/ \
+ or (@opt.cmd =~/[X]/ \
+ 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 @cmd =~/C/ \
- or (@cmd =~/[b]/ \
- and not FileTest.file?("#{path_style}/#{fn_css.xhtml}"))
+ if @opt.cmd =~/C/ \
+ 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.cmd =~/C/ \
+ or (@opt.cmd =~/[b]/ \
+ and not FileTest.file?("#{path_style}/#{fn_css.xhtml}"))
style=File.new("#{path_style}/#{fn_css.xhtml}",'w')
style << css.xhtml
style.close
diff --git a/lib/sisu/v6/utils.rb b/lib/sisu/v6/utils.rb
index 5879db27..4e7cb6e3 100644
--- a/lib/sisu/v6/utils.rb
+++ b/lib/sisu/v6/utils.rb
@@ -174,8 +174,22 @@ module SiSU_Utils
def initialize(dir=Dir.pwd)
@dir=dir
end
- def base_markup
- (/(\S+?)(?:\/(?:#{Px[:lng_lst_rgx]}))?$/).match(Dir.pwd)[1]
+ def base_markup(call_path=nil)
+ call_path = call_path \
+ ? call_path \
+ : Dir.pwd
+ (/(\S+?)(?:\/(?:#{Px[:lng_lst_rgx]}))?$/).match(call_path)[1]
+ end
+ def base_markup_stub
+ m=/.+\/(?:src\/)?(\S+)/im
+ base_markup[m,1]
+ end
+ def image_src
+ if base_markup =~/sisupod\/doc[\/]?$/
+ base_markup.gsub(/\/doc[\/]?$/,'/image')
+ elsif FileTest.directory?("#{base_markup}/_sisu/image")
+ "#{base_markup}/_sisu/image"
+ end
end
def bmd
base_markup
diff --git a/lib/sisu/v6/xhtml.rb b/lib/sisu/v6/xhtml.rb
index 57962961..44b20198 100644
--- a/lib/sisu/v6/xhtml.rb
+++ b/lib/sisu/v6/xhtml.rb
@@ -108,7 +108,7 @@ module SiSU_XHTML
__LINE__.to_s + ':' + __FILE__
end
ensure
- SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ SiSU_Env::CreateSite.new(@opt).cp_css
end
end
private
diff --git a/lib/sisu/v6/xml_docbook5.rb b/lib/sisu/v6/xml_docbook5.rb
index b3e9e035..f105eab9 100644
--- a/lib/sisu/v6/xml_docbook5.rb
+++ b/lib/sisu/v6/xml_docbook5.rb
@@ -87,6 +87,8 @@ module SiSU_XML_Docbook_Book
__LINE__.to_s + ':' + __FILE__
end
ensure
+ #SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ #SiSU_Env::CreateSite.new(@opt.cmd).cp_base_images
end
end
private
@@ -126,8 +128,30 @@ module SiSU_XML_Docbook_Book
#extract_endnotes
data=markup_text(data)
structure_build_collapsed(data)
+ document_images if @md.ec[:image] and @md.ec[:image].length > 0
#tail
end
+ def document_images
+ img_pth={
+ src: @md.opt.image_src_path,
+ dest: @md.env.path.webserv + '/_sisu/image',
+ }
+ unless FileTest.directory?(img_pth[:dest])
+ #mkdir?
+ end
+ if FileTest.directory?(img_pth[:dest])
+ @md.ec[:image].each do |x|
+ img={
+ src: "#{img_pth[:src]}/#{x}",
+ dest: "#{img_pth[:dest]}/#{x}",
+ }
+ if FileTest.file?(img[:src])
+ FileUtils::cp(img[:src],img[:dest])
+ else p "Not Found: #{img[:src]}/#{x}"
+ end
+ end
+ end
+ end
def spaces
Ax[:spaces]
end
@@ -154,8 +178,12 @@ module SiSU_XML_Docbook_Book
puts line if @md.opt.act[:verbose_plus][:set]==:on
end
def head
+ rdf=SiSU_XML_Tags::RDF.new(@md)
+ stylesheet=SiSU_Style::CSS_HeadInfo.new(@md,'xml_docbook').stylesheet
<<-WOK
<?xml version="1.0" encoding="utf-8"?>
+#{stylesheet.css_head_xml}
+#{rdf.comment_xml}
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0">
@@ -163,7 +191,10 @@ module SiSU_XML_Docbook_Book
end
def markup_text(data)
data.each_with_index do |o,i|
- if o.is ==:heading || o.is ==:para || o.is ==:open_close_tags
+ if o.is ==:heading \
+ || o.is ==:para \
+ || o.of ==:block \
+ || o.is ==:open_close_tags
o=@trans.markup_docbook(o) #unless o.obj==nil
end
end
diff --git a/lib/sisu/v6/xml_dom.rb b/lib/sisu/v6/xml_dom.rb
index ace9e800..7960e126 100644
--- a/lib/sisu/v6/xml_dom.rb
+++ b/lib/sisu/v6/xml_dom.rb
@@ -109,7 +109,7 @@ module SiSU_XML_DOM
__LINE__.to_s + ':' + __FILE__
end
ensure
- SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ SiSU_Env::CreateSite.new(@opt).cp_css
end
end
private
diff --git a/lib/sisu/v6/xml_sax.rb b/lib/sisu/v6/xml_sax.rb
index 53a258dc..ee369721 100644
--- a/lib/sisu/v6/xml_sax.rb
+++ b/lib/sisu/v6/xml_sax.rb
@@ -109,7 +109,7 @@ module SiSU_XML_SAX
end
ensure
#file closed in songsheet
- SiSU_Env::CreateSite.new(@opt.cmd).cp_css
+ SiSU_Env::CreateSite.new(@opt).cp_css
end
end
private
diff --git a/lib/sisu/v6/xml_shared.rb b/lib/sisu/v6/xml_shared.rb
index 3e8ddf50..38c21802 100644
--- a/lib/sisu/v6/xml_shared.rb
+++ b/lib/sisu/v6/xml_shared.rb
@@ -477,15 +477,21 @@ module SiSU_XML_Munge
gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'<cite>\1</cite>').
gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'<del>\1</del>').
gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'<tt>\1</tt>'). # tt, kbd
- gsub(/#{Mx[:lnk_o]}\s*(\S+?\.(?:png|jpg|gif)).+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}|image)/m,
- %{#{Xx[:split]}:spaces0:<figure id="\\1">\n:spaces1:<title></title>\n:spaces1:<graphic fileref="images/\\1" align="center" width="50%"></graphic>\n:spaces0:</figure>#{Xx[:split]}}).
- gsub(/#{Mx[:url_o]}(.+?)#{Mx[:url_c]}/,"#{Dx[:url_o]}\\1#{Dx[:url_c]}").
+ gsub(/#{Mx[:lnk_o]}\s*(\S+?)\.(png|jpg|gif).+?#{Mx[:lnk_c]}(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}|image)/m,
+ %{#{Xx[:split]}:spaces0:<figure id="fig-\\1">\n:spaces1:<title></title>\n:spaces1:<graphic fileref="../../_sisu/image/\\1.\\2" align="center" width="50%"></graphic>\n:spaces0:</figure>#{Xx[:split]}}). # common image location, else use ./images
+ gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(.+?)#{Mx[:url_c]}/,
+ '<ulink url="\2">\1</ulink>').
+ gsub(/#{Mx[:url_o]}(.+?)#{Mx[:url_c]}/,
+ '<ulink url="\1">\1</ulink>').
gsub(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,'<a name="\1"></a>').
gsub(/#{Mx[:gl_bullet]}/m,'● '). #&nbsp; not available
gsub(/#{Mx[:nbsp]}/,' '). #&nbsp; not available
gsub(/<(p|br)>/,'<\1 />')
dob.obj=clean(dob.obj)
- else # codeblock
+ elsif dob.is == :code
+ dob.obj=dob.obj.gsub(/&/m,'&amp;'). #sort
+ gsub(/</,'&lt;').gsub(/>/,'&gt;')
+ else # p dob.is ??
end
dob
end