diff options
69 files changed, 790 insertions, 425 deletions
@@ -81,9 +81,9 @@ specify sisu version for sisu installed via gem gem search sisu - sisu _5.4.5_ --version + sisu _5.5.1_ --version - sisu _6.0.11_ --version + sisu _6.1.1_ --version to uninstall sisu installed via gem @@ -246,6 +246,9 @@ assumed for most other flags, creates new intermediate files for processing processing of other output. This step is assumed for most processing flags. To skip it see -n. Alias -m. +*--asciitext [filename/wildcard]* +asciitext, smart text (not available) + *-b [filename/wildcard]* see --xhtml @@ -308,7 +311,7 @@ see --sqlite see --zap *--docbook [filename/wildcard/url]* -docbook smart text (not available) +docbook xml *--dump[=directory_path] [filename/wildcard]* places output in directory specified, if none is specified in the current @@ -347,7 +350,7 @@ see --sample-search-form see --find *--fictionbook [filename/wildcard/url]* -fictionbook smart text (not available) +fictionbook xml (not available) *--find [optional string part of filename]* without match string, glob all .sst .ssm files in directory (including language @@ -179,6 +179,8 @@ class Orient path_lib: sisu_path_lib, version_info_path: sisu_version_info_path, language_list: language_list.codes, + language_list_regex: language_list.regex, + called_from: sisu_called_from_directory, } end def get_processing_info @@ -233,7 +235,7 @@ class Orient Dir.chdir(markup_dir) $sisu_document_markup_directory_base_fixed_path= Dir.pwd.gsub(/\/(?:#{language_list.regex})$/,'') - SiSU::HubMaster.new(argv_sub) + SiSU::HubMaster.new(argv_sub,sisu_called_from_directory) elsif markup_dir =~/https?:/ markup_file.each do |mf| (FileTest.file?(mf)) \ @@ -244,7 +246,7 @@ class Orient $sisu_document_markup_directory_base_fixed_path= Dir.pwd.gsub(/\/(?:#{language_list.regex})$/,'') argv_sub=command_line_modifiers + markup_file - SiSU::HubMaster.new(argv_sub) + SiSU::HubMaster.new(argv_sub,sisu_called_from_directory) else p "Error directory specified #{markup_dir} not found" end ensure @@ -256,7 +258,7 @@ class Orient $sisu_document_markup_directory=Dir.pwd.gsub(/\/$/,'') $sisu_document_markup_directory_base_fixed_path= Dir.pwd.gsub(/(^|\/)(?:#{language_list.regex})$/,'') - SiSU::HubMaster.new(processing.argv) + SiSU::HubMaster.new(processing.argv,sisu_called_from_directory) end end end diff --git a/data/doc/sisu/CHANGELOG_v5 b/data/doc/sisu/CHANGELOG_v5 index 2cca5ac9..f6c18141 100644 --- a/data/doc/sisu/CHANGELOG_v5 +++ b/data/doc/sisu/CHANGELOG_v5 @@ -31,6 +31,34 @@ v2 branch is removed; it is available in sisu =< 3.3.2 %% Reverse Chronological: +%% 5.5.1.orig.tar.xz (2014-07-15:28/2) +http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.5.1 +http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_5.5.1-1 +http://www.jus.uio.no/sisu/pkg/src/sisu_5.5.1.orig.tar.xz + sisu_5.5.1.orig.tar.xz + sisu_5.5.1-1.dsc + +* bin/sisu, hub, options, message pass sisu_called_from_directory + +* sysenv, general, base_markup_dir_stub (replace pwd_stub) + +* ao_numbering, auto name segment, extract "number" from heading, refine + +* src, sisupod, bring back in line + +* docbook, + * code & other block markup + * url links, urls + * images, an adjustment + * css (needs work) + * document header, sisu processing info + * docbook status, under construction notice removed (still much to do) + +* general, document parts + * css + * base images + * document images + %% 5.5.0.orig.tar.xz (2014-07-11:27/5) http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.5.0 http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_5.5.0-1 diff --git a/data/doc/sisu/CHANGELOG_v6 b/data/doc/sisu/CHANGELOG_v6 index ae42efe7..ddf381fd 100644 --- a/data/doc/sisu/CHANGELOG_v6 +++ b/data/doc/sisu/CHANGELOG_v6 @@ -21,6 +21,34 @@ v2 branch is removed; it is available in sisu =< 3.3.2 %% Reverse Chronological: +%% 6.1.1.orig.tar.xz (2014-07-15:28/2) +http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.1.1 +http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_6.1.1-1 +http://www.jus.uio.no/sisu/pkg/src/sisu_6.1.1.orig.tar.xz + sisu_6.1.1.orig.tar.xz + sisu_6.1.1-1.dsc + +* bin/sisu, hub, options, message pass sisu_called_from_directory + +* sysenv, general, base_markup_dir_stub (replace pwd_stub) + +* ao_numbering, auto name segment, extract "number" from heading, refine + +* src, sisupod, bring back in line + +* docbook, + * code & other block markup + * url links, urls + * images, an adjustment + * css (needs work) + * document header, sisu processing info + * docbook status, under construction notice removed (still much to do) + +* general, document parts + * css + * base images + * document images + %% 6.1.0.orig.tar.xz (2014-07-11:27/5) http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.1.0 http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_6.1.0-1 diff --git a/data/doc/sisu/COPYRIGHT b/data/doc/sisu/COPYRIGHT index a43d9916..c77a68f1 100644 --- a/data/doc/sisu/COPYRIGHT +++ b/data/doc/sisu/COPYRIGHT @@ -9,7 +9,7 @@ Source: http://sisudoc.org/sisu/archive/pool/main/s/sisu/ git://git.sisudoc.org/git/code/sisu.git Files: SiSU * -Copyright: 1997, 2012, Ralph Amissah +Copyright: 1997, 2014, Ralph Amissah License: GPL-3+ Files: data/sisu/v*/conf/editor-syntax-etc/emacs/sisu-mode.el @@ -30,7 +30,7 @@ License: LGPL-2.1 Files: debian/* Copyright: 2005, Ralph Amissah <ralph.amissah@gmail.com> - 2010, SiSU Project Debian, Ralph Amissah + 2014, SiSU Project Debian, Ralph Amissah License: GPL-3+ License: GPL-3+ diff --git a/data/doc/sisu/markup-samples/manual/_sisu/sisu_document_make b/data/doc/sisu/markup-samples/manual/_sisu/sisu_document_make index 72706d10..9bb0b2fa 100644 --- a/data/doc/sisu/markup-samples/manual/_sisu/sisu_document_make +++ b/data/doc/sisu/markup-samples/manual/_sisu/sisu_document_make @@ -3,7 +3,7 @@ :breaks: new=C; break=1 :bold: /Debian|Ruby|SiSU/ :italics: /Linux|GPL|GPLv3|LaTeX|PostgreSQL|SQLite|SQL|Vim|ascii|plaintext|UTF-?8|HTML|XHTML|XML|EPUB|OpenDocument|ODF|ODT|PDF|pgSQL|TeXinfo|YAML|YML|OCN|object citation system|object citation numbering|granular search|Dublin Core/ - :substitute: /${debian_stable}/,'*{Wheezy}*' /${debian_testing}/,'*{Jessie}*' + :substitute: /${sisu_stable}/,'5.5.1' /${sisu_dev}/,'6.1.1' /${debian_stable}/,'*{Wheezy}*' /${debian_testing}/,'*{Jessie}*' :home_button_text: {SiSU}http://sisudoc.org; {git}http://git.sisudoc.org :footer: {SiSU}http://sisudoc.org; {git}http://git.sisudoc.org diff --git a/data/doc/sisu/markup-samples/manual/en/sisu_commands.sst b/data/doc/sisu/markup-samples/manual/en/sisu_commands.sst index 016ef7ea..16661dd6 100644 --- a/data/doc/sisu/markup-samples/manual/en/sisu_commands.sst +++ b/data/doc/sisu/markup-samples/manual/en/sisu_commands.sst @@ -43,6 +43,9 @@ produces plaintext with Unix linefeeds and without markup, (object numbers are o !_ --ao [filename/wildcard/url] \\ assumed for most other flags, creates new intermediate files for processing (abstract objects, document abstraction) that is used in all subsequent processing of other output. This step is assumed for most processing flags. To skip it see -n. Alias -m. +!_ --asciitext [filename/wildcard] \\ +asciitext, smart text (not available) + !_ -b [filename/wildcard] \\ see --xhtml @@ -89,7 +92,7 @@ see --sqlite see --zap !_ --docbook [filename/wildcard/url] \\ -docbook smart text (not available) +docbook xml !_ --dump[=directory_path] [filename/wildcard] \\ places output in directory specified, if none is specified in the current directory (pwd). Unlike using default settings HTML files have embedded css. Compare --redirect @@ -125,7 +128,7 @@ see --sample-search-form see --find !_ --fictionbook [filename/wildcard/url] \\ -fictionbook smart text (not available) +fictionbook xml (not available) !_ --find [optional string part of filename] \\ without match string, glob all .sst .ssm files in directory (including language subdirectories). With match string, find files that match given string in directory (including language subdirectories). Alias -f, --glob, -G diff --git a/data/doc/sisu/markup-samples/manual/en/sisu_install_run.sst b/data/doc/sisu/markup-samples/manual/en/sisu_install_run.sst index 667a6459..b77e216a 100644 --- a/data/doc/sisu/markup-samples/manual/en/sisu_install_run.sst +++ b/data/doc/sisu/markup-samples/manual/en/sisu_install_run.sst @@ -52,9 +52,9 @@ to specify sisu version for sisu installed via gem gem search sisu -_1 sisu _5.3.3_ --version +_1 sisu _${sisu_stable}_ --version -_1 sisu _6.0.3_ --version +_1 sisu _${sisu_dev}_ --version to uninstall sisu installed via gem diff --git a/data/doc/sisu/sisu.org b/data/doc/sisu/sisu.org index 64246368..196ab051 100644 --- a/data/doc/sisu/sisu.org +++ b/data/doc/sisu/sisu.org @@ -1860,7 +1860,7 @@ levels 1 2 & 3 are now distinguished (touches ) override part font size settings for different levels (B C D) -**** TODO [#C] #744384 [w|u] sisu syntax: relies on empty lines +**** DONE CLOSED [#C] #744384 [w|u] sisu syntax: relies on empty lines <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744384> From: Daniel Baumann <daniel.baumann@progress-technologies.net> @@ -2220,7 +2220,7 @@ Daniel consider, work on possibly, later -**** TODO [#C] #744408 [w|u] sisu: support more than one level of includes/nested includes +**** DONE (5.5.0::6.1.0) [#C] #744408 [w|u] sisu: support more than one level of includes/nested includes <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744408> From: Daniel Baumann <daniel.baumann@progress-technologies.net> diff --git a/data/sisu/v5/v/version.yml b/data/sisu/v5/v/version.yml index 2e045c3e..189cbba6 100644 --- a/data/sisu/v5/v/version.yml +++ b/data/sisu/v5/v/version.yml @@ -1,5 +1,5 @@ --- :project: SiSU -:version: 5.5.0 -:date_stamp: 2014w27/5 -:date: "2014-07-11" +:version: 5.5.1 +:date_stamp: 2014w28/2 +:date: "2014-07-15" diff --git a/data/sisu/v6/v/version.yml b/data/sisu/v6/v/version.yml index 7231ab70..035d57f7 100644 --- a/data/sisu/v6/v/version.yml +++ b/data/sisu/v6/v/version.yml @@ -1,5 +1,5 @@ --- :project: SiSU -:version: 6.1.0 -:date_stamp: 2014w27/5 -:date: "2014-07-11" +:version: 6.1.1 +:date_stamp: 2014w28/2 +:date: "2014-07-15" 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,'● '). # not available gsub(/#{Mx[:nbsp]}/,' '). # not available gsub(/<(p|br)>/,'<\1 />') dob.obj=clean(dob.obj) - else # codeblock + elsif dob.is == :code + dob.obj=dob.obj.gsub(/&/m,'&'). #sort + gsub(/</,'<').gsub(/>/,'>') + 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,'● '). # not available gsub(/#{Mx[:nbsp]}/,' '). # not available gsub(/<(p|br)>/,'<\1 />') dob.obj=clean(dob.obj) - else # codeblock + elsif dob.is == :code + dob.obj=dob.obj.gsub(/&/m,'&'). #sort + gsub(/</,'<').gsub(/>/,'>') + else # p dob.is ?? end dob end diff --git a/man/man1/sisu.1 b/man/man1/sisu.1 index 8789a75d..93677518 100644 --- a/man/man1/sisu.1 +++ b/man/man1/sisu.1 @@ -1,4 +1,4 @@ -.TH "sisu" "1" "2014-07-11" "6.1.0" "SiSU" +.TH "sisu" "1" "2014-07-15" "6.1.1" "SiSU" .br .SH NAME .br @@ -143,6 +143,9 @@ assumed for most other flags, creates new intermediate files for processing processing of other output. This step is assumed for most processing flags. To skip it see -n. Alias -m. .TP +.B --asciitext [filename/wildcard] +asciitext, smart text (not available) +.TP .B -b [filename/wildcard] see --xhtml .TP @@ -205,7 +208,7 @@ see --sqlite see --zap .TP .B --docbook [filename/wildcard/url] -docbook smart text (not available) +docbook xml .TP .B --dump[=directory_path] [filename/wildcard] places output in directory specified, if none is specified in the current @@ -245,7 +248,7 @@ see --sample-search-form see --find .TP .B --fictionbook [filename/wildcard/url] -fictionbook smart text (not available) +fictionbook xml (not available) .TP .B --find [optional string part of filename] without match string, glob all .sst .ssm files in directory (including language @@ -37,8 +37,8 @@ #require 'mkmf' #create_makefile("sisu") #% manual settings, edit/update as required (note current default settings are obtained from sisu version yml file) -SiSU_version_next_stable = '5.5.0' -SiSU_version_next_unstable = '6.1.0' +SiSU_version_next_stable = '5.5.1' #% set version +SiSU_version_next_unstable = '6.1.1' #% set version #% rake file SiSU_version_generic_next_stable = '5.4.x' SiSU_version_generic_next_unstable = '6.0.x' |