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