aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--README66
-rw-r--r--data/doc/sisu/CHANGELOG_v521
-rw-r--r--data/doc/sisu/CHANGELOG_v610
-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.sst46
-rw-r--r--data/sisu/v5/v/version.yml2
-rw-r--r--data/sisu/v6/v/version.yml2
-rw-r--r--lib/sisu/v5/ao.rb16
-rw-r--r--lib/sisu/v5/ao_composite.rb6
-rw-r--r--lib/sisu/v5/ao_doc_str.rb78
-rw-r--r--lib/sisu/v5/ao_endnotes.rb4
-rw-r--r--lib/sisu/v5/ao_expand_insertions.rb20
-rw-r--r--lib/sisu/v5/cgi.rb6
-rw-r--r--lib/sisu/v5/cgi_pgsql.rb2
-rw-r--r--lib/sisu/v5/cgi_sql_common.rb1
-rw-r--r--lib/sisu/v5/cgi_sqlite.rb2
-rw-r--r--lib/sisu/v5/conf.rb18
-rw-r--r--lib/sisu/v5/constants.rb4
-rw-r--r--lib/sisu/v5/css.rb59
-rw-r--r--lib/sisu/v5/db_create.rb7
-rw-r--r--lib/sisu/v5/db_import.rb45
-rw-r--r--lib/sisu/v5/db_load_tuple.rb19
-rw-r--r--lib/sisu/v5/db_remove.rb2
-rw-r--r--lib/sisu/v5/dbi.rb5
-rw-r--r--lib/sisu/v5/dbi_discrete.rb2
-rw-r--r--lib/sisu/v5/digests.rb2
-rw-r--r--lib/sisu/v5/dp.rb16
-rw-r--r--lib/sisu/v5/dp_identify_markup.rb2
-rw-r--r--lib/sisu/v5/dp_make.rb2
-rw-r--r--lib/sisu/v5/embedded.rb4
-rw-r--r--lib/sisu/v5/harvest.rb4
-rw-r--r--lib/sisu/v5/harvest_authors.rb113
-rw-r--r--lib/sisu/v5/harvest_topics.rb120
-rw-r--r--lib/sisu/v5/html.rb10
-rw-r--r--lib/sisu/v5/html_concordance.rb11
-rw-r--r--lib/sisu/v5/html_format.rb15
-rw-r--r--lib/sisu/v5/html_scroll.rb26
-rw-r--r--lib/sisu/v5/html_segments.rb147
-rw-r--r--lib/sisu/v5/html_tune.rb2
-rw-r--r--lib/sisu/v5/hub.rb637
-rw-r--r--lib/sisu/v5/hub_actions.rb585
-rw-r--r--lib/sisu/v5/hub_options.rb966
-rw-r--r--lib/sisu/v5/manifest.rb4
-rw-r--r--lib/sisu/v5/manpage.rb4
-rw-r--r--lib/sisu/v5/po4a.rb2
-rw-r--r--lib/sisu/v5/qrcode.rb23
-rw-r--r--lib/sisu/v5/rexml.rb2
-rw-r--r--lib/sisu/v5/se_createsite.rb37
-rw-r--r--lib/sisu/v5/se_db.rb4
-rw-r--r--lib/sisu/v5/se_file_op.rb2
-rw-r--r--lib/sisu/v5/se_filemap.rb4
-rw-r--r--lib/sisu/v5/se_hub_particulars.rb22
-rw-r--r--lib/sisu/v5/se_info_env.rb34
-rw-r--r--lib/sisu/v5/se_processing.rb186
-rw-r--r--lib/sisu/v5/se_programs.rb10
-rw-r--r--lib/sisu/v5/texinfo.rb4
-rw-r--r--lib/sisu/v5/texpdf.rb32
-rw-r--r--lib/sisu/v5/texpdf_format.rb3
-rw-r--r--lib/sisu/v5/txt_asciidoc.rb2
-rw-r--r--lib/sisu/v5/txt_markdown.rb2
-rw-r--r--lib/sisu/v5/txt_plain.rb18
-rw-r--r--lib/sisu/v5/txt_rst.rb2
-rw-r--r--lib/sisu/v5/txt_textile.rb2
-rw-r--r--lib/sisu/v5/update.rb2
-rw-r--r--lib/sisu/v5/urls.rb910
-rw-r--r--lib/sisu/v5/utils_screen_text_color.rb4
-rw-r--r--lib/sisu/v5/wikispeak.rb2
-rw-r--r--lib/sisu/v5/xhtml.rb9
-rw-r--r--lib/sisu/v5/xhtml_epub2.rb75
-rw-r--r--lib/sisu/v5/xhtml_epub2_concordance.rb6
-rw-r--r--lib/sisu/v5/xhtml_epub2_format.rb48
-rw-r--r--lib/sisu/v5/xhtml_epub2_segments.rb9
-rw-r--r--lib/sisu/v5/xhtml_epub2_tune.rb2
-rw-r--r--lib/sisu/v5/xml_docbook5.rb6
-rw-r--r--lib/sisu/v5/xml_dom.rb71
-rw-r--r--lib/sisu/v5/xml_fictionbook2.rb2
-rw-r--r--lib/sisu/v5/xml_format.rb33
-rw-r--r--lib/sisu/v5/xml_odf_odt.rb103
-rw-r--r--lib/sisu/v5/xml_odf_odt_format.rb2
-rw-r--r--lib/sisu/v5/xml_sax.rb13
-rw-r--r--lib/sisu/v5/xml_scaffold_structure_collapsed.rb2
-rw-r--r--lib/sisu/v5/xml_scaffold_structure_sisu.rb2
-rw-r--r--lib/sisu/v5/zap.rb2
-rw-r--r--lib/sisu/v6/ao_doc_str.rb78
-rw-r--r--lib/sisu/v6/constants.rb4
-rw-r--r--lib/sisu/v6/css.rb59
-rw-r--r--lib/sisu/v6/db_create.rb7
-rw-r--r--lib/sisu/v6/db_import.rb37
-rw-r--r--lib/sisu/v6/db_load_tuple.rb19
-rw-r--r--lib/sisu/v6/html_format.rb15
-rw-r--r--lib/sisu/v6/html_scroll.rb24
-rw-r--r--lib/sisu/v6/html_segments.rb145
-rw-r--r--lib/sisu/v6/hub_options.rb4
-rw-r--r--lib/sisu/v6/texpdf.rb2
-rw-r--r--lib/sisu/v6/texpdf_format.rb3
-rw-r--r--lib/sisu/v6/txt_plain.rb14
-rw-r--r--lib/sisu/v6/xhtml.rb5
-rw-r--r--lib/sisu/v6/xhtml_epub2.rb61
-rw-r--r--lib/sisu/v6/xhtml_epub2_format.rb48
-rw-r--r--lib/sisu/v6/xhtml_epub2_segments.rb7
-rw-r--r--lib/sisu/v6/xml_dom.rb67
-rw-r--r--lib/sisu/v6/xml_format.rb33
-rw-r--r--lib/sisu/v6/xml_odf_odt.rb97
-rw-r--r--lib/sisu/v6/xml_odf_odt_format.rb2
-rw-r--r--lib/sisu/v6/xml_sax.rb9
-rw-r--r--man/man1/sisu.169
-rw-r--r--rbuild4
107 files changed, 3512 insertions, 2110 deletions
diff --git a/README b/README
index aa51a33b..5809bc89 100644
--- a/README
+++ b/README
@@ -81,9 +81,9 @@ specify sisu version for sisu installed via gem
gem search sisu
- sisu _5.5.1_ --version
+ sisu _5.6.0_ --version
- sisu _6.1.1_ --version
+ sisu _6.2.1_ --version
to uninstall sisu installed via gem
@@ -233,12 +233,8 @@ more see: <http://sisudoc.org> or <http://www.jus.uio.no/sisu>
DOCUMENT PROCESSING COMMAND FLAGS
.................................
-*-a [filename/wildcard]*
-produces /plaintext/ with Unix linefeeds and without markup, (object numbers
-are omitted), has footnotes at end of each paragraph that contains them [ -A
-for equivalent dos (linefeed) output file] [see -e for endnotes]. (Options
-include: --endnotes for endnotes --footnotes for footnotes at the end of each
-paragraph --unix for unix linefeed (default) --msdos for msdos linefeed)
+*-[0-9] [filename/wildcard]*
+see --act
*--ao [filename/wildcard/url]*
assumed for most other flags, creates new intermediate files for processing
@@ -246,6 +242,13 @@ 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.
+*--act[0-9] [filename/wildcard]*
+--act0 to --act9 configurable shortcuts for multiple flags, -0 to -9 synonyms,
+configure in sisurc.yml, sisu default action on a specified file where no flag
+is provided is --act0, current default setting for --act0 is --digest --qrcode
+--text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax
+--xml-dom --sqlite --manifest --verbose
+
*--asciitext [filename/wildcard]*
asciitext, smart text (not available)
@@ -263,9 +266,6 @@ site more extensive than -C on its own, shared output directory files/force
update, existing shared output config files such as css and dtd files are
updated if this modifier is used.
-*-CC*
-see --configure
-
*-c [filename/wildcard]*
see --color-toggle
@@ -317,6 +317,9 @@ screen.
*--docbook [filename/wildcard/url]*
docbook xml
+*--dom [filename/wildcard/url]*
+see --xml-dom
+
*--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.
@@ -616,6 +619,9 @@ additional parameters: --db-user='www-data'. The samples are dumped in the
present work directory which must be writable, (with screen instructions given
that they be copied to the cgi-bin directory). Alias -F
+*--sax [filename/wildcard/url]*
+see --xml-sax
+
*--scp [filename/wildcard]*
copies sisu output files to remote host using scp. This requires that
sisurc.yml has been provided with information on hostname and username, and
@@ -843,44 +849,6 @@ kills data" and drops (/PostgreSQL/ or /SQLite/) db, tables & indexes [ -d
The -v is for verbose output.
-SHORTCUTS, SHORTHAND FOR MULTIPLE FLAGS
----------------------------------------
-
-*--update [filename/wildcard]*
-Checks existing file output and runs the flags required to update this output.
-This means that if only html and pdf output was requested on previous runs,
-only the -hp files will be applied, and only these will be generated this time,
-together with the summary. This can be very convenient, if you offer different
-outputs of different files, and just want to do the same again.
-
-*-0 to -5 [filename or wildcard]*
-Default shorthand mappings (note that the defaults can be changed/configured in
-the sisurc.yml file):
-
-*-0*
--NQhewpotbxXyYv [this is the default action run when no options are give, i.e.
-on 'sisu [filename]']
-
-*-1*
--Qhewpoty
-
-*-2*
--NQhewpotbxXy
-
-*-3*
--NQhewpotbxXyY
-
-*-4*
--NQhewpotbxXDyY --update
-
-*-5*
--NQhewpotbxXDyYv --update
-
-add -v for verbose mode and -c to toggle color state, e.g. sisu -2vc [filename
-or wildcard]
-
-consider -u for appended url info or -v for verbose output
-
COMMAND LINE WITH FLAGS - BATCH PROCESSING
..........................................
diff --git a/data/doc/sisu/CHANGELOG_v5 b/data/doc/sisu/CHANGELOG_v5
index a4e158bb..1bcef2b4 100644
--- a/data/doc/sisu/CHANGELOG_v5
+++ b/data/doc/sisu/CHANGELOG_v5
@@ -31,6 +31,27 @@ v2 branch is removed; it is available in sisu =< 3.3.2
%% Reverse Chronological:
+%% 5.6.0.orig.tar.xz (2014-08-08:31/5)
+http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.6.0
+http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_5.6.0-1
+http://www.jus.uio.no/sisu/pkg/src/sisu_5.6.0.orig.tar.xz
+ sisu_5.6.0.orig.tar.xz
+ sisu_5.6.0-1.dsc
+
+* merged v6 (6.2.0)
+ * some file renames, fairly extensive
+ * commandline, --act0 to --act9 & rc-config with act instead of roman numeral
+ * configurable command line options increased to 0 - 9 (instead of 0 - 5)
+ * use --act0 to --act9
+ * default --act0
+ * rc config with flag:act0 to flag:act9
+ * legacy roman numeral configuration works (for now)
+ * internally use opt.act (simplify, cleaner, instead of opt.cmd & opt.mod, now
+ removed)
+
+* extend document structure, headings A - D, 1 - 4
+ * sql db table structure changed (needs to be rebuilt)
+
%% 5.5.6.orig.tar.xz (2014-08-08:31/5)
http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_5.5.6
http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_5.5.6-1
diff --git a/data/doc/sisu/CHANGELOG_v6 b/data/doc/sisu/CHANGELOG_v6
index dd8a38b0..1f19f07f 100644
--- a/data/doc/sisu/CHANGELOG_v6
+++ b/data/doc/sisu/CHANGELOG_v6
@@ -21,6 +21,16 @@ v2 branch is removed; it is available in sisu =< 3.3.2
%% Reverse Chronological:
+%% 6.2.1.orig.tar.xz (2014-08-08:31/5)
+http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.2.1
+http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_6.2.1-1
+http://www.jus.uio.no/sisu/pkg/src/sisu_6.2.1.orig.tar.xz
+ sisu_6.2.1.orig.tar.xz
+ sisu_6.2.1-1.dsc
+
+* extend document structure, headings A - D, 1 - 4
+ * sql db table structure changed (needs to be rebuilt)
+
%% 6.2.0.orig.tar.xz (2014-08-08:31/5)
http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_6.2.0
http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_6.2.0-1
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 3a4c8b9f..2327875e 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: /${sisu_stable}/,'5.5.4' /${sisu_dev}/,'6.1.4' /${debian_stable}/,'*{Wheezy}*' /${debian_testing}/,'*{Jessie}*'
+ :substitute: /${sisu_stable}/,'5.6.0' /${sisu_dev}/,'6.2.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 7af33161..2de5ff43 100644
--- a/data/doc/sisu/markup-samples/manual/en/sisu_commands.sst
+++ b/data/doc/sisu/markup-samples/manual/en/sisu_commands.sst
@@ -37,12 +37,15 @@ SiSU is a document publishing system, that from a simple single marked-up docume
2~ Document Processing Command Flags
-!_ -a [filename/wildcard] \\
-produces plaintext with Unix linefeeds and without markup, (object numbers are omitted), has footnotes at end of each paragraph that contains them [ -A for equivalent dos (linefeed) output file] [see -e for endnotes]. (Options include: --endnotes for endnotes --footnotes for footnotes at the end of each paragraph --unix for unix linefeed (default) --msdos for msdos linefeed)
+!_ -[0-9] [filename/wildcard] \\
+see --act
!_ --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.
+!_ --act[0-9] [filename/wildcard] \\
+--act0 to --act9 configurable shortcuts for multiple flags, -0 to -9 synonyms, configure in sisurc.yml, sisu default action on a specified file where no flag is provided is --act0, current default setting for --act0 is --digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --manifest --verbose
+
!_ --asciitext [filename/wildcard] \\
asciitext, smart text (not available)
@@ -55,9 +58,6 @@ see --output-by-*
!_ -C \\
configure/initialise shared output directory files initialize shared output directory (config files such as css and dtd files are not updated if they already exist unless modifier is used). -C --init-site configure/initialise site more extensive than -C on its own, shared output directory files/force update, existing shared output config files such as css and dtd files are updated if this modifier is used.
-!_ -CC \\
-see --configure
-
!_ -c [filename/wildcard] \\
see --color-toggle
@@ -94,6 +94,9 @@ document digest or document content certificate ( DCC ) as sha digest tree of th
!_ --docbook [filename/wildcard/url] \\
docbook xml
+!_ --dom [filename/wildcard/url] \\
+see --xml-dom
+
!_ --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
@@ -324,6 +327,9 @@ see --source
!_ --sample-search-form [--db-(pg|sqlite)] \\
generate examples of (naive) cgi search form for SQLite or PgSQL depends on your already having used sisu to populate an SQLite or PgSQL database, (the SQLite version scans the output directories for existing sisu_sqlite databases, so it is first necessary to create them, before generating the search form) see --sqlite & --pg and the database section below. Optional additional parameters: --db-user='www-data'. The samples are dumped in the present work directory which must be writable, (with screen instructions given that they be copied to the cgi-bin directory). Alias -F
+!_ --sax [filename/wildcard/url] \\
+see --xml-sax
+
!_ --scp [filename/wildcard] \\
copies sisu output files to remote host using scp. This requires that sisurc.yml has been provided with information on hostname and username, and that you have your "keys" and ssh agent in place. Also see --rsync. Alias -r
@@ -484,36 +490,6 @@ kills data" and drops (PostgreSQL or SQLite) db, tables & indexes [ -d --dropall
The -v is for verbose output.
-1~command_shorcuts Shortcuts, Shorthand for multiple flags
-
-!_ --update [filename/wildcard] \\
-Checks existing file output and runs the flags required to update this output. This means that if only html and pdf output was requested on previous runs, only the -hp files will be applied, and only these will be generated this time, together with the summary. This can be very convenient, if you offer different outputs of different files, and just want to do the same again.
-
-!_ -0 to -5 [filename or wildcard] \\
-Default shorthand mappings (note that the defaults can be changed/configured in the sisurc.yml file):
-
-!_ -0 \\
--NQhewpotbxXyYv [this is the default action run when no options are give, i.e. on 'sisu [filename]']
-
-!_ -1 \\
--Qhewpoty
-
-!_ -2 \\
--NQhewpotbxXy
-
-!_ -3 \\
--NQhewpotbxXyY
-
-!_ -4 \\
--NQhewpotbxXDyY --update
-
-!_ -5 \\
--NQhewpotbxXDyYv --update
-
-add -v for verbose mode and -c to toggle color state, e.g. sisu -2vc [filename or wildcard]
-
-consider -u for appended url info or -v for verbose output
-
2~ Command Line with Flags - Batch Processing
In the data directory run sisu -mh filename or wildcard eg. "sisu -h cisg.sst" or "sisu -h *.{sst,ssm}" to produce html version of all documents.
diff --git a/data/sisu/v5/v/version.yml b/data/sisu/v5/v/version.yml
index 7a1d9a77..d6865084 100644
--- a/data/sisu/v5/v/version.yml
+++ b/data/sisu/v5/v/version.yml
@@ -1,5 +1,5 @@
---
:project: SiSU
-:version: 5.5.6
+:version: 5.6.0
:date_stamp: 2014w31/5
:date: "2014-08-08"
diff --git a/data/sisu/v6/v/version.yml b/data/sisu/v6/v/version.yml
index 19a7f741..62a2c21c 100644
--- a/data/sisu/v6/v/version.yml
+++ b/data/sisu/v6/v/version.yml
@@ -1,5 +1,5 @@
---
:project: SiSU
-:version: 6.2.0
+:version: 6.2.1
:date_stamp: 2014w31/5
:date: "2014-08-08"
diff --git a/lib/sisu/v5/ao.rb b/lib/sisu/v5/ao.rb
index d7b418f5..0a494184 100644
--- a/lib/sisu/v5/ao.rb
+++ b/lib/sisu/v5/ao.rb
@@ -124,7 +124,7 @@ module SiSU_AO
: @opt.fns
create_ao
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@@fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selection,@@fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -145,7 +145,7 @@ module SiSU_AO
? read_fnc
: @@ao_array.dup
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selection,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -166,7 +166,7 @@ module SiSU_AO
? read_idx_sst
: @@idx_arr[:sst].dup #check
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selection,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -187,7 +187,7 @@ module SiSU_AO
? read_idx_raw
: @@idx_arr[:tex].dup #check
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selection,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -208,7 +208,7 @@ module SiSU_AO
? read_idx_html
: @@idx_arr[:html].dup
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selection,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -229,7 +229,7 @@ module SiSU_AO
? read_idx_xhtml
: @@idx_arr[:xhtml].dup
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selection,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -250,7 +250,7 @@ module SiSU_AO
? read_map_nametags
: @@map_arr[:nametags].dup
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selection,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -271,7 +271,7 @@ module SiSU_AO
? read_map_ocn_htmlseg
: @@map_arr[:ocn_htmlseg].dup
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selection,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/ao_composite.rb b/lib/sisu/v5/ao_composite.rb
index af194db7..5a183d65 100644
--- a/lib/sisu/v5/ao_composite.rb
+++ b/lib/sisu/v5/ao_composite.rb
@@ -114,7 +114,7 @@ module SiSU_Assemble
end
Dir.chdir(pwd)
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -157,7 +157,7 @@ module SiSU_Assemble
end
tuned_file=tuned_file.flatten.compact
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -253,7 +253,7 @@ module SiSU_Assemble
fns_array=IO.readlines(@opt.fns,'')
insertions?(fns_array)
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/ao_doc_str.rb b/lib/sisu/v5/ao_doc_str.rb
index 931e51d3..11990abf 100644
--- a/lib/sisu/v5/ao_doc_str.rb
+++ b/lib/sisu/v5/ao_doc_str.rb
@@ -1223,7 +1223,7 @@ module SiSU_AO_DocumentStructureExtract
end
def structure_info
def lv
- %w[A~ B~ C~ D~ 1 2 3]
+ %w[A~ B~ C~ D~ 1 2 3 4]
end
def possible_parents(child)
case child
@@ -1234,6 +1234,7 @@ module SiSU_AO_DocumentStructureExtract
when /1/ then 'A~, B~, C~, D~'
when /2/ then '1'
when /3/ then '2'
+ when /4/ then '3'
end
end
def possible_children(parent)
@@ -1244,20 +1245,21 @@ module SiSU_AO_DocumentStructureExtract
when /D~/ then '1'
when /1/ then '2'
when /2/ then '3'
- when /3/ then 'none'
+ when /3/ then '4'
+ when /4/ then 'none'
end
end
self
end
def document_structure_check_info(node,node_parent,status=:ok)
- node_ln=/^([0-6])/.match(node)[1].to_i
- node_parent_ln=/^([0-6])/.match(node_parent)[1].to_i
+ node_ln=/^([0-7])/.match(node)[1].to_i
+ node_parent_ln=/^([0-7])/.match(node_parent)[1].to_i
if status==:error \
or @md.opt.act[:maintenance][:set]==:on
puts %{node: #{node}, parent node: #{node_parent} #{status.upcase}}
if status==:error
- node_ln=/^([0-6])/.match(node)[1].to_i
- node_parent_ln=/^([0-6])/.match(node_parent)[1].to_i
+ node_ln=/^([0-7])/.match(node)[1].to_i
+ node_parent_ln=/^([0-7])/.match(node_parent)[1].to_i
STDERR.puts %{current level: #{structure_info.lv[node_ln]} (possible parent levels: #{structure_info.possible_parents(structure_info.lv[node_ln])})
parent level: #{structure_info.lv[node_parent_ln]} (possible child levels: #{structure_info.possible_children(structure_info.lv[node_parent_ln])})
SKIPPED processing file: [#{@md.opt.lng}] "#{@md.fns}"}
@@ -1297,12 +1299,12 @@ SKIPPED processing file: [#{@md.opt.lng}] "#{@md.fns}"
required_headers_present?
data=@data
@o_array=[]
- node=ocn=ocn_dv=ocn_sp=ocnh=ocnh0=ocnh1=ocnh2=ocnh3=ocnh4=ocnh5=ocnh6=ocno=ocnp=ocnt=ocnc=ocng=ocni=ocnu=0 # h heading, o other, t table, g group, i image
+ node=ocn=ocn_dv=ocn_sp=ocnh=ocnh0=ocnh1=ocnh2=ocnh3=ocnh4=ocnh5=ocnh6=ocnh7=ocno=ocnp=ocnt=ocnc=ocng=ocni=ocnu=0 # h heading, o other, t table, g group, i image
regex_exclude_ocn_and_node = /#{Rx[:meta]}|^@\S+?:\s|^4~endnotes|^#{Mx[:lv_o]}4:endnotes#{Mx[:lv_c]}|^\^~ |<:e[:_]\d+?>|^<:\#|<:- |<[:!]!4|<hr width|#{Mx[:br_endnotes]}|\A\s*\Z/mi #ocn here #&nbsp; added with Tune.code #¡
- parent=node1=node2=node3=node4=node5=node6=nil
+ parent=node1=node2=node3=node4=node5=node6=node7=nil
node0='0:0;0'
@collapsed_lv0=0
- @lev_occurences={ a: 0, b: 0, c: 0, d: 0, l1: 0, l2: 0, l3: 0 }
+ @lev_occurences={ a: 0, b: 0, c: 0, d: 0, l1: 0, l2: 0, l3: 0, l4: 0 }
data.each do |dob|
h={}
if (dob.obj !~ regex_exclude_ocn_and_node || dob.is==:code) \
@@ -1336,7 +1338,8 @@ SKIPPED processing file: [#{@md.opt.lng}] "#{@md.fns}"
or ln.to_s =~@md.lv3 \
or ln.to_s =~@md.lv4 \
or ln.to_s =~@md.lv5 \
- or ln.to_s =~@md.lv6)
+ or ln.to_s =~@md.lv6 \
+ or ln.to_s =~@md.lv7)
if not dob.obj =~/~#|-#/
ocnh+=1
end
@@ -1523,7 +1526,7 @@ or this level should be level :B~ rather than #{dob.lv}}
warning_incorrect_parent_level_or_level(dob.obj)
puts "parent is level 4~ & this level #{dob.lv}
either parent should be level 5~
-or this level should be 5~ rather #{dob.lv}" #level 6
+or this level should be 5~ rather #{dob.lv}"
document_structure_check_info(node6,node4,:error)
@collapsed_lv6=@collapsed_lv4+1
node4
@@ -1549,6 +1552,59 @@ or this level should be 5~ rather #{dob.lv}" #level 6
end
collapsed_level=@collapsed_lv6
node,ocn_sp=node6,"h#{ocnh}"
+ elsif ln==7 \
+ or ln=~@md.lv7
+ @lev_occurences[:l4] += 1
+ if not dob.obj =~/~#|-#/
+ ocn_flag=true
+ ocnh7+=1
+ node7="7:#{ocnh7};#{ocn}"
+ else
+ ocn_flag=false
+ node7="7:0;0"
+ end
+ parent=if node6
+ document_structure_check_info(node7,node6)
+ @collapsed_lv7=@collapsed_lv6+1
+ node5
+ elsif node5
+ warning_incorrect_parent_level_or_level(dob.obj)
+ puts "parent is level 5~ & this level #{dob.lv}
+either parent should be level 6~
+or this level should be 6~ rather #{dob.lv}"
+ document_structure_check_info(node7,node5,:error)
+ @collapsed_lv6=@collapsed_lv5+1
+ node5
+ elsif node4
+ warning_incorrect_parent_level_or_level(dob.obj)
+ puts "parent is level 4~ & this level #{dob.lv}
+either parent should be level 6~
+or this level should be 6~ rather #{dob.lv}"
+ document_structure_check_info(node7,node4,:error)
+ @collapsed_lv6=@collapsed_lv4+1
+ node4
+ elsif node3
+ warning_incorrect_parent_level_or_level(dob.obj)
+ document_structure_check_info(node7,node3,:error)
+ @collapsed_lv6=@collapsed_lv3+1
+ node3
+ elsif node2
+ warning_incorrect_parent_level_or_level(dob.obj)
+ document_structure_check_info(node7,node2,:error)
+ @collapsed_lv6=@collapsed_lv2+1
+ node2
+ elsif node1
+ warning_incorrect_parent_level_or_level(dob.obj)
+ document_structure_check_info(node7,node1,:error)
+ @collapsed_lv6=@collapsed_lv1+1
+ node1
+ else
+ warning_incorrect_parent_level_or_level(dob.obj)
+ document_structure_check_info(node7,node0,:error)
+ node0
+ end
+ collapsed_level=@collapsed_lv7
+ node,ocn_sp=node7,"h#{ocnh}"
end
else
unless @lev_occurences[:l1] > 0
diff --git a/lib/sisu/v5/ao_endnotes.rb b/lib/sisu/v5/ao_endnotes.rb
index 5517cd87..e83cdfc3 100644
--- a/lib/sisu/v5/ao_endnotes.rb
+++ b/lib/sisu/v5/ao_endnotes.rb
@@ -76,11 +76,11 @@ module SiSU_AO_Endnotes
endnote_ref=1
data.each do |dob|
# manually numbered endnotes <!e(\d)!> <!e_(\d)!> -->
- if @md.opt.mod.inspect =~/--no-asterisk|--no-annotate/
+ if @md.opt.selections.str =~/--no-asterisk|--no-annotate/
dob.obj=dob.obj.
gsub(/#{Mx[:en_b_o]}\s.+?#{Mx[:en_b_c]}/,'')
end
- if @md.opt.mod.inspect =~/--no-dagger|--no-annotate/
+ if @md.opt.selections.str =~/--no-dagger|--no-annotate/
dob.obj=dob.obj.
gsub(/#{Mx[:en_b_o]}[+]\s.+?#{Mx[:en_b_c]}/,'')
end
diff --git a/lib/sisu/v5/ao_expand_insertions.rb b/lib/sisu/v5/ao_expand_insertions.rb
index dce14ee4..47ac9887 100644
--- a/lib/sisu/v5/ao_expand_insertions.rb
+++ b/lib/sisu/v5/ao_expand_insertions.rb
@@ -66,14 +66,18 @@ module SiSU_AO_Insertions
@md,@data=md,data
end
def output_filetypes_in_cmd(cmd_shortcut,lnk=nil) #make list of file types in shortcut command (as configured), e.g. when sisu -3 is used
- cf_defaults=SiSU_Env::InfoProcessingFlag.new
- cmd_list=case cmd_shortcut.inspect
- when /0/ then cf_defaults.cf_0
- when /1/ then cf_defaults.cf_1
- when /2/ then cf_defaults.cf_2
- when /3/ then cf_defaults.cf_3
- when /4/ then cf_defaults.cf_4
- when /5/ then cf_defaults.cf_5
+ act_defaults=SiSU_Env::InfoProcessingFlag.new
+ cmd_list=case cmd_shortcut.inspect #check on expectation, string v array
+ when /0/ then act_defaults.act_0.str
+ when /1/ then act_defaults.act_1.str
+ when /2/ then act_defaults.act_2.str
+ when /3/ then act_defaults.act_3.str
+ when /4/ then act_defaults.act_4.str
+ when /5/ then act_defaults.act_5.str
+ when /6/ then act_defaults.act_6.str
+ when /7/ then act_defaults.act_7.str
+ when /8/ then act_defaults.act_8.str
+ when /9/ then act_defaults.act_9.str
end
file_type_names={}
file_type_names[:gen],file_type_names[:src]=[],[]
diff --git a/lib/sisu/v5/cgi.rb b/lib/sisu/v5/cgi.rb
index efea863c..201f028b 100644
--- a/lib/sisu/v5/cgi.rb
+++ b/lib/sisu/v5/cgi.rb
@@ -61,7 +61,7 @@
(pgsql sqlite)
=end
-module SiSU_CGI #% database building documents
+module SiSU_CGI #% database building documents
require_relative 'se' # se.rb
require_relative 'cgi_pgsql' # cgi_pgsql.rb
require_relative 'cgi_sqlite' # cgi_sqlite.rb
@@ -71,9 +71,9 @@ module SiSU_CGI
@webserv=@opt.files[0].to_s.strip
end
def read
- if @opt.mod.inspect =~/--db[=-]["']?(?:pg|pg?sql|postgres(?:ql)?)["']+/
+ if @opt.act[:psql][:set]==:on
SiSU_CGI_PgSQL::SearchPgSQL.new(@opt,@webserv).pgsql
- elsif @opt.mod.inspect =~/--db[=-](?:sqlite)/
+ elsif @opt.act[:sqlite][:set]==:on
SiSU_CGI_SQLite::SearchSQLite.new(@opt,@webserv).sqlite
else
puts <<-WOK
diff --git a/lib/sisu/v5/cgi_pgsql.rb b/lib/sisu/v5/cgi_pgsql.rb
index 633e20fc..e5b61cc1 100644
--- a/lib/sisu/v5/cgi_pgsql.rb
+++ b/lib/sisu/v5/cgi_pgsql.rb
@@ -60,7 +60,7 @@
** Description: generates naive cgi search form for search of sisu database (pgsql)
=end
-module SiSU_CGI_PgSQL #% database building documents
+module SiSU_CGI_PgSQL #% database building documents
require_relative 'se' # se.rb
require_relative 'cgi_sql_common' # cgi_sql_common.rb
include SiSU_CGI_SQL
diff --git a/lib/sisu/v5/cgi_sql_common.rb b/lib/sisu/v5/cgi_sql_common.rb
index c760a9db..7fadb68e 100644
--- a/lib/sisu/v5/cgi_sql_common.rb
+++ b/lib/sisu/v5/cgi_sql_common.rb
@@ -64,7 +64,6 @@ module SiSU_CGI_SQL
class CGI_Common
def initialize(webserv,opt,image_src,dir)
@webserv,@opt,@image_src,@env=webserv,opt,image_src,dir
- @cmd=opt.cmd
end
def about
<<-'WOK_SQL'
diff --git a/lib/sisu/v5/cgi_sqlite.rb b/lib/sisu/v5/cgi_sqlite.rb
index 531071c4..4644dbc0 100644
--- a/lib/sisu/v5/cgi_sqlite.rb
+++ b/lib/sisu/v5/cgi_sqlite.rb
@@ -60,7 +60,7 @@
** Description: generates naive cgi search form for search of sisu database (sqlite)
=end
-module SiSU_CGI_SQLite #% database building documents
+module SiSU_CGI_SQLite #% database building documents
require_relative 'se' # se.rb
require_relative 'cgi_sql_common' # cgi_sql_common.rb
include SiSU_CGI_SQL
diff --git a/lib/sisu/v5/conf.rb b/lib/sisu/v5/conf.rb
index 820d0941..b126d320 100644
--- a/lib/sisu/v5/conf.rb
+++ b/lib/sisu/v5/conf.rb
@@ -206,10 +206,10 @@ module SiSU_Initialize
rnc.close
#xsd
schema=SiSU_Env::SystemCall.new(rnc_src,xsd_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
#rng
schema=SiSU_Env::SystemCall.new(rnc_src,rng_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
#rnc
if FileTest.file?(rnc_src)
FileUtils::cp(rnc_src,rnc_file)
@@ -228,10 +228,10 @@ module SiSU_Initialize
rnc.close
#xsd
schema=SiSU_Env::SystemCall.new(rnc_src,xsd_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
#rng
schema=SiSU_Env::SystemCall.new(rnc_src,rng_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
#rnc
if FileTest.file?(rnc_src)
FileUtils::cp(rnc_src,rnc_file)
@@ -250,10 +250,10 @@ module SiSU_Initialize
rnc.close
#xsd
schema=SiSU_Env::SystemCall.new(rnc_src,xsd_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
#rng
schema=SiSU_Env::SystemCall.new(rnc_src,rng_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
#rnc
if FileTest.file?(rnc_src)
FileUtils::cp(rnc_src,rnc_file)
@@ -268,7 +268,7 @@ module SiSU_Initialize
rnc << @rxng.rnc_model_output_sax
rnc.close
schema=SiSU_Env::SystemCall.new(rnc_file,dtd_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
end
def trang_rnc_model_input_dom
rnc_file=@env.processing_path.ao + '/dom.rnc'
@@ -277,7 +277,7 @@ module SiSU_Initialize
rnc << @rxng.rnc_model_output_dom
rnc.close
schema=SiSU_Env::SystemCall.new(rnc_file,dtd_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
end
def trang_rnc_model_input_node
rnc_file=@env.processing_path.ao + '/node.rnc'
@@ -286,7 +286,7 @@ module SiSU_Initialize
rnc << @rxng.rnc_model_input_node
rnc.close
schema=SiSU_Env::SystemCall.new(rnc_file,dtd_file)
- schema.relaxng(@opt.cmd)
+ schema.relaxng(@opt.selections.str)
end
end
end
diff --git a/lib/sisu/v5/constants.rb b/lib/sisu/v5/constants.rb
index 55c3ff2a..e0f28a6d 100644
--- a/lib/sisu/v5/constants.rb
+++ b/lib/sisu/v5/constants.rb
@@ -267,8 +267,8 @@ else
}
end
Db={
- name_prefix: "SiSU#{SiSU_is[:version_dir]}b_",
- name_prefix_db: "sisu_#{SiSU_is[:version_dir]}b_",
+ name_prefix: "SiSU#{SiSU_is[:version_dir]}c_",
+ name_prefix_db: "sisu_#{SiSU_is[:version_dir]}c_",
col_title: 800,
col_title_part: 400,
col_title_edition: 10,
diff --git a/lib/sisu/v5/css.rb b/lib/sisu/v5/css.rb
index b99359aa..f1598550 100644
--- a/lib/sisu/v5/css.rb
+++ b/lib/sisu/v5/css.rb
@@ -236,7 +236,7 @@ WOK
margin-bottom: 0px;
text-indent: 0mm;
}
- p, h0, h1, h2, h3, h4, h5, h6 {
+ p, h0, h1, h2, h3, h4, h5, h6, h7 {
display: block;
font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
font-size: 100%;
@@ -447,7 +447,7 @@ WOK
padding-left: 0em;
text-indent: 0em;
}
- p, h0, h1, h2, h3, h4, h5, h6 {
+ p, h0, h1, h2, h3, h4, h5, h6, h7 {
display: block;
font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
font-size: 100%;
@@ -1307,18 +1307,18 @@ WOK
font-weight: bold;
}
- h0, h1, h2, h3, h4, h5, h6 {
+ h0, h1, h2, h3, h4, h5, h6, h7 {
font-weight: bold;
line-height: 120%;
text-align: left;
margin-top: 20px;
margin-bottom: 10px;
}
- h4.norm, h5.norm, h6.norm {
+ h4.norm, h5.norm, h6.norm, h7.norm {
margin-top: 10px;
margin-bottom: 0px;
}
- h1.center, h2.center, h3.center, h4.center, h5.center, h6.center {
+ h1.center, h2.center, h3.center, h4.center, h5.center, h6.center, h7.center {
text-align: center;
}
h1 { font-size: 120%; }
@@ -1327,6 +1327,7 @@ WOK
h4 { font-size: 105%; }
h5 { font-size: 100%; }
h6 { font-size: 100%; }
+ h7 { font-size: 100%; }
h0 { font-size: 80%; }
h1.i {margin-left: 2em;}
@@ -1418,6 +1419,8 @@ WOK
}
h6.banner {
}
+ h7.banner {
+ }
.toc {
font-weight: normal;
@@ -1454,6 +1457,11 @@ WOK
font-size: 90%;
line-height: 110%;
}
+ h7.toc {
+ margin-left: 7em;
+ font-size: 85%;
+ line-height: 100%;
+ }
.microtoc {
margin-top: 2px;
@@ -1487,6 +1495,11 @@ WOK
font-weight: normal;
font-size: 90%;
}
+ h7.microtoc {
+ margin-left: 30mm;
+ font-weight: normal;
+ font-size: 85%;
+ }
.subtoc {
margin-right: 34%;
@@ -1504,6 +1517,12 @@ WOK
margin-top: 0px;
margin-bottom: 0px;
}
+ h7.subtoc {
+ margin-left: 4em;
+ font-size: 70%;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ }
div.substance {
width: 100%;
@@ -1629,15 +1648,19 @@ WOK
margin-left: 2em;
font-size: 85%;
}
+ h7.minitoc {
+ margin-left: 3em;
+ font-size: 80%;
+ }
h0.minitoc {
margin-left: 0em;
font-size: 90%;
}
- h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, p.c {
+ h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, h7.c, p.c {
text-align: center
}
- h1.red, h2.red, h3.red, h4.red, h5.red, h6.red {
+ h1.red, h2.red, h3.red, h4.red, h5.red, h6.red, h7.red {
text-align: center;
color: #ff0000;
margin-left: 5mm;
@@ -1646,7 +1669,7 @@ WOK
margin-bottom: 20px;
margin-right: 15mm;
}
- h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby {
+ h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby, h7.ruby {
text-align: center;
color: #990000;
margin-left: 5mm;
@@ -1856,6 +1879,11 @@ WOK
font-weight: bold;
text-align: left;
}
+ text[class|="h7"] {
+ font-size: 110%;
+ font-weight: bold;
+ text-align: left;
+ }
text[class|="indent0"] {
padding-left: 10%;
}
@@ -2591,6 +2619,11 @@ WOK
font-weight: bold;
text-align: left;
}
+ text[class|="h7"] {
+ font-size: 110%;
+ font-weight: bold;
+ text-align: left;
+ }
text[class|="indent0"] {
padding-left: 10%;
}
@@ -3271,6 +3304,11 @@ WOK
font-weight: bold;
text-align: left;
}
+ para.h7 {
+ font-size: 110%;
+ font-weight: bold;
+ text-align: left;
+ }
table {
margin-left: 5%;
display: block;
@@ -3427,6 +3465,11 @@ WOK
font-weight: bold;
text-align: left;
}
+ p.h7 {
+ font-size: 150%;
+ font-weight: bold;
+ text-align: left;
+ }
ocn {
display: block;
text-align: right;
diff --git a/lib/sisu/v5/db_create.rb b/lib/sisu/v5/db_create.rb
index 35b15ada..956a470a 100644
--- a/lib/sisu/v5/db_create.rb
+++ b/lib/sisu/v5/db_create.rb
@@ -264,6 +264,7 @@ module SiSU_DbCreate
lev4 SMALLINT,
lev5 SMALLINT,
lev6 SMALLINT,
+ lev7 SMALLINT,
en_a SMALLINT NULL,
en_z SMALLINT NULL,
en_a_asterisk SMALLINT NULL,
@@ -506,9 +507,9 @@ module SiSU_DbCreate
%{COMMENT ON COLUMN doc_objects.metadata_tid
IS 'tie to title in metadata_and_text';},
%{COMMENT ON COLUMN doc_objects.lev_an
- IS 'doc level A-D 1-6';},
+ IS 'doc level A-D 1-4';},
%{COMMENT ON COLUMN doc_objects.lev
- IS 'doc level 0-6 \d\~';},
+ IS 'doc level 0-7 \d\~';},
%{COMMENT ON COLUMN doc_objects.seg
IS 'segment name from level number 4 (lv 1)';},
%{COMMENT ON COLUMN doc_objects.ocn
@@ -547,6 +548,8 @@ module SiSU_DbCreate
IS 'document structure, level number 5';},
%{COMMENT ON COLUMN doc_objects.lev6
IS 'document structure, level number 6';},
+ %{COMMENT ON COLUMN doc_objects.lev7
+ IS 'document structure, level number 7';},
%{COMMENT ON COLUMN doc_objects.t_of
IS 'document structure, type of object (object is of)';},
%{COMMENT ON COLUMN doc_objects.t_is
diff --git a/lib/sisu/v5/db_import.rb b/lib/sisu/v5/db_import.rb
index 791eef43..5bb886ff 100644
--- a/lib/sisu/v5/db_import.rb
+++ b/lib/sisu/v5/db_import.rb
@@ -79,7 +79,7 @@ module SiSU_DbImport
@env=SiSU_Env::InfoEnv.new(@opt.fns)
@dal="#{@env.processing_path.ao}"
@fnb=if @opt.fns.empty? \
- or @opt.cmd.empty?
+ or @opt.selections.str.empty?
''
else
@md=SiSU_Param::Parameters.new(@opt).get
@@ -118,7 +118,7 @@ module SiSU_DbImport
puts "#{__FILE__}:#{__LINE__}" if @opt.act[:maintenance][:set]==:on
end
@id_n =0 if @col[:lid].nil? or @col[:lid].to_s.empty?
- @col[:lv0]=@col[:lv1]=@col[:lv2]=@col[:lv3]=@col[:lv4]=@col[:lv5]=@col[:lv6]=0
+ @col[:lv0]=@col[:lv1]=@col[:lv2]=@col[:lv3]=@col[:lv4]=@col[:lv5]=@col[:lv6]=@col[:lv7]=0
@db=SiSU_Env::InfoDb.new
@pdf_fn=SiSU_Env::FileOp.new(@md).base_filename
@@dl ||=SiSU_Env::InfoEnv.new.digest.length
@@ -233,7 +233,7 @@ module SiSU_DbImport
@conn.exec("COMMIT")
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
sqlfn="#{@env.processing_path.sql}/#{@md.fnb}.sql"
@@ -390,6 +390,7 @@ module SiSU_DbImport
when /1/ then @col[:lv1]+=1
when /2/ then @col[:lv2]+=1
when /3/ then @col[:lv3]+=1
+ when /4/ then @col[:lv4]+=1
end
@col[:lev]=@col[:plaintext]=@col[:body]=''
elsif data.is==:heading \
@@ -480,7 +481,8 @@ module SiSU_DbImport
@col[:lev]=@col[:plaintext]=@col[:body]=''
elsif data.is==:heading \
&& data.ln==6
- txt,@col[:ocn],@col[:lev_an],@col[:ocnd],@col[:ocns],@col[:t_of],@col[:t_is],@col[:node],@col[:parent],@col[:digest_clean],@col[:digest_all]=data.obj,data.ocn,data.lv,data.odv,data.osp,data.of,data.is,data.node,data.parent,'',''
+ txt, @col[:ocn],@col[:lev_an],@col[:ocnd],@col[:ocns],@col[:t_of],@col[:t_is],@col[:node],@col[:parent],@col[:digest_clean],@col[:digest_all]=
+ data.obj,data.ocn, data.lv, data.odv, data.osp, data.of, data.is, data.node, data.parent, '', ''
@@seg_full=data.name if data.is==:heading && data.ln==6 && data.name #check data.name
@@seg ||='' #nil # watch
@col[:seg]=@@seg
@@ -508,6 +510,37 @@ module SiSU_DbImport
t=SiSU_DbTuple::LoadDocuments.new(@conn,@col,@opt,@file_maint)
@tuple_array << t.tuple
@col[:lev]=@col[:plaintext]=@col[:body]=''
+ elsif data.is==:heading \
+ && data.ln==7
+ txt, @col[:ocn],@col[:lev_an],@col[:ocnd],@col[:ocns],@col[:t_of],@col[:t_is],@col[:node],@col[:parent],@col[:digest_clean],@col[:digest_all]=
+ data.obj,data.ocn, data.lv, data.odv, data.osp, data.of, data.is, data.node, data.parent, '', ''
+ @@seg_full=data.name if data.is==:heading && data.ln==7 && data.name #check data.name
+ @@seg ||='' #nil # watch
+ @col[:seg]=@@seg
+ @col[:lv7]+=1
+ @col[:lid]+=1
+ @col[:lev]=7
+ @hname=if @col[:seg] \
+ and not @col[:seg].to_s.empty?
+ @@hname=@col[:seg].to_s
+ else @@hname
+ end
+ @env=SiSU_Env::InfoEnv.new(@md.fns)
+ @base_url="#{@env.url.root}/#{@md.fnb}/#{@hname}.html"
+ txt=endnotes(txt).extract_any
+ body=SiSU_FormatShared::CSS_Format.new(@md,data).lev4_plus
+ @col[:body]=special_character_escape(body)
+ plaintext=@col[:body].dup
+ plaintext=strip_markup(plaintext)
+ @col[:plaintext]=clean_searchable_text(plaintext)
+ book_idx=book_idx_hash_to_str(data.idx)
+ @col[:book_idx]=clean_searchable_text(book_idx)
+ @en_a,@en_z=@en[0].first,@en[0].last if @en[0]
+ @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last if @en_ast[0]
+ @en_a_plus,@en_z_plus=@en_pls[0].first,@en_pls[0].last if @en_pls[0]
+ t=SiSU_DbTuple::LoadDocuments.new(@conn,@col,@opt,@file_maint)
+ @tuple_array << t.tuple
+ @col[:lev]=@col[:plaintext]=@col[:body]=''
#% :structure :layout :comment
elsif data.of==:structure \
|| data.of==:layout \
@@ -700,7 +733,7 @@ module SiSU_DbImport
end
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -833,7 +866,7 @@ module SiSU_DbImport
t=SiSU_DbTuple::LoadUrls.new(@conn,f,u,@@id_t,@opt,@file_maint)
tuple=t.tuple
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/db_load_tuple.rb b/lib/sisu/v5/db_load_tuple.rb
index 98310bfd..36c8fddf 100644
--- a/lib/sisu/v5/db_load_tuple.rb
+++ b/lib/sisu/v5/db_load_tuple.rb
@@ -69,8 +69,8 @@ module SiSU_DbTuple
def initialize(conn,col,opt,file_maint)
@conn,@col,@opt,@file_maint=conn,col,opt,file_maint
@col[:lev]=@col[:lev].to_i
- unless @col[:lev].inspect=~/^[0-6]/ \
- or @col[:lev]==0..6
+ unless @col[:lev].inspect=~/^[0-7]/ \
+ or @col[:lev]==0..7
@col[:lev]=9
end
@col[:ocn]=0 unless @col[:ocn].inspect=~/\d+/
@@ -78,11 +78,11 @@ module SiSU_DbTuple
end
def tuple #% import line
sql_entry=if @col[:en_a]
- "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, en_a, en_z, t_of, t_is, node, parent, digest_clean, digest_all) " +
- "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:en_a]}', '#{@col[:en_z]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
+ "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, lev7, en_a, en_z, t_of, t_is, node, parent, digest_clean, digest_all) " +
+ "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:lv7]}', '#{@col[:en_a]}', '#{@col[:en_z]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
else
- "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, t_of, t_is, node, parent, digest_clean, digest_all) " +
- "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
+ "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, lev7, t_of, t_is, node, parent, digest_clean, digest_all) " +
+ "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:lv7]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
end
if @opt.act[:verbose_plus][:set]==:on
if @opt.act[:maintenance][:set]==:on
@@ -97,7 +97,7 @@ module SiSU_DbTuple
end
end
if @opt.act[:verbose][:set]==:on
- if @col[:lev].inspect =~/[0-356]/
+ if @col[:lev].inspect =~/[0-35-7]/
lev=case @col[:lev].inspect
when /0/ then ':A'
when /1/ then ':B'
@@ -105,10 +105,11 @@ module SiSU_DbTuple
when /3/ then ':D'
when /5/ then ' 2'
when /6/ then ' 3'
+ when /7/ then ' 4'
end
- puts %{#{lev}>\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}}
+ puts %{#{lev}>\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:lv7]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}}
elsif @col[:lev].inspect =~/[4]/
- puts %{ #{@cX.green}1>#{@cX.off}\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}\t#{@col[:seg]}}
+ puts %{ #{@cX.green}1>#{@cX.off}\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:lv7]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}\t#{@col[:seg]}}
end
end
sql_entry
diff --git a/lib/sisu/v5/db_remove.rb b/lib/sisu/v5/db_remove.rb
index cff42409..324dbee4 100644
--- a/lib/sisu/v5/db_remove.rb
+++ b/lib/sisu/v5/db_remove.rb
@@ -178,7 +178,7 @@ module SiSU_DbRemove
|| @opt.act[:verbose_plus][:set]==:on \
|| @opt.act[:maintenance][:set]==:on)
SiSU_Screen::Ansi.new(
- @opt.cmd,
+ @opt.selections.str,
"no such file in database #{@db.psql.db}::#{@opt.fns}"
).puts_grey
end
diff --git a/lib/sisu/v5/dbi.rb b/lib/sisu/v5/dbi.rb
index 75b07372..a7bbd822 100644
--- a/lib/sisu/v5/dbi.rb
+++ b/lib/sisu/v5/dbi.rb
@@ -97,8 +97,7 @@ module SiSU_DBI
end
end
def maintenance_check(opt,file,line)
- p opt.mod
- p opt.cmd
+ p opt.selections.str
p "at #{file} #{line}"
end
def read_psql
@@ -134,7 +133,7 @@ manually create the database: "#{cX.green}#{@db.db}#{cX.off}" if it does not yet
end
SiSU_Screen::Ansi.new(
@opt.act[:color_state][:set],
- "DBI (#{@sql_type}) #{@opt.mod}",
+ "SQL DB #{@sql_type.upcase}",
@opt.fno
).dbi_title unless @opt.act[:quiet][:set]==:on
begin
diff --git a/lib/sisu/v5/dbi_discrete.rb b/lib/sisu/v5/dbi_discrete.rb
index 73976756..79d3f70a 100644
--- a/lib/sisu/v5/dbi_discrete.rb
+++ b/lib/sisu/v5/dbi_discrete.rb
@@ -127,7 +127,7 @@ module SiSU_DBI_Discrete #% database building
begin
SiSU_Screen::Ansi.new(
@opt.act[:color_state][:set],
- 'SQLite',
+ 'SQLite (discrete)',
"[#{@opt.f_pth[:lng_is]}] #{@opt.fno}"
).green_title_hi unless @opt.act[:quiet][:set]==:on
sdb.create_db
diff --git a/lib/sisu/v5/digests.rb b/lib/sisu/v5/digests.rb
index 83f26714..e1d51b1d 100644
--- a/lib/sisu/v5/digests.rb
+++ b/lib/sisu/v5/digests.rb
@@ -111,7 +111,7 @@ module SiSU_DigestView
SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('*EXITED* hash digests will not run without openssl')
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/dp.rb b/lib/sisu/v5/dp.rb
index 0dde14b8..ef61f6b4 100644
--- a/lib/sisu/v5/dp.rb
+++ b/lib/sisu/v5/dp.rb
@@ -103,8 +103,7 @@ module SiSU_Param
def initialize(opt)
@opt=opt
@cX||=SiSU_Screen::Ansi.new(@opt.act[:color_state][:set])
- @cmd,@mod=opt.cmd,opt.mod
- @fns=if @opt.cmd =~/P/ #revisit CHECK
+ @fns=if @opt.act[:psql][:set] == [:on] #revisit CHECK
opt.fns
else opt.fns.gsub(/\.ssm$/,'.ssm.sst')
end
@@ -886,7 +885,7 @@ module SiSU_Param
Dir.chdir(@opt.f_pth[:pth])
begin
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -951,10 +950,10 @@ module SiSU_Param
end
@concord_make=(@wc_words > @env.concord_max) ? false : true
@locale=@sys.locale
- @file_encoding=@sys.file_encoding(fns,@opt.cmd)
+ @file_encoding=@sys.file_encoding(fns,@opt.act)
# programs set here for things that affect output appearance only
@programs[:pdf]=SiSU_Env::SystemCall.new.program_found?('pdflatex')
- if @opt.cmd =~/P/ #if @env.multilingual?
+ if @opt.act[:psql][:set] == [:ok]
m=/((.+?)(?:\~\w\w(?:_\w\w)?)?)\.((?:-|ssm\.)?sst|ssm|ssi)$/ #watch added match for sss
@fnn,@fnb,@fnt=@fns[m,1],@fns[m,2],@fns[m,3]
@flv=@env.document_language_versions_found[:f]
@@ -967,7 +966,7 @@ module SiSU_Param
@papersize=@env.papersize #'A4' #default size #get first from SiSU_Env:: # @env is probably no longer most appropriate name! as default info is more general
@sfx_src=@fns[m,2]
if @fns =~ /(?:-|ssm\.)?sst$/ \
- and not @opt.cmd =~/P/ #watch
+ and not @opt.act[:psql][:set] == [:ok]
@env_out_root=@env.path.output
@dir_out="#{@env.path.output}/#{@fnb}"
@dir_tex=@env.processing_path.tex
@@ -1485,6 +1484,9 @@ module SiSU_Param
Store.new(self,@env).store #% pstore
self
rescue
+ if @opt.act[:harvest][:set]==:on
+ exit
+ end
end
end
private
@@ -1510,7 +1512,7 @@ module SiSU_Param
end
@@md=@md=nil
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/dp_identify_markup.rb b/lib/sisu/v5/dp_identify_markup.rb
index f6884c7d..82e63fd4 100644
--- a/lib/sisu/v5/dp_identify_markup.rb
+++ b/lib/sisu/v5/dp_identify_markup.rb
@@ -51,7 +51,7 @@
* Git
<http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
- <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/param_identify_markup.rb;hb=HEAD>
+ <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/dp_identify_markup.rb;hb=HEAD>
* Ralph Amissah
<ralph@amissah.com>
diff --git a/lib/sisu/v5/dp_make.rb b/lib/sisu/v5/dp_make.rb
index 05b5cbdf..bba58847 100644
--- a/lib/sisu/v5/dp_make.rb
+++ b/lib/sisu/v5/dp_make.rb
@@ -51,7 +51,7 @@
* Git
<http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
- <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/param_make.rb;hb=HEAD>
+ <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/dp_make.rb;hb=HEAD>
* Ralph Amissah
<ralph@amissah.com>
diff --git a/lib/sisu/v5/embedded.rb b/lib/sisu/v5/embedded.rb
index b46975fd..325d7780 100644
--- a/lib/sisu/v5/embedded.rb
+++ b/lib/sisu/v5/embedded.rb
@@ -83,7 +83,7 @@ module SiSU_Embedded
multimedia
begin
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -103,7 +103,7 @@ module SiSU_Embedded
src_ec=@f.place_file.images.rel + '/' + @md.ec[:image].join(" #{@f.output_path.images.rel}/")
unless @opt.fns =~/\.-sst$/
SiSU_Env::SystemCall.new(src_ec,ldest,'q').rsync('--relative',@opt.base_path)
- #if @md.opt.cmd.inspect =~/R/ #rsync to remote image directory
+ #if @md.opt.selections.str.inspect =~/R/ #rsync to remote image directory
# SiSU_Env::SystemCall.new(src_ec,remote_rel,'q').rsync('--relative')
#end
end
diff --git a/lib/sisu/v5/harvest.rb b/lib/sisu/v5/harvest.rb
index cc12b08e..ddc85055 100644
--- a/lib/sisu/v5/harvest.rb
+++ b/lib/sisu/v5/harvest.rb
@@ -76,7 +76,7 @@ module SiSU_Harvest
end
def read
begin
- harvest_pth="#{@env.path.webserv}/#{@opt.base_stub}"
+ harvest_pth=@env.path.webserv + '/' + @opt.base_stub
FileUtils::mkdir_p(harvest_pth) unless FileTest.directory?(harvest_pth)
cases(@opt,@env)
rescue
@@ -99,7 +99,7 @@ WOK
style.close
end
def cases(opt,env)
- case opt.mod.inspect
+ case opt.selections.str.inspect
when/--harvest/i
css(opt) if @opt.act[:maintenance][:set]==:on
SiSU_HarvestAuthors::Songsheet.new(opt,env).songsheet
diff --git a/lib/sisu/v5/harvest_authors.rb b/lib/sisu/v5/harvest_authors.rb
index 7904ab15..26a0a9e3 100644
--- a/lib/sisu/v5/harvest_authors.rb
+++ b/lib/sisu/v5/harvest_authors.rb
@@ -88,20 +88,36 @@ module SiSU_HarvestAuthors
end
lang_hash_file_array.each_pair do |lang,a|
idx_array[lang] ||= []
- idx_array=SiSU_HarvestAuthors::Harvest.new(@opt,@env,a,filename,name,idx_array,lang).extract_harvest
+ idx_array=SiSU_HarvestAuthors::Harvest.new(
+ @opt,
+ @env,
+ a,
+ filename,
+ name,
+ idx_array,
+ lang
+ ).extract_harvest
end
end
- the_idx=SiSU_HarvestAuthors::Index.new(idx_array,@@the_idx_authors).construct_book_author_index
- SiSU_HarvestAuthors::OutputIndex.new(@opt,the_idx).html_print.html_songsheet
+ the_idx=SiSU_HarvestAuthors::Index.new(
+ idx_array,
+ @@the_idx_authors
+ ).construct_book_author_index
+ SiSU_HarvestAuthors::OutputIndex.new(
+ @opt,
+ the_idx
+ ).html_print.html_songsheet
end
end
class Harvest
def initialize(opt,env,data,filename,name,idx_array,lang)
- @opt,@env,@data,@filename,@name,@idx_array,@lang=opt,env,data,filename,name,idx_array,lang
+ @opt, @env,@data,@filename,@name,@idx_array,@lang=
+ opt,env, data, filename, name, idx_array, lang
end
def extract_harvest
- data,filename,name,idx_array,lang=@data,@filename,@name,@idx_array,@lang
- @title,@subtitle,@fulltitle,@author,@author_format,@date=nil,nil,nil,nil,nil,nil
+ data, filename, name, idx_array, lang =
+ @data,@filename,@name,@idx_array,@lang
+ @title=@subtitle=@fulltitle=@author=@author_format=@date=nil
@authors=[]
rgx={}
rgx[:author]=/^@creator:(?:[ ]+|.+?:author:[ ]+)(.+?)(?:\||\n)/m
@@ -123,7 +139,9 @@ module SiSU_HarvestAuthors
end
break if @title && @subtitle && @author && @date
end
- @fulltitle=@subtitle ? (@title + ' - ' + @subtitle) : @title
+ @fulltitle=@subtitle \
+ ? (@title + ' - ' + @subtitle)
+ : @title
if @title \
and @author_format
creator=SiSU_FormatAuthor::Author.new(@author_format.strip).author_details
@@ -138,7 +156,15 @@ module SiSU_HarvestAuthors
else
"sisu_manifest.#{lang}.html"
end
- idx_array[lang] <<= { filename: filename, file: file, date: @date, title: @fulltitle, author: creator, page: page, lang: lang }
+ idx_array[lang] <<= {
+ filename: filename,
+ file: file,
+ date: @date,
+ title: @fulltitle,
+ author: creator,
+ page: page,
+ lang: lang
+ }
else
#p "missing author field: #{@filename} title: #{@title}; author: #{@author_format}"
end
@@ -164,7 +190,15 @@ module SiSU_HarvestAuthors
if @@the_idx_authors[lang][author].is_a?(NilClass)
@@the_idx_authors[lang][author]={ md: [] }
end
- @@the_idx_authors[lang][author][:md] << { filename: idx[:filename], file: idx[:file], author: idx[:author], title: idx[:title], date: idx[:date], page: idx[:page], lang: idx[:lang] }
+ @@the_idx_authors[lang][author][:md] << {
+ filename: idx[:filename],
+ file: idx[:file],
+ author: idx[:author],
+ title: idx[:title],
+ date: idx[:date],
+ page: idx[:page],
+ lang: idx[:lang]
+ }
end
end
end
@@ -188,18 +222,26 @@ module SiSU_HarvestAuthors
@output[lng] ||={}
harvest_pth,file='',''
if @env.output_dir_structure.by? == :language
- harvest_pth="#{@env.path.webserv}/#{@opt.base_stub}/#{lng}/manifest"
+ harvest_pth=@env.path.webserv + '/' \
+ + @opt.base_stub + '/' \
+ + lng + '/' \
+ + 'manifest'
file="#{harvest_pth}/authors.html"
elsif @env.output_dir_structure.by? == :filetype
- harvest_pth="#{@env.path.webserv}/#{@opt.base_stub}/manifest"
+ harvest_pth=@env.path.webserv + '/' \
+ + @opt.base_stub + '/' \
+ + 'manifest'
file="#{harvest_pth}/authors.#{lng}.html"
elsif @env.output_dir_structure.by? == :filename
- harvest_pth="#{@env.path.webserv}/#{@opt.base_stub}"
+ harvest_pth=@env.path.webserv + '/' \
+ + @opt.base_stub
file="#{harvest_pth}/authors.#{lng}.html"
end
- FileUtils::mkdir_p(harvest_pth) unless FileTest.directory?(harvest_pth)
+ FileUtils::mkdir_p(harvest_pth) \
+ unless FileTest.directory?(harvest_pth)
fileinfo=(@opt.act[:verbose][:set]==:on \
|| @opt.act[:verbose_plus][:set]==:on \
+ || @opt.act[:urls_selected][:set]==:on \
|| @opt.act[:maintenance][:set]==:on) \
? ("file://#{file}") : ''
SiSU_Screen::Ansi.new(
@@ -213,7 +255,8 @@ module SiSU_HarvestAuthors
def html_file_close
@the_idx.keys.each do |lng|
@output[lng][:html].close
- @output[lng][:html_mnt].close if @output[lng][:html_mnt].is_a?(File)
+ @output[lng][:html_mnt].close \
+ if @output[lng][:html_mnt].is_a?(File)
end
end
def html_print
@@ -257,18 +300,22 @@ module SiSU_HarvestAuthors
file="#{harvest_pth}/authors.#{lg}.html"
end
l=ln[lg][:t]
- harvest_languages += %{<a href="#{file}">#{l}</a>&nbsp;&nbsp;&nbsp;}
+ harvest_languages +=
+ %{<a href="#{file}">#{l}</a>&nbsp;&nbsp;&nbsp;}
end
sv=SiSU_Env::InfoVersion.instance.get_version
if @env.output_dir_structure.by? == :language
home_pth='../..'
- output_structure_by='(output organised by language &amp; filetype)'
+ output_structure_by=
+ '(output organised by language &amp; filetype)'
elsif @env.output_dir_structure.by? == :filetype
home_pth='..'
- output_structure_by='(output organised by filetype)'
+ output_structure_by=
+ '(output organised by filetype)'
elsif @env.output_dir_structure.by? == :filename
home_pth='.'
- output_structure_by='(output organised by filename)'
+ output_structure_by=
+ '(output organised by filename)'
else
home_pth='.'
output_structure_by='(output organised by ?)'
@@ -301,8 +348,11 @@ WOK
end
def html_head
@the_idx.keys.each do |lng|
- @output[lng][:html_mnt] << html_head_adjust(lng,'maintenance') if @opt.act[:maintenance][:set]==:on
- @output[lng][:html] << html_head_adjust(lng)
+ @output[lng][:html_mnt] \
+ << html_head_adjust(lng,'maintenance') \
+ if @opt.act[:maintenance][:set]==:on
+ @output[lng][:html] \
+ << html_head_adjust(lng)
end
end
def html_alph
@@ -315,7 +365,8 @@ WOK
end
a=a.join
@the_idx.keys.each do |lng|
- @output[lng][:html_mnt] << a if @opt.act[:maintenance][:set]==:on
+ @output[lng][:html_mnt] << a \
+ if @opt.act[:maintenance][:set]==:on
@output[lng][:html] << a
end
end
@@ -333,12 +384,14 @@ WOK
</html>
WOK
@the_idx.keys.each do |lng|
- @output[lng][:html_mnt] << a if @output[lng][:html_mnt].is_a?(File)
+ @output[lng][:html_mnt] << a \
+ if @output[lng][:html_mnt].is_a?(File)
@output[lng][:html] << a
end
end
def do_html(lng,html)
- @output[lng][:html_mnt] << html if @output[lng][:html_mnt].is_a?(File)
+ @output[lng][:html_mnt] << html \
+ if @output[lng][:html_mnt].is_a?(File)
@output[lng][:html] << html
end
def do_string_name(lng,attrib,string)
@@ -353,9 +406,11 @@ WOK
if @alph.length > 0
@letter=@alph.shift
if @output[lng][:html_mnt].is_a?(File)
- @output[lng][:html_mnt] << %{\n<p class="letter"><a name="#{@letter}"></p>#{@letter}</a><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>}
+ @output[lng][:html_mnt] \
+ << %{\n<p class="letter"><a name="#{@letter}"></p>#{@letter}</a><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>}
end
- @output[lng][:html] << %{\n<p class="letter"><a name="#{@letter}">#{@letter}</a></p><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>}
+ @output[lng][:html] \
+ << %{\n<p class="letter"><a name="#{@letter}">#{@letter}</a></p><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>}
else break
end
end
@@ -383,14 +438,18 @@ WOK
"./#{i[:file]}/#{i[:page]}"
else '' #error
end
- work=[ "#{i[:date]} #{i[:title]}", %{<p class="publication">#{i[:date]} <a href="#{manifest_at}">#{i[:title]}</a>, #{i[:author][:authors_s]}</p>} ]
+ work=[
+ "#{i[:date]} #{i[:title]}",
+ %{<p class="publication">#{i[:date]} <a href="#{manifest_at}">#{i[:title]}</a>, #{i[:author][:authors_s]}</p>}
+ ]
works<<=(@output[lng][:html_mnt].is_a?(File)) \
? (work.concat([%{<p class="publication">[<a href="#{i[:file]}.sst">src</a>]&nbsp;&nbsp;#{i[:date]} <a href="file://#{manifest_at}">#{i[:title]}</a>, #{i[:author][:authors_s]} -- [<a href="#{i[:file]}.sst">#{i[:file]}.sst</a>]</p>}]))
: work
end
works.sort_by {|y| y[0]}.each do |z|
@output[lng][:html] << z[1]
- @output[lng][:html_mnt] << z[2] if @output[lng][:html_mnt].is_a?(File)
+ @output[lng][:html_mnt] << z[2] \
+ if @output[lng][:html_mnt].is_a?(File)
end
end
end
diff --git a/lib/sisu/v5/harvest_topics.rb b/lib/sisu/v5/harvest_topics.rb
index cd507f63..62103618 100644
--- a/lib/sisu/v5/harvest_topics.rb
+++ b/lib/sisu/v5/harvest_topics.rb
@@ -90,11 +90,27 @@ module SiSU_HarvestTopics
end
lang_hash_file_array.each_pair do |lang,a|
idx_array[lang] ||=[]
- idx_array=SiSU_HarvestTopics::Harvest.new(@opt,@env,a,filename,name,idx_array,lang).extract_harvest
+ idx_array=SiSU_HarvestTopics::Harvest.new(
+ @opt,
+ @env,
+ a,
+ filename,
+ name,
+ idx_array,
+ lang
+ ).extract_harvest
end
end
- the_hash=SiSU_HarvestTopics::Index.new(@opt,@env,idx_array,@@the_idx_topics).song
- SiSU_HarvestTopics::OutputIndex.new(@opt,the_hash).html_print.html_songsheet
+ the_hash=SiSU_HarvestTopics::Index.new(
+ @opt,
+ @env,
+ idx_array,
+ @@the_idx_topics
+ ).song
+ SiSU_HarvestTopics::OutputIndex.new(
+ @opt,
+ the_hash
+ ).html_print.html_songsheet
end
end
class Mix
@@ -104,11 +120,13 @@ module SiSU_HarvestTopics
end
class Harvest
def initialize(opt,env,data,filename,name,idx_array,lang)
- @opt,@env,@data,@filename,@name,@idx_array,@lang=opt,env,data,filename,name,idx_array,lang
+ @opt, @env,@data,@filename,@name,@idx_array,@lang=
+ opt,env, data, filename, name, idx_array, lang
end
def extract_harvest
- data,filename,name,idx_array,lang=@data,@filename,@name,@idx_array,@lang
- @idx_lst,@title,@subtitle,@fulltitle,@author,@author_format=nil,nil,nil,nil,nil,nil
+ data, filename, name, idx_array, lang=
+ @data,@filename,@name,@idx_array,@lang
+ @idx_lst=@title=@subtitle=@fulltitle=@author=@author_format=nil
rgx={}
rgx[:author]=/^@creator:(?:[ ]+|.+?:author:[ ]+)(.+?)(?:\||\n)/m
rgx[:title]=/^@title:[ ]+(.+)/
@@ -150,10 +168,26 @@ module SiSU_HarvestTopics
idxl=[]
g.each do |i|
i=i.strip
- idxl << { filename: filename, file: file, rough_idx: i, title: @fulltitle, author: creator, page: page, lang: lang }
+ idxl << {
+ filename: filename,
+ file: file,
+ rough_idx: i,
+ title: @fulltitle,
+ author: creator,
+ page: page,
+ lang: lang
+ }
end
idxl
- else { filename: filename, file: file, rough_idx: @idx_list, title: @fulltitle, author: creator, page: page, lang: lang }
+ else {
+ filename: filename,
+ file: file,
+ rough_idx: @idx_list,
+ title: @fulltitle,
+ author: creator,
+ page: page,
+ lang: lang,
+ }
end
else
if (@opt.act[:verbose_plus][:set]==:on \
@@ -167,7 +201,8 @@ module SiSU_HarvestTopics
end
class Index < Mix
def initialize(opt,env,idx_array,the_idx)
- @opt,@env,@idx_array,@the_idx=opt,env,idx_array,the_idx
+ @opt, @env,@idx_array,@the_idx=
+ opt,env, idx_array, the_idx
@@the_idx_topics=@the_idx
end
def song
@@ -195,7 +230,13 @@ module SiSU_HarvestTopics
names += %{<a href="authors.#{lang}.html##{s}">#{n}</a>, }
end
end
- { filename: idx[:filename], file: idx[:file], author: names, title: idx[:title], page: idx[:page] }
+ {
+ filename: idx[:filename],
+ file: idx[:file],
+ author: names,
+ title: idx[:title],
+ page: idx[:page]
+ }
end
def capital_(txt)
txt[0].chr.capitalize + txt[1,txt.length]
@@ -471,18 +512,26 @@ module SiSU_HarvestTopics
@output[lng] ||={}
harvest_pth,file='',''
if @env.output_dir_structure.by? == :language
- harvest_pth="#{@env.path.webserv}/#{@opt.base_stub}/#{lng}/manifest"
- file="#{harvest_pth}/topics.html"
+ harvest_pth=@env.path.webserv + '/' \
+ + @opt.base_stub + '/' \
+ + lng + '/' \
+ + 'manifest'
+ file=harvest_pth + '/' + 'topics.html'
elsif @env.output_dir_structure.by? == :filetype
- harvest_pth="#{@env.path.webserv}/#{@opt.base_stub}/manifest"
- file="#{harvest_pth}/topics.#{lng}.html"
+ harvest_pth=@env.path.webserv + '/' \
+ + @opt.base_stub + '/' \
+ + 'manifest'
+ file=harvest_pth + '/' + 'topics.' + lng + '.html'
elsif @env.output_dir_structure.by? == :filename
- harvest_pth="#{@env.path.webserv}/#{@opt.base_stub}"
- file="#{harvest_pth}/topics.#{lng}.html"
+ harvest_pth=@env.path.webserv + '/' \
+ + @opt.base_stub
+ file=harvest_pth + '/' + 'topics.' + lng + '.html'
end
- FileUtils::mkdir_p(harvest_pth) unless FileTest.directory?(harvest_pth)
+ FileUtils::mkdir_p(harvest_pth) \
+ unless FileTest.directory?(harvest_pth)
fileinfo=(@opt.act[:verbose][:set]==:on \
|| @opt.act[:verbose_plus][:set]==:on \
+ || @opt.act[:urls_selected][:set]==:on \
|| @opt.act[:maintenance][:set]==:on) \
? ("file://#{file}")
: ''
@@ -615,16 +664,17 @@ module SiSU_HarvestTopics
@the_idx.keys.each do |lg|
if @env.output_dir_structure.by? == :language
harvest_pth="../../#{lg}/manifest"
- file="#{harvest_pth}/topics.html"
+ file=harvest_pth + '/' + 'topics.html'
elsif @env.output_dir_structure.by? == :filetype
harvest_pth='.'
- file="#{harvest_pth}/topics.#{lg}.html"
+ file=harvest_pth + '/' + 'topics.' + lg + '.html'
elsif @env.output_dir_structure.by? == :filename
harvest_pth='.'
- file="#{harvest_pth}/topics.#{lg}.html"
+ file=harvest_pth + '/topics.' + lg + '.html'
end
l=ln[lg][:t]
- harvest_languages += %{<a href="#{file}">#{l}</a>&nbsp;&nbsp;&nbsp;}
+ harvest_languages +=
+ %{<a href="#{file}">#{l}</a>&nbsp;&nbsp;&nbsp;}
end
sv=SiSU_Env::InfoVersion.instance.get_version
if @env.output_dir_structure.by? == :language
@@ -668,7 +718,9 @@ WOK
end
def html_head
@the_idx.keys.each do |lng|
- @output[lng][:html_mnt] << html_head_adjust(lng,'maintenance') if @opt.act[:maintenance][:set]==:on
+ @output[lng][:html_mnt] \
+ << html_head_adjust(lng,'maintenance') \
+ if @opt.act[:maintenance][:set]==:on
@output[lng][:html] << html_head_adjust(lng)
end
end
@@ -682,7 +734,8 @@ WOK
end
a=a.join
@the_idx.keys.each do |lng|
- @output[lng][:html_mnt] << a if @opt.act[:maintenance][:set]==:on
+ @output[lng][:html_mnt] << a \
+ if @opt.act[:maintenance][:set]==:on
@output[lng][:html] << a
end
end
@@ -700,7 +753,8 @@ WOK
</html>
WOK
@the_idx.keys.each do |lng|
- @output[lng][:html_mnt] << a if @output[lng][:html_mnt].is_a?(File)
+ @output[lng][:html_mnt] << a \
+ if @output[lng][:html_mnt].is_a?(File)
@output[lng][:html] << a
end
end
@@ -708,12 +762,14 @@ WOK
@output[lng][:html] << html
end
def do_html_maintenance(lng,html)
- @output[lng][:html_mnt] << html if @output[lng][:html_mnt].is_a?(File)
+ @output[lng][:html_mnt] << html \
+ if @output[lng][:html_mnt].is_a?(File)
end
def do_string(lng,attrib,string)
html=%{<p class="#{attrib}">#{string}</p>}
do_html(lng,html)
- do_html_maintenance(lng,html) if @output[lng][:html_mnt].is_a?(File)
+ do_html_maintenance(lng,html) \
+ if @output[lng][:html_mnt].is_a?(File)
end
def do_string_default(lng,attrib,string)
html=%{<p class="#{attrib}">#{string}</p>}
@@ -721,7 +777,8 @@ WOK
end
def do_string_maintenance(lng,attrib,string)
html=%{<p class="#{attrib}">#{string}</p>}
- do_html_maintenance(lng,html) if @output[lng][:html_mnt].is_a?(File)
+ do_html_maintenance(lng,html) \
+ if @output[lng][:html_mnt].is_a?(File)
end
def do_string_name(lng,attrib,string)
f=/^(\S)/.match(string)[1]
@@ -735,9 +792,11 @@ WOK
if @alph.length > 0
@letter=@alph.shift
if @output[lng][:html_mnt].is_a?(File)
- @output[lng][:html_mnt] << %{\n<p class="letter"><a name="#{@letter}">#{@letter}</a></p><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>}
+ @output[lng][:html_mnt] \
+ << %{\n<p class="letter"><a name="#{@letter}">#{@letter}</a></p><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>}
end
- @output[lng][:html] << %{\n<p class="letter"><a name="#{@letter}">#{@letter}</a></p><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>}
+ @output[lng][:html] \
+ << %{\n<p class="letter"><a name="#{@letter}">#{@letter}</a></p><p class="book_index_lev1"><a name="#{@letter.downcase}"></a></p>}
else break
end
end
@@ -745,7 +804,8 @@ WOK
name=string.strip.gsub(/\s+/,'_')
html=%{<p class="#{attrib}"><a name="#{name}">#{string}</a></p>}
do_html(lng,html)
- do_html_maintenance(lng,html) if @output[lng][:html_mnt].is_a?(File)
+ do_html_maintenance(lng,html) \
+ if @output[lng][:html_mnt].is_a?(File)
end
def do_array(lng,lv,array)
lv+=1
diff --git a/lib/sisu/v5/html.rb b/lib/sisu/v5/html.rb
index a613f56f..683eba96 100644
--- a/lib/sisu/v5/html.rb
+++ b/lib/sisu/v5/html.rb
@@ -150,7 +150,7 @@ module SiSU_HTML
SiSU_HTML::Source::Output.new(scroll,@md).scroll
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -163,7 +163,7 @@ module SiSU_HTML
end
end
end
- SiSU_Env::Clear.new(@opt.cmd,@opt.fns,@md).param_instantiate
+ SiSU_Env::Clear.new(@opt.selections.str,@opt.fns,@md).param_instantiate
@@flag,@@scr,@@seg,@@seg_endnotes,@@seg_subtoc,@@seg_ad={},{},{},{},{},{}
@@seg_total,@@tracker,@@loop_count,@@tablehead,@@number_of_cols=0,0,0,0,0
@@seg_name,@@seg_name_html,@@seg_subtoc_array,@@seg_endnotes_array,@@segtocband,@@tablefoot=Array.new(7){[]}
@@ -305,7 +305,7 @@ module SiSU_HTML
@@toc[:seg_mini] << toc[:seg_mini] if toc[:seg_mini]
@@toc[:scr] << toc[:scr] if toc[:scr]
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -729,7 +729,7 @@ WOK
end
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -751,7 +751,7 @@ WOK
end
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/html_concordance.rb b/lib/sisu/v5/html_concordance.rb
index dbaf83cf..c02b8f5c 100644
--- a/lib/sisu/v5/html_concordance.rb
+++ b/lib/sisu/v5/html_concordance.rb
@@ -51,7 +51,7 @@
* Git
<http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
- <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/concordance.rb;hb=HEAD>
+ <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/html_concordance.rb;hb=HEAD>
* Ralph Amissah
<ralph@amissah.com>
@@ -118,7 +118,7 @@ module SiSU_Concordance
SiSU_Concordance::Source::Words.new(@particulars).songsheet
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -236,18 +236,19 @@ WOK
@alphlst=SiSU_i18n::Alphabet.new(@md.opt.lng).hash_strings
@rgx_scanlist=%r{#{Mx[:fa_italics_o]}[#{@alphlst[:l]}#{@alphlst[:u]}0-9"\s]{2,12}#{Mx[:fa_italics_c]}|#{Mx[:fa_bold_o]}[#{@alphlst[:l]}#{@alphlst[:u]}0-9"\s]{2,12}#{Mx[:fa_bold_c]}|(?:https?|file)://\S+|<\S+?>|[#{@alphlst[:l]}#{@alphlst[:u]}]+|\w+}mi
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
end
def songsheet
begin
- FileUtils::mkdir_p(@file.output_path.html_concordance.dir) unless FileTest.directory?(@file.output_path.html_concordance.dir)
+ FileUtils::mkdir_p(@file.output_path.html_concordance.dir) \
+ unless FileTest.directory?(@file.output_path.html_concordance.dir)
@file_concordance=File.open(@file.place_file.html_concordance.dir,'w')
map_para
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/html_format.rb b/lib/sisu/v5/html_format.rb
index 058a8f34..7731464a 100644
--- a/lib/sisu/v5/html_format.rb
+++ b/lib/sisu/v5/html_format.rb
@@ -1065,6 +1065,9 @@ WOK
def heading_body6
heading_normal('h6','norm')
end
+ def heading_body7
+ heading_normal('h7','norm')
+ end
def title_heading(tag,attrib)
cl=(@make.build.html_minitoc?) \
? 'content'
@@ -1228,6 +1231,8 @@ WOK
end
def navigation_toc_lev6
end
+ def navigation_toc_lev7
+ end
def endnote_seg_body(fn='') #FIX #url construction keep within single line... BUG WATCH 200408
fn='doc' if fn.to_s.empty? #you may wish to reconsider, sends to 'doc' where no segment info
%{
@@ -1265,6 +1270,9 @@ WOK
def subtoc_lev6
subtoc_lev('h6','subtoc') if @txt
end
+ def subtoc_lev7
+ subtoc_lev('h7','subtoc') if @txt
+ end
def heading_sub(tag,attrib)
@txt=@txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
%{
@@ -1357,6 +1365,9 @@ WOK
def lev6
lev('h6','toc')
end
+ def lev7
+ lev('h7','toc')
+ end
def strip_endnotes(txt)
txt=txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
txt
@@ -1389,6 +1400,10 @@ WOK
@txt=strip_endnotes(@txt)
lev('h6','minitoc')
end
+ def mini_lev7
+ @txt=strip_endnotes(@txt)
+ lev('h7','minitoc')
+ end
def mini_lev0 #docinfo
lev('h1','minitoc')
end
diff --git a/lib/sisu/v5/html_scroll.rb b/lib/sisu/v5/html_scroll.rb
index 01fe2940..c11a532a 100644
--- a/lib/sisu/v5/html_scroll.rb
+++ b/lib/sisu/v5/html_scroll.rb
@@ -76,7 +76,7 @@ module SiSU_HTML_Scroll
scr[:tails]=SiSU_HTML_Scroll::Scroll.new(@md).tails
scr
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -88,11 +88,13 @@ module SiSU_HTML_Scroll
@rcdc=false
@scr={ body: [], metadata: [], owner_details: [] }
data.each do |dob|
- dob.obj=dob.obj.gsub(/#{@md.file.output_path.html_seg.rel_image}/m,@md.file.output_path.html_scroll.rel_image)
+ dob.obj=dob.obj.gsub(/#{@md.file.output_path.html_seg.rel_image}/m,
+ @md.file.output_path.html_scroll.rel_image)
if defined? dob.name and dob.name =~/^meta/ \
and dob.obj =~/Document Information/
- dob.obj=dob.obj.gsub(/(Document Information(?: \(metadata\))?)/,
- '\1<a name="docinfo"></a>')
+ dob.obj=dob.obj.
+ gsub(/(Document Information(?: \(metadata\))?)/,
+ '\1<a name="docinfo"></a>')
end
if dob.obj =~/^Metadata$/ \
and dob.lv =='B'
@@ -108,7 +110,8 @@ module SiSU_HTML_Scroll
gsub(/href="#{Xx[:segment]}/m,'href="')
if dob.obj !~/(^#{Rx[:meta]}|#{Mx[:br_eof]})/
unless dob.is ==:code
- dob.obj=dob.obj.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
+ dob.obj=dob.obj.
+ gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
end
if defined? dob.ocn
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,dob.ocn)
@@ -129,6 +132,8 @@ module SiSU_HTML_Scroll
sto.heading_body5
elsif dob.ln==6
sto.heading_body6
+ elsif dob.ln==7
+ sto.heading_body7
end
elsif dob.is==:break \
and dob.from==:markup
@@ -162,7 +167,8 @@ module SiSU_HTML_Scroll
elsif dob.ln==4 \
and dob.obj=='Index'
sto.heading_body4
- book_idx=SiSU_Particulars::CombinedSingleton.instance.get_idx_html(@md.opt).html_idx
+ book_idx=SiSU_Particulars::CombinedSingleton.
+ instance.get_idx_html(@md.opt).html_idx
book_idx.each do |y| #takes book index prepared for segments & strips segment identifying info
y.gsub!(/<a href="\S+?\.html#(\d+)">(\1(?:-\d+)?)<\/a>/,
'<a href="#\1">\2</a>')
@@ -176,6 +182,10 @@ module SiSU_HTML_Scroll
unless dob.obj.empty?
sto.heading_body6
end
+ elsif dob.ln==7
+ unless dob.obj.empty?
+ sto.heading_body7
+ end
end
elsif dob.is==:para
if dob.indent \
@@ -222,7 +232,9 @@ module SiSU_HTML_Scroll
def tails
scr_tail=[]
format_head_scroll=SiSU_HTML_Format::HeadToc.new(@md)
- scr_tail << format_head_scroll.scroll_tail << format_head_scroll.html_close
+ scr_tail \
+ << format_head_scroll.scroll_tail \
+ << format_head_scroll.html_close
scr_tail
end
end
diff --git a/lib/sisu/v5/html_segments.rb b/lib/sisu/v5/html_segments.rb
index 5826163e..9b0cc1c7 100644
--- a/lib/sisu/v5/html_segments.rb
+++ b/lib/sisu/v5/html_segments.rb
@@ -67,7 +67,8 @@ module SiSU_HTML_Seg
require_relative 'shared_metadata' # shared_metadata.rb
class Output
def initialize(md,outputfile,seg,minitoc,type='')
- @md,@output_seg_file,@seg,@minitoc,@type=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).html_seg_title_banner?
@file=SiSU_Env::FileOp.new(@md)
@make=SiSU_Env::ProcessingSettings.new(@md)
@@ -79,59 +80,97 @@ module SiSU_HTML_Seg
if @seg[:title] =~/\S/
filename_seg=[]
if @make.build.html_top_band?
- filename_seg << @seg[:title] << @seg[:tocband_banner]
+ filename_seg \
+ << @seg[:title] \
+ << @seg[:tocband_banner]
else
- filename_seg << @seg[:title]
+ filename_seg \
+ << @seg[:title]
end
if @type=='endnotes'
@seg[:headings]=[]
format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md)
if @title_banner_
- @seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author)
+ @seg[:headings] \
+ << format_head_seg.
+ title_banner(@md.title.main,@md.title.sub,@author)
end
txt_obj={ txt: 'Endnotes', ocn_display: '' }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @seg[:headings] << format_seg.title_heading1
- filename_seg << @seg[:heading_endnotes] << @minitoc << @seg[:headings] << %{\n<div class="#{@cl}">\n} << @seg[:endnote_all] << '</div>' # << '</div>'
+ @seg[:headings] \
+ << format_seg.title_heading1
+ filename_seg \
+ << @seg[:heading_endnotes] \
+ << @minitoc << @seg[:headings] \
+ << %{\n<div class="#{@cl}">\n} \
+ << @seg[:endnote_all] \
+ << '</div>' # << '</div>'
elsif @type=='idx'
@seg[:headings]=[]
format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md)
if @title_banner_
- @seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author)
+ @seg[:headings] \
+ << format_head_seg.
+ title_banner(@md.title.main,@md.title.sub,@author)
end
txt_obj={ txt: 'Index', ocn_display: '' }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
@seg[:headings] << format_seg.title_heading1
- filename_seg << @seg[:heading_idx] << @minitoc << @seg[:headings] << %{\n<div class="#{@cl}">\n} << @seg[:idx] << '</div>' # << '</div>'
+ filename_seg \
+ << @seg[:heading_idx] \
+ << @minitoc << @seg[:headings] \
+ << %{\n<div class="#{@cl}">\n} \
+ << @seg[:idx] \
+ << '</div>' # << '</div>'
elsif @type=='metadata'
metadata=SiSU_Metadata::Summary.new(@md).xhtml_display.metadata
@seg[:headings]=[]
format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md)
if @title_banner_
- @seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author)
+ @seg[:headings] \
+ << format_head_seg.
+ title_banner(@md.title.main,@md.title.sub,@author)
end
txt_obj={ txt: 'Metadata', ocn_display: '' }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
@seg[:headings] << format_seg.title_heading1
- filename_seg << @seg[:heading_idx] << @minitoc << @seg[:headings] << %{\n<div class="#{@cl}">\n} << metadata << '</div>' # << '</div>'
+ filename_seg \
+ << @seg[:heading_idx] \
+ << @minitoc \
+ << @seg[:headings] \
+ << %{\n<div class="#{@cl}">\n} \
+ << metadata \
+ << '</div>' # << '</div>'
else
if @make.build.html_top_band?
- filename_seg << @minitoc << @seg[:headings] << @seg[:main] << "\n</div>\n"
+ filename_seg \
+ << @minitoc \
+ << @seg[:headings] \
+ << @seg[:main] \
+ << "\n</div>\n"
else
- filename_seg << @minitoc << @seg[:main] << "\n</div>\n"
+ filename_seg \
+ << @minitoc \
+ << @seg[:main] \
+ << "\n</div>\n"
end
end
filename_seg <<=if @make.build.html_top_band?
- @seg[:tail] << @seg[:tocband_bannerless] << @seg[:credits]
+ @seg[:tail] \
+ << @seg[:tocband_bannerless] \
+ << @seg[:credits]
else
- @seg[:tail] << @seg[:credits]
+ @seg[:tail] \
+ << @seg[:credits]
end
filename_seg=filename_seg.flatten.compact #watch
filename_seg.each do |str|
unless str =~/\A\s*\Z/
str=str.strip.
- gsub(Xx[:html_relative2],@file.path_rel_links.html_seg_2).
- gsub(Xx[:html_relative1],@file.path_rel_links.html_seg_1)
+ gsub(Xx[:html_relative2],
+ @file.path_rel_links.html_seg_2).
+ gsub(Xx[:html_relative1],
+ @file.path_rel_links.html_seg_1)
@output_seg_file << str
end
end
@@ -146,7 +185,17 @@ module SiSU_HTML_Seg
@@loop_count=@@seg_total=@@tracker=0
@@is4=@@is3=@@is2=@@is1=@@is0=0
@@heading0=@@heading1=@@heading2=@@heading3=@@heading4=0
- @@seg[:tocband_banner],@@seg[:tocband_bannerless],@@seg[:title],@@seg[:headings],@@seg[:main],@@seg[:idx],@@seg[:tail],@@seg[:credits],@@seg_subtoc_array,@@seg_endnotes_array,@@seg[:endnote_all]=Array.new(11){[]}
+ @@seg[:tocband_banner],
+ @@seg[:tocband_bannerless],
+ @@seg[:title],@@seg[:headings],
+ @@seg[:main],
+ @@seg[:idx],
+ @@seg[:tail],
+ @@seg[:credits],
+ @@seg_subtoc_array,
+ @@seg_endnotes_array,
+ @@seg[:endnote_all]=
+ Array.new(11){[]}
@@seg[:heading_endnotes]=''
@@tablehead,@@number_of_cols=0,0
@@dp,@@segtocband=nil,nil
@@ -177,7 +226,7 @@ module SiSU_HTML_Seg
SiSU_HTML_Seg::Seg.new.cleanup # (((( added ))))
#### (((( END )))) ####
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -192,7 +241,8 @@ module SiSU_HTML_Seg
idx_html=nil
if @md.book_idx
#my_make_source_file=SiSU_Env::CreateFile.new(@md.fns)
- idx_html=SiSU_Particulars::CombinedSingleton.instance.get_idx_html(@md.opt).html_idx
+ idx_html=SiSU_Particulars::CombinedSingleton.
+ instance.get_idx_html(@md.opt).html_idx
idx_html.each {|x| @@seg[:idx] << x }
@@seg[:heading_idx]=''
end
@@ -215,7 +265,8 @@ module SiSU_HTML_Seg
@@seg_name.length
).segmented
end
- map_nametags=SiSU_Particulars::CombinedSingleton.instance.get_map_nametags(@md).nametags_map #p map_nametags
+ map_nametags=SiSU_Particulars::CombinedSingleton.
+ instance.get_map_nametags(@md).nametags_map #p map_nametags
data.each do |dob|
if defined? dob.obj \
and dob.obj =~/href="#{Xx[:segment]}#+\S+?"/
@@ -227,10 +278,12 @@ module SiSU_HTML_Seg
lng=(inf.output_dir_structure.by_language_code?) \
? ''
: '.' + @md.opt.lng
- dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/,%{href="#{map_nametags[m][:segname]}#{lng}#{Sfx[:html]}#\\1"})
+ dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/,
+ %{href="#{map_nametags[m][:segname]}#{lng}#{Sfx[:html]}#\\1"})
else
p "NOT FOUND name_tags: #{m}"
- dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/,%{href="#\\1"}) # not satisfactory
+ dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/,
+ %{href="#\\1"}) # not satisfactory
end
end
end
@@ -281,7 +334,8 @@ module SiSU_HTML_Seg
if tracking != 0
@file=SiSU_Env::FileOp.new(@md)
unless FileTest.directory?(@file.output_path.html_seg.dir)
- FileUtils::mkdir_p(@file.output_path.html_seg.dir) if File.writable?("#{@file.output_path.base.dir}/.")
+ FileUtils::mkdir_p(@file.output_path.html_seg.dir) \
+ if File.writable?("#{@file.output_path.base.dir}/.")
end
SiSU_HTML_Seg::Seg.new(@md).tail
fnh={
@@ -357,7 +411,7 @@ module SiSU_HTML_Seg
&& (@make.build.html_navigation_bar?)
x=if (dob.is==:heading \
|| dob.is==:heading_insert) \
- && (dob.ln.to_s =~/^[0-6]/)
+ && (dob.ln.to_s =~/^[0-7]/)
x=if @@tracker < @@seg_total-1
format_head_seg.dot_control_pre_next
else
@@ -387,10 +441,14 @@ module SiSU_HTML_Seg
@p_num ||= ''
if @@is0==1
@author=%{<b>#{@md.author}</b>\n} if @md.author.to_s =~/\S/
- @@seg[:tocband_banner] << format_head_seg.navigation_band(@@segtocband,@@seg[:dot_nav])
- @@seg[:tocband_bannerless] << '<br />' << format_head_seg.navigation_band_bottom(@@segtocband,@@seg[:dot_nav])
+ @@seg[:tocband_banner] \
+ << format_head_seg.navigation_band(@@segtocband,@@seg[:dot_nav])
+ @@seg[:tocband_bannerless] \
+ << '<br />' \
+ << format_head_seg.navigation_band_bottom(@@segtocband,@@seg[:dot_nav])
if @title_banner_
- @@seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author).gsub(clean,'')
+ @@seg[:headings] \
+ << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author).gsub(clean,'')
end
ocn=(@@heading0[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]) \
? $1
@@ -398,8 +456,10 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: @@heading0, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading0.gsub(clean,'')
- @@heading0=@@heading0.gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
+ @@seg[:headings] \
+ << format_seg.title_heading0.gsub(clean,'')
+ @@heading0=@@heading0.
+ gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
end
if @@is1==1
heading1=@@heading1
@@ -409,8 +469,10 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: heading1, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading1.gsub(clean,'')
- @@heading1=@@heading1.gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
+ @@seg[:headings] \
+ << format_seg.title_heading1.gsub(clean,'')
+ @@heading1=@@heading1.
+ gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
end
if @@is2==1
heading2=@@heading2
@@ -420,8 +482,10 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: heading2, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading2.gsub(clean,'')
- @@heading2=@@heading2.gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
+ @@seg[:headings] \
+ << format_seg.title_heading2.gsub(clean,'')
+ @@heading2=@@heading2.
+ gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
end
if @@is3==1
heading3=@@heading3
@@ -431,8 +495,10 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: heading3, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading3.gsub(clean,'')
- @@heading3=@@heading3.gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
+ @@seg[:headings] \
+ << format_seg.title_heading3.gsub(clean,'')
+ @@heading3=@@heading3.
+ gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
end
if @@is4==1
heading4=@@heading4
@@ -442,7 +508,8 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: heading4, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading4.gsub(clean,'')
+ @@seg[:headings] \
+ << format_seg.title_heading4.gsub(clean,'')
end
@@tracker=@@tracker+1
end
@@ -467,6 +534,8 @@ module SiSU_HTML_Seg
sto.seg_heading5
elsif dob.ln==6
sto.seg_heading6
+ elsif dob.ln==7
+ sto.seg_heading6
end
elsif dob.is==:para
if dob.indent \
@@ -589,7 +658,7 @@ module SiSU_HTML_Seg
end
end
if dob.is==:heading \
- && (dob.ln.to_s =~/^[56]/)
+ && (dob.ln.to_s =~/^[5-7]/)
case dob.ln
when 5
txt_obj={ txt: dob.obj.strip, ocn: dob.ocn }
@@ -599,6 +668,10 @@ module SiSU_HTML_Seg
txt_obj={ txt: dob.obj.strip, ocn: dob.ocn }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
subtoc=format_seg.subtoc_lev6 #keep and make available, this is the subtoc
+ when 7
+ txt_obj={ txt: dob.obj.strip, ocn: dob.ocn }
+ format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
+ subtoc=format_seg.subtoc_lev7 #keep and make available, this is the subtoc
end
@@seg_subtoc_array << subtoc
end
diff --git a/lib/sisu/v5/html_tune.rb b/lib/sisu/v5/html_tune.rb
index 1a2c9dee..3e8c2d68 100644
--- a/lib/sisu/v5/html_tune.rb
+++ b/lib/sisu/v5/html_tune.rb
@@ -150,7 +150,7 @@ module SiSU_HTML_Tune
end
SiSU_HTML_Tune::Tune.new(@data,@md).output
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/hub.rb b/lib/sisu/v5/hub.rb
index 785da84d..fed4ae55 100644
--- a/lib/sisu/v5/hub.rb
+++ b/lib/sisu/v5/hub.rb
@@ -66,6 +66,7 @@ module SiSU
require_relative 'se' # se.rb
include SiSU_Env
include SiSU_Screen
+ require_relative 'hub_actions' # hub_actions.rb
require_relative 'hub_options' # hub_options.rb
require_relative 'dp' # dp.rb
include SiSU_Param
@@ -82,10 +83,12 @@ module SiSU
def initialize(argv,call_path)
begin #% select what to do (set options & start processing (files selected if any))
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
+ SiSU::Processing.new(opt).version_info
+ SiSU::Processing.new(opt).actions_without_files # do it
+ SiSU::Processing.new(opt).actions_on_files # do it
rescue
- cmd=(opt ? opt.cmd : '')
- SiSU_Screen::Ansi.new(cmd,$!,$@).rescue do
+ selection=(opt ? opt.selection : '')
+ SiSU_Screen::Ansi.new(selection,$!,$@).rescue do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -202,81 +205,6 @@ module SiSU
end
end
end
- class Operations
- @@n_do=0
- def initialize(opt='')
- @opt=opt
- @cX=SiSU_Screen::Ansi.new(@opt).cX
- end
- def counter
- @@n_do=0
- end
- def remote_put_base_site_rsync # -CR
- SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
- if @opt.act[:maintenance][:set] ==:on
- require_relative 'remote' # remote.rb
- SiSU_Remote::Put.new(@opt).rsync_base
- end
- def remote_put_base_site_rsync_match # -CCRZ
- SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
- if @opt.act[:maintenance][:set] ==:on
- require_relative 'remote' # remote.rb
- SiSU_Remote::Put.new(@opt).rsync_base_sync
- end
- def remote_put_base_site # -Cr
- SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
- if @opt.act[:maintenance][:set] ==:on
- require_relative 'remote' # remote.rb
- SiSU_Remote::Put.new(@opt).scp_base
- end
- def remote_put_base_site_all # -CCr
- SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
- if @opt.act[:maintenance][:set] ==:on
- require_relative 'remote' # remote.rb
- SiSU_Remote::Put.new(@opt).scp_base_all
- end
- def cgi # -F
- require_relative 'cgi' # cgi.rb
- SiSU_CGI::SearchSQL.new(@opt).read
- end
- def termsheet # -t
- system("sisu_termsheet #{@opt.cmd} #{@opt.fns}\n")
- @@n_do=@@n_do+1
- SiSU_Screen::Ansi.new(
- @opt.cmd,@@n_do,
- 'Termsheet(s) processed'
- ).term_sheet_title unless @opt.act[:quiet][:set] ==:on
- end
- def webrick # -W
- prt=SiSU_Env::InfoEnv.new(@fns).port.webrick_port
- puts %{#{@cX.blue}<<#{@cX.off}#{@cX.green}Start Webrick web server on port: #{prt}#{@cX.off}#{@cX.blue}>> #{@cX.off*2} }
- require_relative 'webrick'
- SiSU_Webserv::WebrickStart.new
- end
- def not_found
- puts "\n#{@cX.fuchsia}FILE NOT FOUND:#{@cX.off} << #{@opt.fns} >> - requested #{@opt.cmd} processing skipped\n"
- end
- def convert_name_message(fns,type,i,o,rune)
- %{\nIn filename: "#{@cX.fuchsia}#{fns}#{@cX.off}" << #{type} >> #{@cX.fuchsia}is apre 0.36 markup filename.#{@cX.off} #{@cX.brown}Please rename your file.#{@cX.off}\n\tAs of sisu-0.37, SiSU markup files with #{@cX.brown}the extensions #{i} should be re-named #{o}#{@cX.off}\n\tif you have the program called 'rename' installed, the following rune should do the trick:\n\t\t#{rune}\n\talternatively try:\n\t\tsisu --convert --36to37 #{fns}\n\trequested #{@opt.cmd} processing skipped\n}
- end
- def not_recognised
- case @opt.fns
- when /(\.s[123])$/
- type=@opt.fns.gsub(/\S+?(#{$1})/,'\1')
- rune=%q{rename 's/\.s[123]$/\.sst/' *.s{1,2,3}}
- puts convert_name_message(@opt.fns,type,'.s1 .s2 and .s3','.sst',rune)
- when /(\.r[123])$/
- type=@opt.fns.gsub(/\S+?(#{$1})/,'\1')
- rune=%q{rename 's/\.r[123]$/\.ssm/' *.r{1,2,3}}
- puts convert_name_message(@opt.fns,type,'.r1 .r2 and .r3','.sst',rune)
- puts %{\n\tNote also that you will need to change the names of the files called/required\n\twithin the document text to build the composite document\n\t\t.s1 .s2 .s3 should be .sst \n\t\t.si should be .ssi\n\trequested #{@opt.cmd} processing skipped\n}
- when /(\.ssi)$/
- puts "\n#{@cX.fuchsia}component filetype:#{@cX.off} << #{@opt.fns} >> - is not a processed filetype, (it may be used as a component of a .ssm markup file)\n\trequested #{@opt.cmd} processing skipped\n"
- else
- puts "\n#{@cX.fuchsia}FILETYPE NOT RECOGNISED:#{@cX.off} << #{@opt.fns} >> - is not a recognized filetype,\n\trequested #{@opt.cmd} processing skipped\n"
- end
- end
- end
class Processing
begin
require 'fileutils'
@@ -292,7 +220,11 @@ module SiSU
@@env=@env=SiSU_Env::InfoEnv.new
@msg,@msgs='',nil
@tell=lambda {
- SiSU_Screen::Ansi.new(@opt.cmd,@msg,"#{@msgs.inspect if @msgs}")
+ SiSU_Screen::Ansi.new(
+ @opt.selections.str,
+ @msg,
+ "#{@msgs.inspect if @msgs}"
+ )
}
end
def remove_skipped_files_if_any_from_processing_files_array
@@ -307,16 +239,6 @@ module SiSU
@remove_faulty_markup_files_array.join(',')
end
end
- def do_loops
- @remove_faulty_markup_files_array=[]
- if @opt.act[:zap][:set]==:on #% --zap, -Z
- do_loop_files_on_given_option_pre
- end
- do_each_file_loop_options
- remove_skipped_files_if_any_from_processing_files_array
- do_loop_files_on_given_option_post
- print_error_message_if_files_skipped
- end
def do_each_file_loop_options
@opt.files.each_with_index do |fno,i|
@opt.fno=fno
@@ -336,129 +258,18 @@ module SiSU
Dir.chdir(@opt.pth) #watch
end
@env=SiSU_Env::InfoEnv.new(@opt.fns)
- if @opt.act[:ao][:set]==:on #% --ao --dal, -m
- $process_document = :ok
- unless @opt.act[:po4a][:set]==:on # --po4a, -P
- if @opt.fno =~ /\.ssm$/
- require_relative 'ao_composite' # ao_composite.rb #pre-processing
- SiSU_Assemble::Composite.new(@opt).read
- end
- require_relative 'ao' # -m ao.rb
- SiSU_AO::Source.new(@opt).read
- end
- end
- if $process_document == :ok
- if @opt.act[:qrcode][:set]==:on #% --qrcode, -Q
- require_relative 'qrcode' # qrcode.rb
- SiSU_QRcode::Source.new(@opt).read
- end
- if @opt.act[:hash_digests][:set]==:on #% --hash-digests, -N digest tree
- require_relative 'digests' # digests.rb
- SiSU_DigestView::Source.new(@opt).read
- end
- if @opt.act[:txt][:set]==:on #% --txt, -t -a
- require_relative 'txt_plain' # txt_plain.rb
- SiSU_Txt_Plain::Source.new(@opt).read
- end
- if @opt.act[:txt_textile][:set]==:on #% --textile
- require_relative 'txt_textile' # txt_textile.rb
- SiSU_Txt_Textile::Source.new(@opt).read
- end
- if @opt.act[:txt_asciidoc][:set]==:on #% --asciidoc
- require_relative 'txt_asciidoc' # txt_asciidoc.rb
- SiSU_Txt_AsciiDoc::Source.new(@opt).read
- end
- if @opt.act[:txt_markdown][:set]==:on #% --markdown
- require_relative 'txt_markdown' # txt_markdown.rb
- SiSU_Txt_Markdown::Source.new(@opt).read
- end
- if @opt.act[:txt_rst][:set]==:on #% --rst, --rest
- require_relative 'txt_rst' # txt_rst.rb
- SiSU_Txt_rST::Source.new(@opt).read
- end
- if @opt.act[:html][:set]==:on #% --html, -h -H
- require_relative 'html' # html.rb
- SiSU_HTML::Source.new(@opt).read
- else
- if @opt.act[:html_seg][:set]==:on #% --html-seg (-h -H)
- require_relative 'html' # html.rb
- SiSU_HTML::Source.new(@opt).read
- end
- if @opt.act[:html_scroll][:set]==:on #% --html-scroll (-h -H)
- require_relative 'html' # html.rb
- SiSU_HTML::Source.new(@opt).read
- end
- end
- if @opt.act[:concordance][:set]==:on #% --concordance, -w
- require_relative 'html_concordance' # html_concordance.rb
- SiSU_Concordance::Source.new(@opt).read
- end
- if @opt.act[:epub][:set]==:on #% --epub, -e
- require_relative 'xhtml_epub2' # xhtml_epub2.rb
- SiSU_XHTML_EPUB2::Source.new(@opt).read
- end
- if @opt.act[:odt][:set]==:on #% --odt, -o opendocument
- require_relative 'xml_odf_odt' # xml_odf_odt.rb
- SiSU_XML_ODF_ODT::Source.new(@opt).read
- end
- if @opt.act[:xhtml][:set]==:on #% --xhtml, -b xhtml
- require_relative 'xhtml' # xhtml.rb
- SiSU_XHTML::Source.new(@opt).read
- end
- if @opt.act[:xml_scaffold_structure_sisu][:set]==:on #% --xml-scaffold --xml-scaffold-sisu
- require_relative 'xml_scaffold_structure_sisu' # xml_scaffold_structure_sisu.rb
- SiSU_XML_Scaffold_Structure_Sisu::Source.new(@opt).read
- end
- if @opt.act[:xml_scaffold_structure_collapse][:set]==:on #% --xml-scaffold-collapse
- require_relative 'xml_scaffold_structure_collapsed' # xml_scaffold_structure_collapsed.rb
- SiSU_XML_Scaffold_Structure_Collapse::Source.new(@opt).read
- end
- if @opt.act[:xml_docbook_book][:set]==:on #% --xml-docbook
- require_relative 'xml_docbook5' # xml_docbook5.rb
- SiSU_XML_Docbook_Book::Source.new(@opt).read
- end
- if @opt.act[:xml_fictionbook][:set]==:on #% --xml-fictionbook
- require_relative 'xml_fictionbook2' # xml_fictionbook2.rb
- SiSU_XML_Fictionbook::Source.new(@opt).read
- end
- if @opt.act[:xml_sax][:set]==:on #% --xml-sax, -x xml sax type
- require_relative 'xml_sax' # xml_sax.rb
- SiSU_XML_SAX::Source.new(@opt).read
- end
- if @opt.act[:xml_dom][:set]==:on #% --xml-dom, -X xml dom type
- require_relative 'xml_dom' # xml_dom.rb
- SiSU_XML_DOM::Source.new(@opt).read
- end
- if @opt.act[:pdf][:set]==:on \
- or @opt.act[:pdf_p][:set]==:on \
- or @opt.act[:pdf_l][:set]==:on #% --pdf-l --pdf, -p latex/ texpdf
- require_relative 'texpdf' # texpdf.rb
- SiSU_TeX::Source.new(@opt).read
- end
- if @opt.act[:manpage][:set]==:on #% --manpage, -i
- require_relative 'manpage' # manpage.rb
- SiSU_Manpage::Source.new(@opt).read
- end
- if @opt.act[:texinfo][:set]==:on #% --texinfo, -I
- require_relative 'texinfo' # texinfo.rb
- SiSU_TexInfo::Source.new(@opt).read
- end
- if @opt.act[:sqlite_discrete][:set]==:on #% --sqlite, -d DB sqlite
- require_relative 'dbi_discrete' # dbi_discrete.rb
- SiSU_DBI_Discrete::SQL.new(@opt).build
- end
- if @opt.act[:manifest][:set]==:on #% --manifest, -y
- require_relative 'manifest' # manifest.rb
- ((@opt.act[:sisupod][:set]==:on \
- || @opt.act[:share_source][:set]==:on) \
- && @opt.files.length < 2 ) \
- ? nil
- : SiSU_Manifest::Source.new(@opt).read
- end
- else
- @remove_faulty_markup_files_array << fno
- $process_document=:ok
- end
+ actions=SiSU_Hub_Actions::HubActions.new(@opt)
+ actions.outputs.each_file.abstract_objects?
+ actions.outputs.each_file.qrcode?
+ actions.outputs.each_file.hash_digests?
+ actions.outputs.each_file.text?
+ actions.outputs.each_file.html?
+ actions.outputs.each_file.xhtml?
+ actions.outputs.each_file.xml?
+ actions.outputs.each_file.pdf?
+ actions.outputs.each_file.man_or_info?
+ actions.outputs.each_file.sqlite_discrete?
+ actions.outputs.each_file.manifest?
end
end
def do_loop_files_on_given_option_pre
@@ -473,234 +284,27 @@ module SiSU
end
end
def do_loop_files_on_given_option_post
- if @opt.act[:share_source][:set]==:on \
- or @opt.act[:sisupod][:set]==:on \
- or @opt.act[:git][:set]==:on
- begin
- require_relative 'src_shared'
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_Source::SiSUpodSource.new(@opt).read
- end
- if @opt.act[:share_source][:set]==:on
- require_relative 'src_share' # -s src_share.rb
- begin
- ensure
- OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do
- SiSU_Markup::Source.new(@opt).read
- end
- end
- end
- if @opt.act[:sisupod][:set]==:on #% --sisupod, -S make sisupod
- require_relative 'src_sisupod_make' # -S src_sisupod_make.rb
- begin
- ensure
- OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do
- SiSU_Doc::Source.new(@opt).sisupod_tar_xz
- end
- end
- end
- if @opt.act[:git][:set]==:on #% --git, -g sisu git
- require_relative 'git' # -g git.rb
- begin
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_Git::Source.new(@opt).read
- end
- ensure
- OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do
- SiSU_Git::Source.new(@opt).git_commit
- end
- end
- end
- if (@opt.act[:sisupod][:set]==:on \
- || @opt.act[:share_source][:set]==:on) \
- and @opt.act[:manifest][:set]==:on #% --manifest, -y
- require_relative 'manifest' # -y manifest.rb
- begin
- ensure
- OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do
- SiSU_Manifest::Source.new(@opt).read
- end
- end
- end
- ensure
- path_pod=@env.processing_path.processing_sisupod(@opt).paths
- unless @opt.act[:maintenance][:set]==:on
- FileUtils::rm_rf("#{path_pod[:sisupod]}/*") \
- if FileTest.directory?(path_pod[:sisupod])
- end
- end
- end
- if @opt.act[:po4a][:set]==:on #% --po4a, -P
- require_relative 'po4a'
- begin
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_Po4a::Source.new(@opt).read # -P po4a.rb
- end
- ensure
- end
- end
- if @opt.act[:images][:set]==:on #% --images, -j
- require_relative 'shared_images'
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_Images::Source.new(@opt).read # -j shared_images.rb
- end
- end
- if @opt.cmd =~/T/ #% -T termsheet/standard form
- @opt.files.each do |fns|
- if FileTest.file?(fns)
- @opt.fns=fns
- case @opt.fns
- when /\.(termsheet.rb)$/
- SiSU::Operations.new(@opt).termsheet
- else #print "not processed --> ", fns, "\n"
- end
- else SiSU::Operations.new(@opt).not_found
- end
- end
- SiSU::Operations.new.counter
- end
- if @opt.act[:psql][:set]==:on #% --pg, -D DB postgresql
- require_relative 'dbi'
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb
- end
- end
- if @opt.act[:sqlite][:set]==:on #% --sqlite, -d DB sqlite
- require_relative 'dbi'
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb
- end
- end
- if @opt.act[:manifest][:set]==:on #% --manifest, -y
- require_relative 'manifest'
- OptionLoopFiles.new(@opt).manifest_on_files_translated do
- SiSU_Manifest::Source.new(@opt).read # -y manifest.rb
- end
- end
- if @opt.act[:sitemap][:set]==:on #% --sitemap, -Y
- require_relative 'sitemaps'
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_Sitemaps::Source.new(@opt).read # -Y sitemaps.rb
- end
- end
- if @opt.act[:harvest][:set] !=:on
- if @opt.act[:scp][:set]==:on #% -r copy to remote server
- require_relative 'remote' # -r remote.rb
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_Remote::Put.new(@opt).scp
- end
- end
- if @opt.act[:rsync][:set]==:on #% -R copy to remote server
- require_relative 'remote' # -R remote.rb
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_Remote::Put.new(@opt).rsync
- end
- end
- else
- end
- if @opt.act[:urls_selected][:set]==:on #% --sitemap, -Y
- require_relative 'urls'
- OptionLoopFiles.new(@opt).loop_files_on_given_option do
- SiSU_Urls::Source.new(@opt).read #% -u -v -V -M
- end
- end
+ actions=SiSU_Hub_Actions::HubActions.new(@opt)
+ actions.outputs.loop_files.share_source?
+ actions.outputs.loop_files.run_termsheet?
+ actions.outputs.loop_files.sql?
+ SiSU_Hub_Actions::Operations.new.counter
+ actions.outputs.loop_files.manifest?
+ actions.outputs.loop_files.sitemaps?
+ actions.outputs.loop_files.urls?
end
- def do_initialization
- @cX=SiSU_Screen::Ansi.new(@opt.act[:color_state][:set]).cX
- SiSU_Env::InfoProcessingFlag.new
- if @opt.act[:version_info][:set]==:on #% version information
+ def version_info
+ if @opt.act[:version_info][:set]==:on
SiSU_Env::InfoAbout.new(@opt).sisu_version
- if (@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],
- ' ' + File.dirname(__FILE__)
- ).grey
- end
- end
- if @opt.act[:ao][:set]==:on \
- or @opt.act[:maintenance][:set]==:on #% --maintenance, -m for -C
- path={}
- path[:css]=@@env.path.output + '/_sisu/css'
- path[:xml]=@@env.path.output + '/_sisu/xml'
- path[:xsd]=path[:xml] + '/xsd'
- path[:xsd]=path[:xml] + '/rnc'
- path[:xsd]=path[:xml] + '/rng'
- re_p3=/(sisupod(?:\.txz)?|\S+?\.ss[mt]\.txz|[^\/]+?\.ssp)$/
- unless @opt.files.join(',') =~ re_p3 #do not mix pods with source markup files in command line
- if @opt.act[:maintenance][:set] ==:on
- $VERBOSE=false #debug $VERBOSE=true
- end
- end
- re_p2=/(sisupod(?:\.zip)?|\S+?\.ss[mt]\.zip)$/
- unless @opt.files.join(',') =~ re_p2 #do not mix pods with source markup files in command line
- if @opt.act[:maintenance][:set] ==:on
- $VERBOSE=false #debug $VERBOSE=true
- end
- end
- end
- if @opt.act[:site_init][:set]==:on #% --init-site, -C initialize/configure
- require_relative 'conf' #% --init-site, -C initialize/configure
- SiSU_Initialize::Source.new(@opt).read
- if @opt.act[:rsync][:set]==:on
- if @opt.mod.inspect =~/--init(?:ialize)?=site/ \
- and @opt.cmd =~/RZ/
- SiSU::Operations.new(@opt).remote_put_base_site_rsync_match
- else SiSU::Operations.new(@opt).remote_put_base_site_rsync
- end
- elsif @opt.act[:scp][:set]==:on
- if @opt.mod.inspect =~/--init(?:ialize)?=site/ \
- and @opt.cmd =~/CCr/
- SiSU::Operations.new(@opt).remote_put_base_site_all
- else SiSU::Operations.new(@opt).remote_put_base_site
- end
- end
- end
- if @opt.act[:sample_search_form][:set]==:on #% --sample-search-form, -F cgi sample search form
- SiSU::Operations.new(@opt).cgi
- end
- if @opt.act[:webrick][:set]==:on #% --webrick, -W webrick
- SiSU::Operations.new(@opt).webrick
- end
- if @opt.act[:ao][:set]==:on
- @retry_count= -1
- begin
- @get_s,@get_p,@get_pl=[],[],[]
- re_s=/(\S+?\.-sst)$/
- re_p3=/((?:https?|file):\/\/\S+?(?:\/\S+?\.ss[mt]\.txz|sisupod(?:\.txz)?|\.ssp))/
- re_pl3=/^(\/\S+?\.ss[mt]\.txz)/
- @opt.files.each do |fns|
- if fns =~re_s
- @get_s << @opt.f_pths[0][:url]
- end
- if fns =~re_p3
- @get_p << re_p3.match(fns)[1] if re_p3
- end
- if fns =~re_pl3
- @get_pl << re_pl3.match(fns)[1] if re_p3
- end
- end
- if @get_s.length > 0 #% remote markup file .sst
- require_relative 'remote' # remote.rb
- SiSU_Remote::Get.new(@opt,@get_s).fns
- SiSU::Operations.new.counter
- end
- if @get_p.length > 0 #% remote sisupod
- require_relative 'remote' # remote.rb
- SiSU_Remote::Get.new(@opt,@get_p).sisupod
- end
- rescue
- SiSU_Errors::Rescued.new($!,$@,@opt,@fns).location do
- __LINE__.to_s + ':' + __FILE__
- end
- @retry_count +=1
- retry unless @retry_count > 1
- ensure
- end
end
end
- def actions
+ def actions_without_files
+ actions=SiSU_Hub_Actions::HubActions.new(@opt)
+ actions.prepare.site?
+ actions.prepare.remote_site?
+ actions.prepare.sql?
+ end
+ def actions_on_files
if @opt.act[:profile][:set]==:on
begin
require 'profile'
@@ -709,150 +313,71 @@ module SiSU
error('profile NOT FOUND (LoadError)')
end
end
- action_on_file_ =if @opt.act[:rsync][:set]==:on \
- && @opt.act[:site_init][:set]==:on
- :false
- elsif @opt.act[:rsync][:set]==:on \
- && @opt.act[:site_init][:set] !=:on
- :true
- elsif ((@opt.act[:psql][:set]==:on \
- or @opt.act[:sqlite][:set]==:on) \
- and @opt.mod.join(';') =~/--(?:createdb|init(?:ialize)?|create(?:all)?|createtables|recreate|drop(?:all))/)
- :false
- else
- (@opt.act[:ao][:set]==:on \
- || @opt.act[:manpage][:set]==:on \
- || @opt.act[:texinfo][:set]==:on \
- || @opt.act[:txt][:set]==:on \
- || @opt.act[:txt_textile][:set]==:on \
- || @opt.act[:txt_asciidoc][:set]==:on \
- || @opt.act[:txt_markdown][:set]==:on \
- || @opt.act[:txt_rst][:set]==:on \
- || @opt.act[:html][:set]==:on \
- || @opt.act[:html_scroll][:set]==:on \
- || @opt.act[:html_seg][:set]==:on \
- || @opt.act[:concordance][:set]==:on \
- || @opt.act[:xhtml][:set]==:on \
- || @opt.act[:epub][:set]==:on \
- || @opt.act[:odt][:set]==:on \
- || @opt.act[:xml_sax][:set]==:on \
- || @opt.act[:xml_dom][:set]==:on \
- || @opt.act[:xml_scaffold_structure_sisu][:set]==:on \
- || @opt.act[:xml_scaffold_structure_collapse][:set]==:on \
- || @opt.act[:xml_docbook_book][:set]==:on \
- || @opt.act[:xml_fictionbook][:set]==:on \
- || @opt.act[:pdf][:set]==:on \
- || @opt.act[:pdf_p][:set]==:on \
- || @opt.act[:pdf_l][:set]==:on \
- || @opt.act[:psql][:set]==:on \
- || @opt.act[:sqlite][:set]==:on \
- || @opt.act[:sqlite_discrete][:set]==:on \
- || @opt.act[:share_source][:set]==:on \
- || @opt.act[:sisupod][:set]==:on \
- || @opt.act[:qrcode][:set]==:on \
- || @opt.act[:hash_digests][:set]==:on \
- || @opt.act[:manifest][:set]==:on \
- || @opt.act[:scp][:set]==:on \
- || @opt.act[:webrick][:set]==:on \
- || @opt.act[:zap][:set]==:on) \
- ? (:true)
- : (:false)
- end
- if @opt.act[:harvest][:set]==:on
- require_relative 'harvest' # harvest.rb
- SiSU_Harvest::Source.new(@opt).read # -h -H html.rb
- elsif @opt.mod.inspect =~/--convert|--to|--from/
- require_relative 'sst_convert_markup' # sst_convert_markup.rb
- elsif action_on_file_ == :false \
- and (@opt.act[:psql][:set]==:on \
- or @opt.act[:sqlite][:set]==:on)
- if @opt.act[:psql][:set]==:on
- require_relative 'dbi'
- SiSU_DBI::SQL.new(@opt).connect
- end
- if @opt.act[:sqlite][:set]==:on
- require_relative 'dbi'
- SiSU_DBI::SQL.new(@opt).connect
+ actions=SiSU_Hub_Actions::HubActions.new(@opt)
+ actions.outputs.each_file.harvest? #check
+ actions.outputs.init?
+ do_loop_files_on_given_option_pre
+ do_each_file_loop_options
+ #remove_skipped_files_if_any_from_processing_files_array # NEEDS WORK
+ do_loop_files_on_given_option_post
+ print_error_message_if_files_skipped
+ actions.outputs.sql? #check location
+ if @opt.f_pths.length > 0
+ if (@opt.act[:verbose][:set]==:on \
+ || @opt.act[:verbose_plus][:set]==:on \
+ || @opt.act[:maintenance][:set]==:on)
+ @msg,@msgs="\tsisu -W [to start ruby web-server on output directory]\n",nil
end
- elsif action_on_file_ == :true \
- or ( #% --->
- @opt.cmd =~/^-/ \
- and @opt.cmd =~/([abCcDdeFGgHhIjikLMmNnoPpQqRrSsTtUuVvWwXxYyZ_0-9])/ \
- and @opt.mod.inspect !~/--(?:sitemaps|query|identify)/ \
- or @opt.mod.inspect =~/--(?:(?:sq)?lite|pg(?:sql)?)/
- )
- do_initialization
- if action_on_file_ == :true \
- and @opt.files.length > 0
- do_loops
- if (@opt.act[:verbose][:set]==:on \
- || @opt.act[:verbose_plus][:set]==:on \
- || @opt.act[:maintenance][:set]==:on)
- @msg,@msgs="\tsisu -W [to start ruby web-server on output directory]\n",nil
- end
- if (@opt.act[:verbose][:set]==:on \
- || @opt.act[:verbose_plus][:set]==:on \
- || @opt.act[:maintenance][:set]==:on \
- || @opt.act[:urls_selected][:set]==:on \
- || @opt.act[:urls_all][:set]==:on)
- @tell.call.print_brown unless @opt.files.join.empty?
- end
- if defined? @@env.processing_path.processing \
- and @@env.user \
- and FileTest.directory?(@@env.processing_path.processing) \
- and @@env.processing_path.processing =~/#{@@env.user}$/ #clean temporary processing directory of content as is located in public area
- if @@env.processing_path.processing_base_tmp =~/^\/tmp\/\S+/
- FileUtils::cd(@@env.processing_path.processing_base_tmp) do
- FileUtils::rm_rf('.') unless @opt.act[:maintenance][:set] ==:on
- end
+ if (@opt.act[:verbose][:set]==:on \
+ || @opt.act[:verbose_plus][:set]==:on \
+ || @opt.act[:maintenance][:set]==:on \
+ || @opt.act[:urls_selected][:set]==:on \
+ || @opt.act[:urls_all][:set]==:on)
+ @tell.call.print_brown unless @opt.files.join.empty?
+ end
+ if defined? @@env.processing_path.processing \
+ and @@env.user \
+ and FileTest.directory?(@@env.processing_path.processing) \
+ and @@env.processing_path.processing =~/#{@@env.user}$/ #clean temporary processing directory of content as is located in public area
+ if @@env.processing_path.processing_base_tmp =~/^\/tmp\/\S+/
+ FileUtils::cd(@@env.processing_path.processing_base_tmp) do
+ FileUtils::rm_rf('.') unless @opt.act[:maintenance][:set] ==:on
end
end
- elsif action_on_file_ == :true \
- and @opt.files.length == 0
- STDERR.puts %{requested action requires valid sisu markup file [filename (.sst .ssm)] or wildcard (that includes a valid filename)}
- if (@opt.act[:verbose_plus][:set]==:on \
- || @opt.act[:maintenance][:set]==:on)
- SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).warn(:fuchsia)
- end
end
- elsif @opt.mod.inspect =~/--query/
- require_relative 'sst_identify_markup' # sst_identify_markup.rb
- puts SiSU_Markup::MarkupHistory.new(@opt).query
- elsif @opt.mod.inspect =~/--identify/
- require_relative 'sst_identify_markup' # sst_identify_markup.rb
- SiSU_Markup::MarkupIdentify.new(@opt).markup_version?
- elsif @opt.mod.inspect =~/--sitemaps/ #% sitemaps
- require_relative 'sitemaps' # sitemaps.rb
- SiSU_Sitemaps::Source.new(@opt).read
- if @opt.act[:rsync][:set]==:on
- require_relative 'remote' # remote.rb
- SiSU_Remote::Put.new(@opt).rsync_sitemaps
+ elsif @opt.f_pths.length == 0
+ STDERR.puts %{requested action requires valid sisu markup file [filename (.sst .ssm)] or wildcard (that includes a valid filename)}
+ if (@opt.act[:verbose_plus][:set]==:on \
+ || @opt.act[:maintenance][:set]==:on)
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).warn(:fuchsia)
end
else #% sisu help refer to man pages
- SiSU_Env::InfoAbout.new(@opt).sisu_version
- SiSU_Env::InfoAbout.new(@opt).sisu_about
+ actions.prepare(@opt).site?
+ unless done==:ok
+ #SiSU_Env::InfoAbout.new(@opt).sisu_about
+ end
end
@opt.files.each do |fns|
if FileTest.file?(fns)
@opt.fns=fns
unless @opt.fns =~ /(?:\.(?:(?:-|ssm\.)?sst|ssm|ssp|sx[sdn]\.xml|termsheet.rb)|\S+?\.ss[mt]\.(?:txz|zip)|sisupod\.(?:txz|zip)?|\S+?\.ssp)$/
- if @opt.cmd.inspect=~/-P/
+ if @opt.selections.str=~/--pg/
elsif @opt.fns=~/\.kdi$/ \
and @opt.mod.inspect =~/--(?:convert(?:-from)?|from)[=-]kdi/
elsif @opt.fns=~/\.sx[sdn]\.xml$/ \
and @opt.mod.inspect =~/--(?:(?:convert(?:-from)?|from)[=-])?(?:xml2sst|sxml)/
elsif @opt.fns=~/\.ssi$/ \
and @opt.mod.inspect =~/--identify/
- else SiSU::Operations.new(@opt).not_recognised
+ else SiSU_Hub_Actions::Operations.new(@opt).not_recognised
end
end
if @opt.fns =~/\.ssm\.sst$/ \
- and @opt.cmd !~/[S_M]/ # rework necessry, revist, the _ flag is a hack, to keep ._sst files
+ and @opt.selections.str !~/[S_M]/ # rework necessary, revist, the _ flag is a hack, to keep ._sst files
@msg,@msgs='temporary file removed',nil
@tell.call.warn unless @opt.act[:quiet][:set]==:on
File.unlink(@opt.fns) if File.exist?(@opt.fns) #CONSIDER
end
- else #SiSU::Operations.new(fns,'html').not_found
+ else #SiSU::Operations.new(fns,'html').not_found
end
end
end
diff --git a/lib/sisu/v5/hub_actions.rb b/lib/sisu/v5/hub_actions.rb
new file mode 100644
index 00000000..8717f815
--- /dev/null
+++ b/lib/sisu/v5/hub_actions.rb
@@ -0,0 +1,585 @@
+# encoding: utf-8
+=begin
+
+ * Name: SiSU
+
+ * Description: a framework for document structuring, publishing and search
+
+ * Author: Ralph Amissah
+
+ * Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+ 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Ralph Amissah,
+ All Rights Reserved.
+
+ * License: GPL 3 or later:
+
+ SiSU, a framework for document structuring, publishing and search
+
+ Copyright (C) Ralph Amissah
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the Free
+ Software Foundation, either version 3 of the License, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ You should have received a copy of the GNU General Public License along with
+ this program. If not, see <http://www.gnu.org/licenses/>.
+
+ If you have Internet connection, the latest version of the GPL should be
+ available at these locations:
+ <http://www.fsf.org/licensing/licenses/gpl.html>
+ <http://www.gnu.org/licenses/gpl.html>
+
+ <http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html>
+
+ * SiSU uses:
+ * Standard SiSU markup syntax,
+ * Standard SiSU meta-markup syntax, and the
+ * Standard SiSU object citation numbering and system
+
+ * Hompages:
+ <http://www.jus.uio.no/sisu>
+ <http://www.sisudoc.org>
+
+ * Download:
+ <http://www.sisudoc.org/sisu/en/SiSU/download.html>
+
+ * Git
+ <http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
+ <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/hub_actions.rb;hb=HEAD>
+
+ * Ralph Amissah
+ <ralph@amissah.com>
+ <ralph.amissah@gmail.com>
+
+ ** Description: SiSU information Structuring Universe, text structuring,
+ processing, publishing, search
+
+=end
+module SiSU_Hub_Actions
+ class HubActions
+ def initialize(opt)
+ @opt=opt
+ end
+ def prepare
+ def site?
+ if @opt.act[:site_init][:set]==:on #% --init-site, -C initialize/configure
+ require_relative 'conf' #% --init-site, -C initialize/configure
+ SiSU_Initialize::Source.new(@opt).read
+ if @opt.act[:rsync][:set]==:on
+ if @opt.mod.inspect =~/--init(?:ialize)?=site/ \
+ and @opt.selections.str =~/RZ/
+ SiSU::Operations.new(@opt).remote_put_base_site_rsync_match
+ else SiSU::Operations.new(@opt).remote_put_base_site_rsync
+ end
+ elsif @opt.act[:scp][:set]==:on
+ if @opt.mod.inspect =~/--init(?:ialize)?=site/ \
+ and @opt.selections.str =~/CCr/
+ SiSU::Operations.new(@opt).remote_put_base_site_all
+ else SiSU::Operations.new(@opt).remote_put_base_site
+ end
+ end
+ end
+ end
+ def remote_site?
+ if @opt.act[:site_init][:set]==:on
+ if @opt.act[:site_init][:set]==:on #% --init-site, -C initialize/configure
+ #require_relative 'conf' #% --init-site, -C initialize/configure
+ #SiSU_Initialize::Source.new(@opt).read
+ #if @opt.act[:rsync][:set]==:on
+ # if @opt.mod.inspect =~/--init(?:ialize)?=site/ \
+ # and @opt.selection =~/RZ/
+ # SiSU::Operations.new(@opt).remote_put_base_site_rsync_match
+ # else SiSU::Operations.new(@opt).remote_put_base_site_rsync
+ # end
+ #elsif @opt.act[:scp][:set]==:on
+ # if @opt.mod.inspect =~/--init(?:ialize)?=site/ \
+ # and @opt.selection =~/CCr/
+ # SiSU::Operations.new(@opt).remote_put_base_site_all
+ # else SiSU::Operations.new(@opt).remote_put_base_site
+ # end
+ #end
+ end
+ end
+ end
+ def sql?
+ if @opt.act[:psql_createdb][:set]==:on \
+ or @opt.act[:psql_create][:set]==:on \
+ or @opt.act[:psql_drop][:set]==:on
+ done=:ok
+ if @opt.act[:psql][:set]==:on
+ require_relative 'dbi'
+ SiSU_DBI::SQL.new(@opt).connect
+ end
+ end
+ if @opt.act[:sqlite_createdb][:set]==:on \
+ or @opt.act[:sqlite_create][:set]==:on \
+ or @opt.act[:sqlite_drop][:set]==:on
+ done=:ok
+ if @opt.act[:sqlite][:set]==:on
+ require_relative 'dbi'
+ SiSU_DBI::SQL.new(@opt).connect
+ end
+ end
+ end
+ self
+ end
+ def outputs
+ if @opt.f_pths.length > 0
+ def each_file
+ def abstract_objects?
+ if @opt.act[:ao][:set]==:on #% --ao --dal, -m
+ unless @opt.act[:po4a][:set]==:on # --po4a, -P
+ if @opt.fno =~ /\.ssm$/
+ require_relative 'ao_composite' # ao_composite.rb #pre-processing
+ SiSU_Assemble::Composite.new(@opt).read
+ end
+ require_relative 'ao' # -m ao.rb
+ SiSU_AO::Source.new(@opt).read
+ end
+ end
+ end
+ def qrcode?
+ if @opt.act[:qrcode][:set]==:on #% --qrcode, -Q
+ require_relative 'qrcode' # qrcode.rb
+ SiSU_QRcode::Source.new(@opt).read
+ end
+ end
+ def hash_digests?
+ if @opt.act[:hash_digests][:set]==:on #% --hash-digests, -N digest tree
+ require_relative 'digests' # digests.rb
+ SiSU_DigestView::Source.new(@opt).read
+ end
+ end
+ def text?
+ if @opt.act[:txt][:set]==:on #% --txt, -t -a
+ require_relative 'txt_plain' # txt_plain.rb
+ SiSU_Txt_Plain::Source.new(@opt).read
+ end
+ if @opt.act[:txt_textile][:set]==:on #% --textile
+ require_relative 'txt_textile' # txt_textile.rb
+ SiSU_Txt_Textile::Source.new(@opt).read
+ end
+ if @opt.act[:txt_asciidoc][:set]==:on #% --asciidoc
+ require_relative 'txt_asciidoc' # txt_asciidoc.rb
+ SiSU_Txt_AsciiDoc::Source.new(@opt).read
+ end
+ if @opt.act[:txt_markdown][:set]==:on #% --markdown
+ require_relative 'txt_markdown' # txt_markdown.rb
+ SiSU_Txt_Markdown::Source.new(@opt).read
+ end
+ if @opt.act[:txt_rst][:set]==:on #% --rst, --rest
+ require_relative 'txt_rst' # txt_rst.rb
+ SiSU_Txt_rST::Source.new(@opt).read
+ end
+ end
+ def html?
+ if @opt.act[:html][:set]==:on #% --html, -h -H
+ require_relative 'html' # html.rb
+ SiSU_HTML::Source.new(@opt).read
+ else
+ if @opt.act[:html_seg][:set]==:on #% --html-seg (-h -H)
+ require_relative 'html' # html.rb
+ SiSU_HTML::Source.new(@opt).read
+ end
+ if @opt.act[:html_scroll][:set]==:on #% --html-scroll (-h -H)
+ require_relative 'html' # html.rb
+ SiSU_HTML::Source.new(@opt).read
+ end
+ end
+ if @opt.act[:concordance][:set]==:on #% --concordance, -w
+ require_relative 'html_concordance' # html_concordance.rb
+ SiSU_Concordance::Source.new(@opt).read
+ end
+ end
+ def xhtml?
+ if @opt.act[:xhtml][:set]==:on #% --xhtml, -b xhtml
+ require_relative 'xhtml' # xhtml.rb
+ SiSU_XHTML::Source.new(@opt).read
+ end
+ if @opt.act[:epub][:set]==:on #% --epub, -e
+ require_relative 'xhtml_epub2' # xhtml_epub2.rb
+ SiSU_XHTML_EPUB2::Source.new(@opt).read
+ end
+ end
+ def xml?
+ if @opt.act[:odt][:set]==:on #% --odt, -o opendocument
+ require_relative 'xml_odf_odt' # xml_odf_odt.rb
+ SiSU_XML_ODF_ODT::Source.new(@opt).read
+ end
+ if @opt.act[:xml_scaffold_structure_sisu][:set]==:on #% --xml-scaffold --xml-scaffold-sisu
+ require_relative 'xml_scaffold_structure_sisu' # xml_scaffold_structure_sisu.rb
+ SiSU_XML_Scaffold_Structure_Sisu::Source.new(@opt).read
+ end
+ if @opt.act[:xml_scaffold_structure_collapse][:set]==:on #% --xml-scaffold-collapse
+ require_relative 'xml_scaffold_structure_collapsed' # xml_scaffold_structure_collapsed.rb
+ SiSU_XML_Scaffold_Structure_Collapse::Source.new(@opt).read
+ end
+ if @opt.act[:xml_docbook_book][:set]==:on #% --xml-docbook
+ require_relative 'xml_docbook5' # xml_docbook5.rb
+ SiSU_XML_Docbook_Book::Source.new(@opt).read
+ end
+ if @opt.act[:xml_fictionbook][:set]==:on #% --xml-fictionbook
+ require_relative 'xml_fictionbook2' # xml_fictionbook2.rb
+ SiSU_XML_Fictionbook::Source.new(@opt).read
+ end
+ if @opt.act[:xml_sax][:set]==:on #% --xml-sax, -x xml sax type
+ require_relative 'xml_sax' # xml_sax.rb
+ SiSU_XML_SAX::Source.new(@opt).read
+ end
+ if @opt.act[:xml_dom][:set]==:on #% --xml-dom, -X xml dom type
+ require_relative 'xml_dom' # xml_dom.rb
+ SiSU_XML_DOM::Source.new(@opt).read
+ end
+ end
+ def pdf?
+ if @opt.act[:pdf][:set]==:on \
+ or @opt.act[:pdf_p][:set]==:on \
+ or @opt.act[:pdf_l][:set]==:on #% --pdf-l --pdf, -p latex/ texpdf
+ require_relative 'texpdf' # texpdf.rb
+ SiSU_TeX::Source.new(@opt).read
+ end
+ end
+ def man_or_info?
+ if @opt.act[:manpage][:set]==:on #% --manpage, -i
+ require_relative 'manpage' # manpage.rb
+ SiSU_Manpage::Source.new(@opt).read
+ end
+ if @opt.act[:texinfo][:set]==:on #% --texinfo, -I
+ require_relative 'texinfo' # texinfo.rb
+ SiSU_TexInfo::Source.new(@opt).read
+ end
+ end
+ def sqlite_discrete?
+ if @opt.act[:sqlite_discrete][:set]==:on #% --sqlite, -d DB sqlite
+ require_relative 'dbi_discrete' # dbi_discrete.rb
+ SiSU_DBI_Discrete::SQL.new(@opt).build
+ end
+ end
+ def manifest?
+ if @opt.act[:manifest][:set]==:on #% --manifest, -y
+ require_relative 'manifest' # manifest.rb
+ ((@opt.act[:sisupod][:set]==:on \
+ || @opt.act[:share_source][:set]==:on) \
+ && @opt.f_pths.length < 2 ) \
+ ? nil
+ : SiSU_Manifest::Source.new(@opt).read
+ end
+ end
+ def harvest?
+ if @opt.act[:harvest][:set]==:on
+ require_relative 'harvest' # harvest.rb
+ SiSU_Harvest::Source.new(@opt).read # -h -H html.rb
+ end
+ end
+ self
+ end
+ def loop_files
+ def share_source?
+ if @opt.act[:share_source][:set]==:on \
+ or @opt.act[:sisupod][:set]==:on \
+ or @opt.act[:git][:set]==:on
+ begin
+ require_relative 'src_shared'
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_Source::SiSUpodSource.new(@opt).read
+ end
+ if @opt.act[:share_source][:set]==:on
+ require_relative 'src_share' # -s src_share.rb
+ begin
+ ensure
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do
+ SiSU_Markup::Source.new(@opt).read
+ end
+ end
+ end
+ if @opt.act[:sisupod][:set]==:on #% --sisupod, -S make sisupod
+ require_relative 'src_sisupod_make' # -S src_sisupod_make.rb
+ begin
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do
+ SiSU_Doc::Source.new(@opt).sisupod_tar_xz
+ end
+ ensure
+ end
+ end
+ if @opt.act[:git][:set]==:on #% --git, -g sisu git
+ require_relative 'git' # -g git.rb
+ begin
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_Git::Source.new(@opt).read
+ end
+ ensure
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do
+ SiSU_Git::Source.new(@opt).git_commit
+ end
+ end
+ end
+ if (@opt.act[:sisupod][:set]==:on \
+ || @opt.act[:share_source][:set]==:on) \
+ and @opt.act[:manifest][:set]==:on #% --manifest, -y
+ require_relative 'manifest' # -y manifest.rb
+ begin
+ ensure
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do
+ SiSU_Manifest::Source.new(@opt).read
+ end
+ end
+ end
+ ensure
+ env=SiSU_Env::InfoEnv.new(@opt.fns)
+ path_pod=env.processing_path.processing_sisupod(@opt).paths
+ unless @opt.act[:maintenance][:set]==:on
+ FileUtils::rm_rf("#{path_pod[:sisupod]}/*") \
+ if FileTest.directory?(path_pod[:sisupod])
+ end
+ end
+ end
+ if @opt.act[:po4a][:set]==:on #% --po4a, -P
+ require_relative 'po4a'
+ begin
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_Po4a::Source.new(@opt).read # -P po4a.rb
+ end
+ ensure
+ end
+ end
+ if @opt.act[:images][:set]==:on #% --images, -j
+ require_relative 'shared_images'
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_Images::Source.new(@opt).read # -j shared_images.rb
+ end
+ end
+ end
+ def run_termsheet? #broken, revisit later
+ if @opt.selections.str =~/--termsheet/ #% -T termsheet/standard form #fix later
+ @opt.files.each do |fns|
+ if FileTest.file?(fns)
+ @opt.fns=fns
+ case @opt.fns
+ when /\.(termsheet.rb)$/
+ SiSU::Operations.new(@opt).termsheet
+ else #print "not processed --> ", fns, "\n"
+ end
+ else SiSU::Operations.new(@opt).not_found
+ end
+ end
+ end
+ end
+ def sql?
+ if @opt.act[:psql][:set]==:on #% --pg, -D DB postgresql
+ require_relative 'dbi'
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb
+ end
+ end
+ if @opt.act[:sqlite][:set]==:on #% --sqlite, -d DB sqlite
+ require_relative 'dbi'
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb
+ end
+ end
+ end
+ def manifest?
+ if @opt.act[:manifest][:set]==:on #% --manifest, -y
+ require_relative 'manifest'
+ SiSU::OptionLoopFiles.new(@opt).manifest_on_files_translated do
+ SiSU_Manifest::Source.new(@opt).read # -y manifest.rb
+ end
+ end
+ end
+ def sitemaps?
+ if @opt.act[:sitemap][:set]==:on #% --sitemap, -Y
+ require_relative 'sitemaps'
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_Sitemaps::Source.new(@opt).read # -Y sitemaps.rb
+ end
+ end
+ end
+ def remote_placement?
+ if @opt.act[:harvest][:set] !=:on
+ if @opt.act[:scp][:set]==:on #% -r copy to remote server
+ require_relative 'remote' # -r remote.rb
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_Remote::Put.new(@opt).scp
+ end
+ end
+ if @opt.act[:rsync][:set]==:on #% -R copy to remote server
+ require_relative 'remote' # -R remote.rb
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_Remote::Put.new(@opt).rsync
+ end
+ end
+ else
+ end
+ end
+ def urls?
+ if @opt.act[:urls_selected][:set]==:on #% --sitemap, -Y
+ require_relative 'urls'
+ SiSU::OptionLoopFiles.new(@opt).loop_files_on_given_option do
+ SiSU_Urls::Source.new(@opt).read #% urls.rb
+ end
+ end
+ end
+ self
+ end
+ end
+ def init?
+ SiSU_Env::InfoProcessingFlag.new
+ if (@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],
+ ' ' + File.dirname(__FILE__)
+ ).grey
+ end
+ if @opt.act[:ao][:set]==:on \
+ or @opt.act[:maintenance][:set]==:on #% --maintenance, -m for -C
+ env=SiSU_Env::InfoEnv.new(@opt.fns)
+ path={}
+ path[:css]=env.path.output + '/_sisu/css'
+ path[:xml]=env.path.output + '/_sisu/xml'
+ path[:xsd]=path[:xml] + '/xsd'
+ path[:xsd]=path[:xml] + '/rnc'
+ path[:xsd]=path[:xml] + '/rng'
+ re_p3=/(sisupod(?:\.txz)?|\S+?\.ss[mt]\.txz|[^\/]+?\.ssp)$/
+ unless @opt.files.join(',') =~ re_p3 #do not mix pods with source markup files in command line
+ if @opt.act[:maintenance][:set] ==:on
+ $VERBOSE=false #debug $VERBOSE=true
+ end
+ end
+ re_p2=/(sisupod(?:\.zip)?|\S+?\.ss[mt]\.zip)$/
+ unless @opt.files.join(',') =~ re_p2 #do not mix pods with source markup files in command line
+ if @opt.act[:maintenance][:set] ==:on
+ $VERBOSE=false #debug $VERBOSE=true
+ end
+ end
+ end
+ if @opt.act[:sample_search_form][:set]==:on #% --sample-search-form, -F cgi sample search form
+ SiSU::Operations.new(@opt).cgi
+ end
+ if @opt.act[:webrick][:set]==:on #% --webrick, -W webrick
+ SiSU::Operations.new(@opt).webrick
+ end
+ if @opt.act[:ao][:set]==:on
+ @retry_count= -1
+ begin
+ @get_s,@get_p,@get_pl=[],[],[]
+ re_s=/(\S+?\.-sst)$/
+ re_p3=/((?:https?|file):\/\/\S+?(?:\/\S+?\.ss[mt]\.txz|sisupod(?:\.txz)?|\.ssp))/
+ re_pl3=/^(\/\S+?\.ss[mt]\.txz)/
+ @opt.files.each do |fns|
+ if fns =~re_s
+ @get_s << @opt.f_pths[0][:url]
+ end
+ if fns =~re_p3
+ @get_p << re_p3.match(fns)[1] if re_p3
+ end
+ if fns =~re_pl3
+ @get_pl << re_pl3.match(fns)[1] if re_p3
+ end
+ end
+ if @get_s.length > 0 #% remote markup file .sst
+ require_relative 'remote' # remote.rb
+ SiSU_Remote::Get.new(@opt,@get_s).fns
+ SiSU::Operations.new.counter
+ end
+ if @get_p.length > 0 #% remote sisupod
+ require_relative 'remote' # remote.rb
+ SiSU_Remote::Get.new(@opt,@get_p).sisupod
+ end
+ rescue
+ SiSU_Errors::Rescued.new($!,$@,@opt,@fns).location do
+ __LINE__.to_s + ':' + __FILE__
+ end
+ @retry_count +=1
+ retry unless @retry_count > 1
+ ensure
+ end
+ end
+ end
+ self
+ end
+ end
+ class Operations
+ @@n_do=0
+ def initialize(opt='')
+ @opt=opt
+ @cX=SiSU_Screen::Ansi.new(@opt).cX
+ end
+ def counter
+ @@n_do=0
+ end
+ def remote_put_base_site_rsync # -CR
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
+ if @opt.act[:maintenance][:set] ==:on
+ require_relative 'remote' # remote.rb
+ SiSU_Remote::Put.new(@opt).rsync_base
+ end
+ def remote_put_base_site_rsync_match # -CCRZ
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
+ if @opt.act[:maintenance][:set] ==:on
+ require_relative 'remote' # remote.rb
+ SiSU_Remote::Put.new(@opt).rsync_base_sync
+ end
+ def remote_put_base_site # -Cr
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
+ if @opt.act[:maintenance][:set] ==:on
+ require_relative 'remote' # remote.rb
+ SiSU_Remote::Put.new(@opt).scp_base
+ end
+ def remote_put_base_site_all # -CCr
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).mark(:cyan) \
+ if @opt.act[:maintenance][:set] ==:on
+ require_relative 'remote' # remote.rb
+ SiSU_Remote::Put.new(@opt).scp_base_all
+ end
+ def cgi # -F
+ require_relative 'cgi' # cgi.rb
+ SiSU_CGI::SearchSQL.new(@opt).read
+ end
+ def termsheet # -t
+ system("sisu_termsheet #{@opt.selections.str} #{@opt.fns}\n")
+ @@n_do=@@n_do+1
+ SiSU_Screen::Ansi.new(
+ @opt.selections.str,@@n_do,
+ 'Termsheet(s) processed'
+ ).term_sheet_title unless @opt.act[:quiet][:set] ==:on
+ end
+ def webrick # -W
+ prt=SiSU_Env::InfoEnv.new(@fns).port.webrick_port
+ puts %{#{@cX.blue}<<#{@cX.off}#{@cX.green}Start Webrick web server on port: #{prt}#{@cX.off}#{@cX.blue}>> #{@cX.off*2} }
+ require_relative 'webrick'
+ SiSU_Webserv::WebrickStart.new
+ end
+ def not_found
+ puts "\n#{@cX.fuchsia}FILE NOT FOUND:#{@cX.off} << #{@opt.fns} >> - requested #{@opt.selections.str} processing skipped\n"
+ end
+ def convert_name_message(fns,type,i,o,rune)
+ %{\nIn filename: "#{@cX.fuchsia}#{fns}#{@cX.off}" << #{type} >> #{@cX.fuchsia}is apre 0.36 markup filename.#{@cX.off} #{@cX.brown}Please rename your file.#{@cX.off}\n\tAs of sisu-0.37, SiSU markup files with #{@cX.brown}the extensions #{i} should be re-named #{o}#{@cX.off}\n\tif you have the program called 'rename' installed, the following rune should do the trick:\n\t\t#{rune}\n\talternatively try:\n\t\tsisu --convert --36to37 #{fns}\n\trequested #{@opt.selections.str} processing skipped\n}
+ end
+ def not_recognised
+ case @opt.fns
+ when /(\.s[123])$/
+ type=@opt.fns.gsub(/\S+?(#{$1})/,'\1')
+ rune=%q{rename 's/\.s[123]$/\.sst/' *.s{1,2,3}}
+ puts convert_name_message(@opt.fns,type,'.s1 .s2 and .s3','.sst',rune)
+ when /(\.r[123])$/
+ type=@opt.fns.gsub(/\S+?(#{$1})/,'\1')
+ rune=%q{rename 's/\.r[123]$/\.ssm/' *.r{1,2,3}}
+ puts convert_name_message(@opt.fns,type,'.r1 .r2 and .r3','.sst',rune)
+ puts %{\n\tNote also that you will need to change the names of the files called/required\n\twithin the document text to build the composite document\n\t\t.s1 .s2 .s3 should be .sst \n\t\t.si should be .ssi\n\trequested #{@opt.selections.str} processing skipped\n}
+ when /(\.ssi)$/
+ puts "\n#{@cX.fuchsia}component filetype:#{@cX.off} << #{@opt.fns} >> - is not a processed filetype, (it may be used as a component of a .ssm markup file)\n\trequested #{@opt.selections.str} processing skipped\n"
+ else
+ puts "\n#{@cX.fuchsia}FILETYPE NOT RECOGNISED:#{@cX.off} << #{@opt.fns} >> - is not a recognized filetype,\n\trequested #{@opt.selections.str} processing skipped\n"
+ end
+ end
+ end
+end
+__END__
diff --git a/lib/sisu/v5/hub_options.rb b/lib/sisu/v5/hub_options.rb
index f851b985..d822ebd5 100644
--- a/lib/sisu/v5/hub_options.rb
+++ b/lib/sisu/v5/hub_options.rb
@@ -51,7 +51,7 @@
* Git
<http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
- <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v6/hub_options.rb;hb=HEAD>
+ <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/hub_options.rb;hb=HEAD>
* Ralph Amissah
<ralph@amissah.com>
@@ -156,11 +156,12 @@ module SiSU_Commandline
end
end
class Options
- 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
+ attr_accessor :selections,:opt_ch,: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,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){[]}
+ @opt_ch=@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,@select_arr,@act=Array.new(5){[]}
+ @select_str=nil
@env=SiSU_Env::InfoEnv.new
@lng_base=@env.language_default_set
@dir_structure_by=SiSU_Env::EnvCall.new.output_dir_structure.by?
@@ -269,24 +270,25 @@ module SiSU_Commandline
if a.length > 0
s=expand_numeric_shortcuts(a)
q=set_files_and_paths_and_general_extract(s)
- @cmd,@mod=opt_cmd_and_mod_adjust(q[:cmd],q[:mod])
+ files=(q[:files].length > 0) ? :true : :false
+ @select_arr=opt_cmd_and_mod_adjust(q[:opt_ch],q[:selections],files)
@what=q[:what] unless q[:what].empty?
@paths = q[:paths]
@files = q[:files]
@f_pths = q[:f_pths]
@lngs = q[:lngs]
if @files.length > 0 \
- and @cmd.empty? \
- and @mod.length==0 #% if no other action called on filename given, default is sisu --v5 -0 [filename(s)] configured as flag default
+ and @opt_ch.empty? \
+ and @select_arr.length==0 #% if no other action called on filename given, default is sisu --v5 -0 [filename(s)] configured as flag default
shortcut=SiSU_Env::InfoProcessingFlag.new
- @mod=['--v5']
- @cmd=shortcut.cf_0 + ' --dal'
+ @select_arr=['--v5']
+ @select_arr << shortcut.act_0.arr #+ ' --dal'
end
- if @cmd =~/[vVM]/ \
- && @cmd !~/-[ku]*v[ku]*$/
+ if @select_arr.inspect =~/--verbose/ \
+ && @opt_ch !~/-[ku]*v[ku]*$/
SiSU_Screen::Ansi.new(
- @cmd,
- "\tsisu " + @cmd + ' ' + @mod.join(' ') + ' ' + @files.join(' ') + "\n"
+ @opt_ch,
+ "\tsisu " + @opt_ch + ' ' + @select_arr.join(' ') + ' ' + @files.join(' ') + "\n"
).print_brown
end
end
@@ -443,8 +445,8 @@ module SiSU_Commandline
end
end
{
- cmd: c,
- mod: m,
+ opt_ch: c,
+ selections: m,
what: w,
paths: pth,
files: f,
@@ -454,387 +456,583 @@ module SiSU_Commandline
}
end
def expand_numeric_shortcuts(a)
+ s=''
+ a.each do |x|
+ y=case x
+ when /0/
+ (x=~/^-0\S+/) \
+ ? x.gsub(/^-0(\S+)/,'--act0' + ' -\1')
+ : x.gsub(/^-0/,'--act0' + ' ')
+ when /1/
+ (x=~/^-1\S+/) \
+ ? x.gsub(/^-1(\S+)/,'--act1' + ' -\1')
+ : x.gsub(/^-1/,'--act1' + ' ')
+ when /2/
+ (x=~/^-2\S+/) \
+ ? x.gsub(/^-2(\S+)/,'--act2' + ' -\1')
+ : x.gsub(/^-2/,'--act2' + ' ')
+ when /3/
+ (x=~/^-3\S+/) \
+ ? x.gsub(/^-3(\S+)/,'--act3' + ' -\1')
+ : x.gsub(/^-3/,'--act3' + ' ')
+ when /4/
+ (x=~/^-4\S+/) \
+ ? x.gsub(/^-4(\S+)/,'--act4' + ' -\1')
+ : x.gsub(/^-4/,'--act4' + ' ')
+ when /5/
+ (x=~/^-5\S+/) \
+ ? x.gsub(/^-5(\S+)/,'--act5' + ' -\1')
+ : x.gsub(/^-5/,'--act5' + ' ')
+ when /6/
+ (x=~/^-6\S+/) \
+ ? x.gsub(/^-6(\S+)/,'--act6' + ' -\1')
+ : x.gsub(/^-6/,'--act6' + ' ')
+ when /7/
+ (x=~/^-7\S+/) \
+ ? x.gsub(/^-7(\S+)/,'--act7' + ' -\1')
+ : x.gsub(/^-7/,'--act7' + ' ')
+ when /8/
+ (x=~/^-8\S+/) \
+ ? x.gsub(/^-8(\S+)/,'--act8' + ' -\1')
+ : x.gsub(/^-8/,'--act8' + ' ')
+ when /9/
+ (x=~/^-9\S+/) \
+ ? x.gsub(/^-9(\S+)/,'--act9' + ' -\1')
+ : x.gsub(/^-9/,'--act9' + ' ')
+ else x
+ end
+ s << " #{y}" unless y.empty?
+ end
+ s.strip!
+ end
+ def expand_numeric_shortcuts_(a)
shortcut=SiSU_Env::InfoProcessingFlag.new
s=''
a.each do |x|
y=case x
when /0/
(x=~/^-0\S+/) \
- ? x.gsub(/^-0(\S+)/,shortcut.cf_0 + ' -\1')
- : x.gsub(/^-0/,shortcut.cf_0 + ' ')
+ ? x.gsub(/^-0(\S+)/,shortcut.act_0.str + ' -\1')
+ : x.gsub(/^-0/,shortcut.act_0.str + ' ')
when /1/
(x=~/^-1\S+/) \
- ? x.gsub(/^-1(\S+)/,shortcut.cf_1 + ' -\1')
- : x.gsub(/^-1/,shortcut.cf_1 + ' ')
+ ? x.gsub(/^-1(\S+)/,shortcut.act_1.str + ' -\1')
+ : x.gsub(/^-1/,shortcut.act_1.str + ' ')
when /2/
(x=~/^-2\S+/) \
- ? x.gsub(/^-2(\S+)/,shortcut.cf_2 + ' -\1')
- : x.gsub(/^-2/,shortcut.cf_2 + ' ')
+ ? x.gsub(/^-2(\S+)/,shortcut.act_2.str + ' -\1')
+ : x.gsub(/^-2/,shortcut.act_2.str + ' ')
when /3/
(x=~/^-3\S+/) \
- ? x.gsub(/^-3(\S+)/,shortcut.cf_3 + ' -\1')
- : x.gsub(/^-3/,shortcut.cf_3 + ' ')
+ ? x.gsub(/^-3(\S+)/,shortcut.act_3.str + ' -\1')
+ : x.gsub(/^-3/,shortcut.act_3.str + ' ')
when /4/
(x=~/^-4\S+/) \
- ? x.gsub(/^-4(\S+)/,shortcut.cf_4 + ' -\1')
- : x.gsub(/^-4/,shortcut.cf_4 + ' ')
+ ? x.gsub(/^-4(\S+)/,shortcut.act_4.str + ' -\1')
+ : x.gsub(/^-4/,shortcut.act_4.str + ' ')
when /5/
(x=~/^-5\S+/) \
- ? x.gsub(/^-5(\S+)/,shortcut.cf_5 + ' -\1')
- : x.gsub(/^-5/,shortcut.cf_5 + ' ')
+ ? x.gsub(/^-5(\S+)/,shortcut.act_5.str + ' -\1')
+ : x.gsub(/^-5/,shortcut.act_5.str + ' ')
when /6/
(x=~/^-6\S+/) \
- ? x.gsub(/^-6(\S+)/,shortcut.cf_5 + ' -\1')
- : x.gsub(/^-6/,shortcut.cf_5 + ' ')
+ ? x.gsub(/^-6(\S+)/,shortcut.act_6.str + ' -\1')
+ : x.gsub(/^-6/,shortcut.act_6.str + ' ')
+ when /7/
+ (x=~/^-7\S+/) \
+ ? x.gsub(/^-7(\S+)/,shortcut.act_7.str + ' -\1')
+ : x.gsub(/^-7/,shortcut.act_7.str + ' ')
+ when /8/
+ (x=~/^-8\S+/) \
+ ? x.gsub(/^-8(\S+)/,shortcut.act_8.str + ' -\1')
+ : x.gsub(/^-8/,shortcut.act_8.str + ' ')
+ when /9/
+ (x=~/^-9\S+/) \
+ ? x.gsub(/^-9(\S+)/,shortcut.act_9.str + ' -\1')
+ : x.gsub(/^-9/,shortcut.act_9.str + ' ')
else x
end
s << " #{y}" unless y.empty?
end
s.strip!
end
- def opt_cmd_and_mod_adjust(c,m)
- cmd,mod,files=@cmd,@mod,@files
- if not m.empty? \
- and m.inspect =~/"--pdf-/
- mod << '--pdf'
- m.each do |s|
- if s =~ /^--pdf-(?:(?:l|landscape)(?:-(?:a4|letter|a5|b5|legal))?|(?:a4|letter|a5|b5|legal)-(?:l|landscape))$/
- mod << '--landscape'
- end
- if s =~ /^--pdf-(?:(?:p|portrait)(?:-(?:a4|letter|a5|b5|legal))?|(?:a4|letter|a5|b5|legal)-(?:p|portrait))$/
- mod << '--portrait'
- end
- if s =~ /^--pdf(?:-(?:a4|letter|a5|b5|legal)(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))(?:-(?:a4|letter|a5|b5|legal)))$/
- if s =~ /^--pdf(?:-a4(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-a4)$/
- mod << '--papersize-a4'
- end
- if s =~ /^--pdf(?:-a5(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-a5)$/
- mod << '--papersize-a5'
+ def opt_cmd_and_mod_adjust(ch,select_arr,files)
+if @select_arr.length > 0
+ p __LINE__
+ p @selection
+end
+ select_arr=select_arr.flatten
+ sel_init=select_arr.flatten
+ shortcut=SiSU_Env::InfoProcessingFlag.new
+ if files ==:true
+ if not sel_init.empty? \
+ and sel_init.inspect =~/"--act[0-9]/
+ sel_init.each do |s|
+ select_arr <<=case s
+ when /--act0/ then shortcut.act_0.arr
+ when /--act1/ then shortcut.act_1.arr
+ when /--act2/ then shortcut.act_2.arr
+ when /--act3/ then shortcut.act_3.arr
+ when /--act4/ then shortcut.act_4.arr
+ when /--act5/ then shortcut.act_5.arr
+ when /--act6/ then shortcut.act_6.arr
+ when /--act7/ then shortcut.act_7.arr
+ when /--act8/ then shortcut.act_8.arr
+ when /--act9/ then shortcut.act_9.arr
end
- if s =~ /^--pdf(?:-b5(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-b5)$/
- mod << '--papersize-b5'
+ end
+ end
+ if not sel_init.empty? \
+ and sel_init.inspect =~/"--pdf-/
+ select_arr << '--pdf'
+ sel_init.each do |s|
+ if s =~ /^--pdf-(?:(?:l|landscape)(?:-(?:a4|letter|a5|b5|legal))?|(?:a4|letter|a5|b5|legal)-(?:l|landscape))$/
+ select_arr << '--landscape'
end
- if s =~ /^--pdf(?:-letter(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-letter)$/
- mod << '--papersize-letter'
+ if s =~ /^--pdf-(?:(?:p|portrait)(?:-(?:a4|letter|a5|b5|legal))?|(?:a4|letter|a5|b5|legal)-(?:p|portrait))$/
+ select_arr << '--portrait'
end
- if s =~ /^--pdf(?:-legal(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-legal)$/
- mod << '--papersize-legal'
+ if s =~ /^--pdf(?:-(?:a4|letter|a5|b5|legal)(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))(?:-(?:a4|letter|a5|b5|legal)))$/
+ if s =~ /^--pdf(?:-a4(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-a4)$/
+ select_arr << '--papersize-a4'
+ end
+ if s =~ /^--pdf(?:-a5(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-a5)$/
+ select_arr << '--papersize-a5'
+ end
+ if s =~ /^--pdf(?:-b5(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-b5)$/
+ select_arr << '--papersize-b5'
+ end
+ if s =~ /^--pdf(?:-letter(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-letter)$/
+ select_arr << '--papersize-letter'
+ end
+ if s =~ /^--pdf(?:-legal(?:-(?:[lp]|landscape|portrait))?|(?:-(?:[lp]|landscape|portrait))-legal)$/
+ select_arr << '--papersize-legal'
+ end
end
end
+ select_arr=select_arr.uniq
end
- mod=mod.uniq
- end
- unless m.empty?
- m.each do |s|
- case s
- when /^--(?:color-toggle)$/ then c=c+'c'
- when /^--(?:color-off)$/ then c=c+'k'
- when /^--(?:conf|config|configure|init|initialize|init-site)$/ then c=c+'CC'
- when /^--(?:ao|dal?|machine|abstraction|abs)$/ then c=c+'m'
- when /^--(?:txt|text|plaintext)$/ then c=c+'t'
- when /^--(?:html)$/ then c=c+'h'
- when /^--(?:html-scroll|html-seg)$/ then c=c+'H'
- mod << s
- when /^--(?:epub)$/ then c=c+'e'
- when /^--(?:od[ft])$/ then c=c+'o'
- when /^--docbook$/ then c=c+'d'
- when /^--(?:pdf)$/ then c=c+'p'
- when /^--pdf-(?:a4|a5|b5|legal|letter)$/ then c=c+'p'
- when /^--pdf-(?:p|l|portrait|landscape)$/ then c=c+'L'
- when /^--pdf-(?:p(?:ortrait)?|l(?:andscape)?)-(?:a4|letter|a5|b5|legal)$/ then c=c+'L'
- when /^--pdf-(?:a4|letter|a5|b5|legal)-(?:p(?:ortrait)?|l(?:andscape)?)$/ then c=c+'L'
- when /^--(?:concordance|wordmap)$/ then c=c+'w'
- when /^--(?:manpage|man)$/ then c=c+'i'
- when /^--(?:texinfo)$/ then c=c+'I'
- when /^--(?:xhtml)$/ then c=c+'b'
- when /^--(?:xml-sax)$/ then c=c+'x'
- when /^--(?:xml-dom)$/ then c=c+'X'
- when /^--(?:images)$/ then c=c+'j'
- when /^--(?:digests?|hash-digests)$/ then c=c+'N'
- when /^--(?:po4a|pot?)$/ then c=c+'P'
- when /^--(?:termsheet)$/ then c=c+'T'
- when /^--(?:manifest)$/ then c=c+'y'
- when /^--(?:qrcode)$/ then c=c+'Q'
- when /^--(?:remote|rsync)$/ then c=c+'R'
- when /^--(?:scp)$/ then c=c+'r'
- when /^--(?:source)$/ then c=c+'s'
- when /^--(?:sisupod|pod)$/ then c=c+'S'
- when /^--(?:git)$/ then c=c+'g'
- when /^--(?:urls)$/ then c=c+'U'
- when /^--(?:zap|delete)$/ then c=c+'Z'
- when /^--(?:sample-search-form)$/ then c=c+'F'
- when /^--(?:webserv|webrick)$/ then c=c+'W'
- when /^--(?:profile)$/ then c=c+'E'
- when /^--(?:maintenance|keep-processing-files)$/ then c=c+'M'
- when /^--(?:verbose[=-]3)$/ then c=c+'VM'
- when /^--(?:verbose[=-]2|Verbose|VERBOSE)$/ then c=c+'V'
- when /^--(?:verbose(?:[=-]1)?)$/ then c=c+'v'
- when /^--(?:version)$/ then c=c+'v'
- when /^--(?:verbose[=-]0|quiet|silent)$/ then c=c+'q'
- else mod << s #mod only contains command modifiers; commands converted to character
+ if ch.empty? \
+ and sel_init.length == 0
+ select_arr << shortcut.act_0.arr ################ & --flag empty
+ elsif not ch.empty?
+ if ch =~/c/ then select_arr << '--color-toggle'
+ ch=ch.gsub(/[c]/,'')
+ end
+ if ch =~/k/ then select_arr << '--color-off'
+ ch=ch.gsub(/[k]/,'')
+ end
+ if ch =~/C/ then select_arr << '--config'
+ ch=ch.gsub(/[C]+/,'')
+ end
+ if ch =~/m/ then select_arr << '--dal'
+ ch=ch.gsub(/[m]/,'')
+ end
+ if ch =~/t/ then select_arr << '--txt'
+ ch=ch.gsub(/[t]/,'')
+ end
+ if ch =~/h/ then select_arr << '--html'
+ ch=ch.gsub(/[h]/,'')
+ end
+ if ch =~/e/ then select_arr << '--epub'
+ ch=ch.gsub(/[e]/,'')
+ end
+ if ch =~/o/ then select_arr << '--odt'
+ ch=ch.gsub(/[o]/,'')
+ end
+ if ch =~/d/ then select_arr << '--docbook'
+ ch=ch.gsub(/[d]/,'')
+ end
+ if ch =~/p/ then select_arr << '--pdf'
+ ch=ch.gsub(/[p]/,'')
+ end
+ if ch =~/w/ then select_arr << '--concordance'
+ ch=ch.gsub(/[w]/,'')
+ end
+ if ch =~/i/ then select_arr << '--manpage'
+ ch=ch.gsub(/[i]/,'')
+ end
+ if ch =~/I/ then select_arr << '--texinfo'
+ ch=ch.gsub(/[I]/,'')
+ end
+ if ch =~/b/ then select_arr << '--xhtml'
+ ch=ch.gsub(/[b]/,'')
+ end
+ if ch =~/x/ then select_arr << '--xml-sax'
+ ch=ch.gsub(/[x]/,'')
+ end
+ if ch =~/X/ then select_arr << '--xml-dom'
+ ch=ch.gsub(/[X]/,'')
+ end
+ if ch =~/j/ then select_arr << '--images'
+ ch=ch.gsub(/[j]/,'')
+ end
+ if ch =~/N/ then select_arr << '--digests'
+ ch=ch.gsub(/[N]/,'')
+ end
+ if ch =~/P/ then select_arr << '--po4a'
+ ch=ch.gsub(/[P]/,'')
+ end
+ if ch =~/d/ then select_arr << '--sqlite'
+ ch=ch.gsub(/[d]/,'')
+ end
+ if ch =~/D/ then select_arr << '--pg'
+ ch=ch.gsub(/[D]/,'')
+ end
+ if ch =~/Q/ then select_arr << '--qrcode'
+ ch=ch.gsub(/[Q]/,'')
+ end
+ if ch =~/s/ then select_arr << '--source'
+ ch=ch.gsub(/[s]/,'')
+ end
+ if ch =~/S/ then select_arr << '--sisupod'
+ ch=ch.gsub(/[S]/,'')
+ end
+ if ch =~/m/ then select_arr << '--manifest'
+ ch=ch.gsub(/[m]/,'')
+ end
+ if ch =~/R/ then select_arr << '--rsync'
+ ch=ch.gsub(/[R]/,'')
+ end
+ if ch =~/r/ then select_arr << '--scp'
+ ch=ch.gsub(/[r]/,'')
+ end
+ if ch =~/g/ then select_arr << '--git'
+ ch=ch.gsub(/[g]/,'')
+ end
+ if ch =~/U/ then select_arr << '--urls'
+ ch=ch.gsub(/[u]/,'')
+ end
+ if ch =~/Z/ then select_arr << '--zap'
+ ch=ch.gsub(/[Z]/,'')
+ end
+ if ch =~/F/ then select_arr << '--sample-search-form'
+ ch=ch.gsub(/[F]/,'')
+ end
+ if ch =~/w/ then select_arr << '--webrick'
+ ch=ch.gsub(/[w]/,'')
+ end
+ if ch =~/M/ then select_arr << '--maintenance'
+ ch=ch.gsub(/[M]/,'')
+ end
+ if ch =~/V/ then select_arr << '--very-verbose'
+ ch=ch.gsub(/[V]/,'')
+ end
+ if ch =~/v/ then select_arr << '--verbose'
+ ch=ch.gsub(/[v]/,'')
+ end
+ if ch =~/q/ then select_arr << '--quiet'
+ ch=ch.gsub(/[q]/,'')
+ end
+ if select_arr.inspect !~/--urls/ \
+ and select_arr.inspect \
+ !~/"--harvest/
+ select_arr << '--urls'
+ end
+ if select_arr.inspect !~/--dal/ \
+ and select_arr.inspect =~/txt|text|html|odt|epub|docbook|xml|pdf|manpage|texinfo|concordance|qrcode|source|sisupod|pg|sqlite|zap/
+ select_arr << '--dal'
+ end
+ if select_arr.inspect !~/--manifest/ \
+ and select_arr.inspect =~/txt|text|html|odt|epub|docbook|xml|pdf|manpage|texinfo|concordance|qrcode|source|sisupod|pg|sqlite|zap/
+ select_arr << '--manifest'
+ end
+ if select_arr.inspect !~/--images/ \
+ and select_arr.inspect =~/html|odt|docbook|xml|qrcode/
+ select_arr << '--images'
end
end
- end
- ca=[]
- unless c.empty?
- c=c.gsub(/-/,'')
- c.scan(/CC|\S/) {|x| ca << x}
- cmd= '-' + ca.uniq.join
- end
- extra=''
- if cmd !~/[mn]/
- extra+=if cmd =~/[abegHhIiLNOoPpQTtwXxyz]/ \
- and cmd !~/[mn]/
- 'm' #% add ao
- elsif ((mod.inspect =~/--(?:(?:sq)?lite|pg(?:sql)?)/) \
- and mod.inspect !~/(?:remove|(?:(?:re)?create(?:all)?|dropall|drop)$)/) \
- and cmd !~/[mn]/
- 'm' #% add ao
- else ''
+ else
+ if ch =~/C/ then select_arr << '--config'
+ ch=ch.gsub(/[C]+/,'')
end
- end
- if cmd !~/j/
- extra+=if cmd =~/[bdHhwXxyz]/ \
- and cmd !~/[j]/
- 'j' #% copy images
- else ''
+ if sel_init.inspect =~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"/
+ if ch =~/d/ then select_arr << '--sqlite'
+ ch=ch.gsub(/[d]/,'')
+ end
+ if ch =~/D/ then select_arr << '--pg'
+ ch=ch.gsub(/[D]/,'')
+ end
end
- end
- if cmd !~/y/
- extra+=if cmd =~/[abdeHhIiNopQSstwXxz]/ \
- and cmd !~/y/
- 'ym' #% add manifest
- elsif mod.inspect =~/--(?:(?:sq)?lite|pg(?:sql)?)/ \
- and files[0] !~/^remove$/ \
- and cmd !~/y/
- 'ym' #% add manifest
- else ''
+ if ch =~/v/ then select_arr << '--version'
+ ch=ch.gsub(/[v]/,'')
end
end
- if cmd !~/u/ #% add urls
- extra+='u'
- end
- cmd=cmd + extra
- cmds=cmd.scan(/CC|\S/)
- [cmds.uniq.join,mod]
+ select_arr=select_arr.flatten.compact.uniq.sort
end
- def opt_act #note mod line commands have already been converted to command characters, cmd
- cmd,mod=@cmd,@mod
+ def opt_act
+ select_arr=@select_arr
@@act=if @@act
@act=@@act
else
act={}
- act[:license]=(mod.inspect =~/"--license/) \
+ act[:license]=(select_arr.inspect \
+ =~/"--license/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:site_init]=(cmd =~/C/ \
- || mod.inspect =~/"--init"|"--initialize"|"--init-site"|"--conf"|"--config"|"--configure"/) \
+ act[:site_init]=(select_arr.inspect \
+ =~/"--init"|"--initialize"|"--init-site"|"--conf"|"--config"|"--configure"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:rc]=if mod.inspect =~/"--rc=/
- x=Dir.pwd + '/' + mod.join.gsub(/--rc=/,'')
+ act[:rc]=if select_arr.inspect \
+ =~/"--rc=/
+ x=Dir.pwd + '/' + select_arr.join.gsub(/--rc=/,'')
{ bool: true, set: :on, inst: x }
else
{ bool: false, set: :na, inst: '' }
end
- act[:processing_path]=if mod.inspect =~/"--processing-path=/
- base_pth=mod.join(';').gsub(/^.*--processing-path=['"]?(.+?)(?:['"]?;.+)?$/,'\1')
+ act[:processing_path]=if select_arr.inspect \
+ =~/"--processing-path=/
+ base_pth=select_arr.join(';').gsub(/^.*--processing-path=['"]?(.+?)(?:['"]?;.+)?$/,'\1')
{ bool: true, set: :on, inst: base_pth }
- elsif mod.inspect =~/"--processing-path/
+ elsif select_arr.inspect \
+ =~/"--processing-path/
{ bool: true, set: :on, inst: @base_path }
else
{ bool: false, set: :na, inst: nil }
end
- act[:dump]=if mod.inspect =~/"--dump=/
- base_pth=mod.join(';').gsub(/^.*--dump=['"]?(.+?)(?:['"]?;.+)?$/,'\1')
+ act[:dump]=if select_arr.inspect \
+ =~/"--dump=/
+ base_pth=select_arr.join(';').
+ gsub(/^.*--dump=['"]?(.+?)(?:['"]?;.+)?$/,'\1')
{ bool: true, set: :on, inst: base_pth }
- elsif mod.inspect =~/"--dump/
+ elsif select_arr.inspect =~/"--dump/
{ bool: true, set: :on, inst: @base_path }
else
{ bool: false, set: :na, inst: nil }
end
- act[:redirect]=if mod.inspect =~/"--redirect=/
- base_pth=mod.join(';').gsub(/^.*--redirect=['"]?(.+?)(?:['"]?;.+)?$/,'\1')
+ act[:redirect]=if select_arr.inspect \
+ =~/"--redirect=/
+ base_pth=select_arr.join(';').
+ gsub(/^.*--redirect=['"]?(.+?)(?:['"]?;.+)?$/,'\1')
{ bool: true, set: :on, inst: base_pth }
- elsif mod.inspect =~/"--redirect/
+ elsif select_arr.inspect \
+ =~/"--redirect/
{ bool: true, set: :on, inst: @base_path }
else
{ bool: false, set: :na, inst: nil }
end
- act[:switch]=if mod.inspect =~/"--switch-off=/
- off_list=mod.join(';').gsub(/^.*--switch-off=['"]?(.+?)(?:['"];.+)?$/,'\1')
+ act[:switch]=if select_arr.inspect \
+ =~/"--switch-off=/
+ off_list=select_arr.join(';').
+ gsub(/^.*--switch-off=['"]?(.+?)(?:['"];.+)?$/,'\1')
off_list=off_list.scan(/[^,;\s]+/)
{ bool: false, set: :off, off: off_list}
else { bool: true, set: :na, off: [] }
end
- act[:default_language]=if mod.inspect =~/"--(?:default-)?language[-=](\S{2})"/
+ act[:default_language]=if select_arr.inspect \
+ =~/"--(?:default-)?language[-=](\S{2})"/
{ set: :on, code: $1 }
elsif lng_base
{ set: :on, code: lng_base }
else { set: :na, code: 'en' }
end
- act[:i18n]=if mod.inspect =~/"(?:--monolingual|--i18n-mono(?:lingual)?)"/ #if monolingual possible outputs output_by :filename & :filetype only, without language code in default language name; give warning of conflict settings if monolingual & :language selected
+ act[:i18n]=if select_arr.inspect \
+ =~/"(?:--monolingual|--i18n-mono(?:lingual)?)"/ #if monolingual possible outputs output_by :filename & :filetype only, without language code in default language name; give warning of conflict settings if monolingual & :language selected
@lingual=:mono
{ set: :mono }
- elsif mod.inspect =~/"(?:--multilingual|--i18n-multi(?:lingual)?)"/
+ elsif select_arr.inspect \
+ =~/"(?:--multilingual|--i18n-multi(?:lingual)?)"/
@lingual=:multi
{ set: :multi }
else { set: :na }
end
- act[:output_by]=if mod.inspect =~/"--(?:output-)?by-language"/
+ act[:output_by]=if select_arr.inspect \
+ =~/"--(?:output-)?by-language"/
@dir_structure_by=:language
{ set: :language }
- elsif mod.inspect =~/"--(?:output-)?by-filename"/
+ elsif select_arr.inspect \
+ =~/"--(?:output-)?by-filename"/
@dir_structure_by=:filename
{ set: :filename }
- elsif mod.inspect =~/"--(?:output-)?by-filetype"/
+ elsif select_arr.inspect \
+ =~/"--(?:output-)?by-filetype"/
@dir_structure_by=:filetype
{ set: :filetype }
else { set: :na }
end
- act[:ocn]=if mod.inspect =~/"--ocn"|"--inc-ocn"|"--numbering"|"--inc-numbering"/
+ act[:ocn]=if select_arr.inspect \
+ =~/"--ocn"|"--inc-ocn"|"--numbering"|"--inc-numbering"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--no-ocn"|"--exc-ocn"|"--no-numbering"|"--exc-numbering"/ \
+ elsif select_arr.inspect \
+ =~/"--no-ocn"|"--exc-ocn"|"--no-numbering"|"--exc-numbering"/ \
|| act[:switch][:off].inspect =~/"ocn"|"--numbering"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:toc]=if mod.inspect =~/"--inc-toc"/
+ act[:toc]=if select_arr.inspect \
+ =~/"--inc-toc"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-toc"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-toc"/ \
|| act[:switch][:off].inspect =~/"toc"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:minitoc]=if mod.inspect =~/"--inc-minitoc"/
+ act[:minitoc]=if select_arr.inspect \
+ =~/"--inc-minitoc"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-minitoc"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-minitoc"/ \
|| act[:switch][:off].inspect =~/"minitoc"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:links_to_manifest]=if mod.inspect =~/"--inc-links-to-manifest"|"--inc-manifest-links"/
+ act[:links_to_manifest]=if select_arr.inspect \
+ =~/"--inc-links-to-manifest"|"--inc-manifest-links"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-manifest"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-manifest"/ \
|| act[:switch][:off].inspect =~/"manifest"/ #place lower
{ bool: false, set: :off }
- elsif mod.inspect =~/"--(?:exc|no)-links-to-manifest"|"--(?:exc|no)-manifest-links"/ \
- || act[:switch][:off].inspect =~/"links_to_manifest"|"manifest_links"|"--(?:exc|no)-manifest"/ \
- || mod.inspect =~/"--(?:redirect|dump)/
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-links-to-manifest"|"--(?:exc|no)-manifest-links"/ \
+ || act[:switch][:off].inspect \
+ =~/"links_to_manifest"|"manifest_links"|"--(?:exc|no)-manifest"/ \
+ || select_arr.inspect \
+ =~/"--(?:redirect|dump)/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:manifest_minitoc]=if mod.inspect =~/"--inc-manifest-minitoc"|"--inc-minitoc"/
+ act[:manifest_minitoc]=if select_arr.inspect \
+ =~/"--inc-manifest-minitoc"|"--inc-minitoc"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-manifest-minitoc"|"--(?:exc|no)-minitoc"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-manifest-minitoc"|"--(?:exc|no)-minitoc"/ \
|| act[:switch][:off].inspect =~/"manifest_minitoc"|"minitoc"/
- #|| mod.inspect =~/"--(?:redirect|dump)/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:metadata]=if mod.inspect =~/"--inc-metadata"/
+ act[:metadata]=if select_arr.inspect \
+ =~/"--inc-metadata"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-metadata"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-metadata"/ \
|| act[:switch][:off].inspect =~/"metadata"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:html_minitoc]=if mod.inspect =~/"--inc-html-minitoc"|"--inc-minitoc"/
+ act[:html_minitoc]=if select_arr.inspect \
+ =~/"--inc-html-minitoc"|"--inc-minitoc"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-html-minitoc"|"--(?:exc|no)-minitoc"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-html-minitoc"|"--(?:exc|no)-minitoc"/ \
|| act[:switch][:off].inspect =~/"html_minitoc"|"minitoc"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:html_navigation]=if mod.inspect =~/"--inc-html-navigation"|"--inc-navigation"/
+ act[:html_navigation]=if select_arr.inspect \
+ =~/"--inc-html-navigation"|"--inc-navigation"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-html-navigation"|"--(?:exc|no)-navigation"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-html-navigation"|"--(?:exc|no)-navigation"/ \
|| act[:switch][:off].inspect =~/"html_navigation"|"nav"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:html_navigation_bar]=if mod.inspect =~/"--inc-html-navigation-bar"|"--inc-navigation-bar"/
+ act[:html_navigation_bar]=if select_arr.inspect \
+ =~/"--inc-html-navigation-bar"|"--inc-navigation-bar"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-html-navigation-bar"|"--(?:exc|no)-navigation-bar"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-html-navigation-bar"|"--(?:exc|no)-navigation-bar"/ \
|| act[:switch][:off].inspect =~/"html_navigation_bar"|"navbar"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:segsubtoc]=if mod.inspect =~/"--inc-segsubtoc"/
+ act[:segsubtoc]=if select_arr.inspect \
+ =~/"--inc-segsubtoc"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-segsubtoc"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-segsubtoc"/ \
|| act[:switch][:off].inspect =~/"segsubtoc"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:search_form]=if mod.inspect =~/"--inc-search-form"/
+ act[:search_form]=if select_arr.inspect \
+ =~/"--inc-search-form"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-search-form"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-search-form"/ \
|| act[:switch][:off].inspect =~/"search_form"|"search"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:html_search_form]=if mod.inspect =~/"--inc-html-search-form"|"--inc-search-form"/
+ act[:html_search_form]=if select_arr.inspect \
+ =~/"--inc-html-search-form"|"--inc-search-form"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-html-search-form"|"--(?:exc|no)-search-form"/ \
- || act[:switch][:off].inspect =~/"html_search_form"|"search_form"|"search"/
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-html-search-form"|"--(?:exc|no)-search-form"/ \
+ || act[:switch][:off].inspect \
+ =~/"html_search_form"|"search_form"|"search"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:html_right_pane]=if mod.inspect =~/"--inc-html-right-pane"|"--inc-right-pane"|"--inc-html-right-column"|"--inc-right-column"/
+ act[:html_right_pane]=if select_arr.inspect \
+ =~/"--inc-html-right-pane"|"--inc-right-pane"|"--inc-html-right-column"|"--inc-right-column"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-html-right-pane"|"--(?:exc|no)-right-pane"|"--(?:exc|no)-html-right-column"|"--(?:exc|no)-right-column"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-html-right-pane"|"--(?:exc|no)-right-pane"|"--(?:exc|no)-html-right-column"|"--(?:exc|no)-right-column"/ \
|| act[:switch][:off].inspect =~/"html_right_pane"|"html_right_column"|"promo"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:html_top_band]=if mod.inspect =~/"--inc-html-top-band"|"--inc-top-band"/
+ act[:html_top_band]=if select_arr.inspect \
+ =~/"--inc-html-top-band"|"--inc-top-band"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-html-top-band"|"--(?:exc|no)-top-band"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-html-top-band"|"--(?:exc|no)-top-band"/ \
|| act[:switch][:off].inspect =~/"html-top-band"|"top-band"/
{ bool: false, set: :off }
else { bool: true, set: :na }
end
- act[:html]=if mod.inspect =~/"--html-strict"/ \
- or ((cmd =~/h/ || mod.inspect =~/"--html"/) \
- && mod.inspect =~/"--strict"/)
+ act[:html]=if select_arr.inspect \
+ =~/"--html-strict"/ \
+ or ((select_arr.inspect \
+ =~/"--html"/) \
+ && select_arr.inspect \
+ =~/"--strict"/)
act[:html_strict]={ bool: true, set: :on }
act[:html_scroll]={ bool: true, set: :on }
act[:html_seg]={ bool: true, set: :on }
{ bool: true, set: :on }
- elsif (cmd =~/h/ \
- || mod.inspect =~/"--html"/)
+ elsif (select_arr.inspect \
+ =~/"--html"/)
act[:html_strict]={ bool: false, set: :off }
act[:html_scroll]={ bool: true, set: :on }
act[:html_seg]={ bool: true, set: :on }
{ bool: true, set: :on }
else
- act[:html_strict]=(mod.inspect =~/"--strict"/) \
+ act[:html_strict]=(select_arr.inspect \
+ =~/"--strict"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:html_scroll]=(mod.inspect =~/"--html-scroll"/) \
+ act[:html_scroll]=(select_arr.inspect \
+ =~/"--html-scroll"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:html_seg]=(mod.inspect =~/"--html-seg"/) \
+ act[:html_seg]=(select_arr.inspect \
+ =~/"--html-seg"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
{ bool: false, set: :na }
end
- act[:concordance]=(cmd =~/w/ \
- || mod.inspect =~/"--concordance"/) \
+ act[:concordance]=(select_arr.inspect \
+ =~/"--concordance"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:images]=(cmd =~/j/ \
- || mod.inspect =~/"--images"/) \
+ act[:images]=(select_arr.inspect \
+ =~/"--images"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- if (cmd =~/p/ \
- || mod.inspect =~/"--pdf"/)
- if mod.inspect =~/"--portrait"/
+ if select_arr.inspect \
+ =~/"--pdf"/
+ if select_arr.inspect \
+ =~/"--portrait"/
act[:pdf]= { bool: false, set: :na }
act[:pdf_l]={ bool: false, set: :na }
act[:pdf_p]={ bool: true, set: :on }
- elsif mod.inspect =~/"--landscape"/
+ elsif select_arr.inspect \
+ =~/"--landscape"/
act[:pdf]= { bool: false, set: :na }
act[:pdf_l]={ bool: true, set: :on }
act[:pdf_p]={ bool: false, set: :na }
@@ -856,47 +1054,60 @@ module SiSU_Commandline
if act[:pdf][:set]==:on \
or act[:pdf_p][:set]==:on \
or act[:pdf_l][:set]==:on
- act[:pdf_a4]=if mod.inspect =~/"--a4"|--papersize-a4"/ \
- or mod.inspect =~/"--papersize=\S*a4\b\S*"/ #--papersize=a4,a5
+ act[:pdf_a4]=if select_arr.inspect \
+ =~/"--a4"|--papersize-a4"/ \
+ or select_arr.inspect \
+ =~/"--papersize=\S*a4\b\S*"/ #--papersize=a4,a5
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:pdf_a5]=if mod.inspect =~/"--a5"|"--papersize-a5"/ \
- or mod.inspect =~/"--papersize=\S*a5\b\S*"/ #--papersize=a4,a5
+ act[:pdf_a5]=if select_arr.inspect \
+ =~/"--a5"|"--papersize-a5"/ \
+ or select_arr.inspect \
+ =~/"--papersize=\S*a5\b\S*"/ #--papersize=a4,a5
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:pdf_b5]=if mod.inspect =~/"--b5"|"--papersize-b5"/ \
- or mod.inspect =~/"--papersize=\S*b5\b\S*"/
+ act[:pdf_b5]=if select_arr.inspect \
+ =~/"--b5"|"--papersize-b5"/ \
+ or select_arr.inspect \
+ =~/"--papersize=\S*b5\b\S*"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:pdf_letter]=if mod.inspect =~/"--letter"|"--papersize-letter"/ \
- or mod.inspect =~/"--papersize=\S*letter\b\S*"/
+ act[:pdf_letter]=if select_arr.inspect \
+ =~/"--letter"|"--papersize-letter"/ \
+ or select_arr.inspect \
+ =~/"--papersize=\S*letter\b\S*"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:pdf_legal]=if mod.inspect =~/"--legal"|"--papersize-legal"/ \
- or mod.inspect =~/"--papersize=\S*legal\b\S*"/
+ act[:pdf_legal]=if select_arr.inspect \
+ =~/"--legal"|"--papersize-legal"/ \
+ or select_arr.inspect \
+ =~/"--papersize=\S*legal\b\S*"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
end
- act[:epub]=(cmd =~/e/ \
- || mod.inspect =~/"--epub"/) \
+ act[:epub]=(select_arr.inspect \
+ =~/"--epub"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:odt]=if cmd =~/o/ \
- or mod.inspect =~/"--odt"|"--odf"|"--odt-(?:ocn|numbering)"|"--odf-(?:ocn|numbering)"/
- act[:odt_ocn]=if (mod.inspect =~/"--odt-(?:ocn|numbering)"|"--odf-(?:ocn|numbering)"/ \
- or mod.inspect =~/"--ocn"|"--inc-ocn"|"--numbering"|"--inc-numbering"/)
+ act[:odt]=if select_arr.inspect \
+ =~/"--odt"|"--odf"|"--odt-(?:ocn|numbering)"|"--odf-(?:ocn|numbering)"/
+ act[:odt_ocn]=if (select_arr.inspect \
+ =~/"--odt-(?:ocn|numbering)"|"--odf-(?:ocn|numbering)"/ \
+ or select_arr.inspect \
+ =~/"--ocn"|"--inc-ocn"|"--numbering"|"--inc-numbering"/)
{ bool: true, set: :on }
- elsif mod.inspect =~/"--no-ocn"|"--exc-ocn"|"--no-numbering"|"--exc-numbering"/
+ elsif select_arr.inspect \
+ =~/"--no-ocn"|"--exc-ocn"|"--no-numbering"|"--exc-numbering"/
{ bool: false, set: :off }
else
{ bool: false, set: :na }
@@ -905,38 +1116,43 @@ module SiSU_Commandline
else
{ bool: false, set: :na }
end
- act[:xml_sax]=(cmd =~/x/ \
- || mod.inspect =~/"--xml-sax"/) \
+ act[:xml_sax]=(select_arr.inspect \
+ =~/"--xml-sax"|"--sax"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:xml_dom]=(cmd =~/X/ \
- || mod.inspect =~/"--xml-dom"/) \
+ act[:xml_dom]=(select_arr.inspect \
+ =~/"--xml-dom"|"--dom"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:xml_docbook_book]=(cmd =~/d/ \
- || mod.inspect =~/"--docbook"|"--docbook-book"|"--xml-docbook"|"--xml-docbook_book"/) \
+ act[:xml_docbook_book]=(select_arr.inspect \
+ =~/"--docbook"|"--docbook-book"|"--xml-docbook"|"--xml-docbook_book"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:xml_fictionbook]=(cmd =~/f/ \
- || mod.inspect =~/"--fictionbook"|"--xml-fictionbook"/) \
+ act[:xml_fictionbook]=(select_arr.inspect \
+ =~/"--fictionbook"|"--xml-fictionbook"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:xml_scaffold_structure_sisu]=mod.inspect =~/"--xml-scaffold"|"--xml-scaffold-sisu"/ \
+ act[:xml_scaffold_structure_sisu]=select_arr.inspect \
+ =~/"--xml-scaffold"|"--xml-scaffold-sisu"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:xml_scaffold_structure_collapse]=mod.inspect =~/"--xml-scaffold-collapse"/ \
+ act[:xml_scaffold_structure_collapse]=select_arr.inspect \
+ =~/"--xml-scaffold-collapse"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:xhtml]=(cmd =~/b/ \
- || mod.inspect =~/"--xhtml"/) \
+ act[:xhtml]=(select_arr.inspect \
+ =~/"--xhtml"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:txt]=if cmd =~/[at]/ \
- or mod.inspect =~/"--txt"|"--text"|"--plaintext"|"--txt-(?:ocn|numbering)"|"--text-(?:ocn|numbering)"|"--plaintext-(?:ocn|numbering)"/
- act[:txt_ocn]=if (mod.inspect =~/"--txt-(?:ocn|numbering)"|"--text-(?:ocn|numbering)"|"--plaintext-(?:ocn|numbering)"/ \
- or mod.inspect =~/"--ocn"|"--inc-ocn"|"--numbering"|"--inc-numbering"/)
+ act[:txt]=if select_arr.inspect \
+ =~/"--txt"|"--text"|"--plaintext"|"--txt-(?:ocn|numbering)"|"--text-(?:ocn|numbering)"|"--plaintext-(?:ocn|numbering)"/
+ act[:txt_ocn]=if (select_arr.inspect \
+ =~/"--txt-(?:ocn|numbering)"|"--text-(?:ocn|numbering)"|"--plaintext-(?:ocn|numbering)"/ \
+ or select_arr.inspect \
+ =~/"--ocn"|"--inc-ocn"|"--numbering"|"--inc-numbering"/)
{ bool: true, set: :on }
- elsif mod.inspect =~/"--no-ocn"|"--exc-ocn"|"--no-numbering"|"--exc-numbering"/
+ elsif select_arr.inspect \
+ =~/"--no-ocn"|"--exc-ocn"|"--no-numbering"|"--exc-numbering"/
{ bool: false, set: :off }
else
{ bool: false, set: :na }
@@ -945,66 +1161,71 @@ module SiSU_Commandline
else
{ bool: false, set: :na }
end
- act[:txt_textile]=(mod.inspect =~/"--textile"/) \
+ act[:txt_textile]=(select_arr.inspect \
+ =~/"--textile"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:txt_asciidoc]=(mod.inspect =~/"--asciidoc"/) \
+ act[:txt_asciidoc]=(select_arr.inspect \
+ =~/"--asciidoc"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:txt_markdown]=(mod.inspect =~/"--markdown"/) \
+ act[:txt_markdown]=(select_arr.inspect \
+ =~/"--markdown"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:txt_rst]=(mod.inspect =~/"--rst"|"--rest"|"--restructuredtext"/) \
+ act[:txt_rst]=(select_arr.inspect \
+ =~/"--rst"|"--rest"|"--restructuredtext"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:manpage]=(cmd =~/i/ \
- || mod.inspect =~/"--manpage"|"--man"/) \
+ act[:manpage]=(select_arr.inspect \
+ =~/"--manpage"|"--man"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:texinfo]=(cmd =~/I/ \
- || mod.inspect =~/"--texinfo"/) \
+ act[:texinfo]=(select_arr.inspect \
+ =~/"--texinfo"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:psql]=if mod.inspect =~/"--pg-\S+"/ \
- or ((mod.inspect =~/"--pg"/) \
- && (mod.inspect \
+ act[:psql]=if select_arr.inspect \
+ =~/"--pg-\S+"/ \
+ or ((select_arr.inspect =~/"--pg"/) \
+ && (select_arr.inspect \
=~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/))
- act[:psql_createdb]=if mod.inspect \
+ act[:psql_createdb]=if select_arr.inspect \
=~/"--pg-createdb"|"--createdb"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- if mod.inspect \
+ if select_arr.inspect \
=~/"--pg-recreate(?:all)?"|"--recreate(?:all)?"/
act[:psql_drop]={ bool: true, set: :on }
act[:psql_create]={ bool: true, set: :on }
else
- act[:psql_drop]=if mod.inspect \
+ act[:psql_drop]=if select_arr.inspect \
=~/"--pg-dropall"|"--dropall"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:psql_create]=if mod.inspect \
+ act[:psql_create]=if select_arr.inspect \
=~/"--pg-create(?:all)?"|"--create(?:all)?"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
end
- act[:psql_import]=if mod.inspect \
+ act[:psql_import]=if select_arr.inspect \
=~/"--pg-import"|"--import"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:psql_update]=if mod.inspect \
+ act[:psql_update]=if select_arr.inspect \
=~/"--pg-update"|"--update"/
act[:psql_remove]={ bool: true, set: :on }
{ bool: true, set: :on }
else
- act[:psql_remove]=if mod.inspect \
+ act[:psql_remove]=if select_arr.inspect \
=~/"--pg-remove"|"--remove"/
{ bool: true, set: :on }
else
@@ -1028,46 +1249,48 @@ module SiSU_Commandline
{ bool: false, set: :na }
{ bool: false, set: :na }
end
- act[:sqlite]=if (mod.inspect =~/"--sqlite-\S+"/) \
- or ((mod.inspect =~/"--sqlite"/) \
- && (mod.inspect \
- =~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/))
- act[:sqlite_createdb]=if mod.inspect \
+ act[:sqlite]=if select_arr.inspect \
+ =~/"--sqlite-\S+"/ \
+ or (select_arr.inspect \
+ =~/"--sqlite"/ \
+ && select_arr.inspect \
+ =~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/)
+ act[:sqlite_createdb]=if select_arr.inspect \
=~/"--sqlite-createdb"|"--createdb"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- if mod.inspect \
+ if select_arr.inspect \
=~/"--sqlite-recreate(?:all)?"|"--recreate(?:all)?"/
act[:sqlite_drop]={ bool: true, set: :on }
act[:sqlite_create]={ bool: true, set: :on }
else
- act[:sqlite_create]=if mod.inspect \
+ act[:sqlite_create]=if select_arr.inspect \
=~/"--sqlite-create(?:all)?"|"--create(?:all)?"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:sqlite_drop]=if mod.inspect \
+ act[:sqlite_drop]=if select_arr.inspect \
=~/"--sqlite-dropall"|"--dropall"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
end
- act[:sqlite_import]=if mod.inspect \
+ act[:sqlite_import]=if select_arr.inspect \
=~/"--sqlite-import"|"--import"/
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:sqlite_update]=if mod.inspect \
+ act[:sqlite_update]=if select_arr.inspect \
=~/"--sqlite-update"|"--update"/
act[:sqlite_remove]={ bool: true, set: :on }
{ bool: true, set: :on }
else
- act[:sqlite_remove]=if mod.inspect \
+ act[:sqlite_remove]=if select_arr.inspect \
=~/"--sqlite-remove"|"--sqlite-remove"/
{ bool: true, set: :on }
else
@@ -1091,92 +1314,110 @@ module SiSU_Commandline
{ bool: false, set: :na }
{ bool: false, set: :na }
end
- act[:sqlite_discrete]=mod.inspect =~/"--sql"|"--sqlite"/ \
- && (mod.inspect !~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/) \
+ act[:sqlite_discrete]=select_arr.inspect \
+ =~/"--sql"|"--sqlite"/ \
+ && (select_arr.inspect \
+ !~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:harvest]=(mod.inspect =~/"--harvest"/) \
+ act[:harvest]=(select_arr.inspect \
+ =~/"--harvest"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:po4a]=(cmd =~/P/ \
- || mod.inspect =~/"--po4a"|"--pot?"/) \
+ act[:po4a]=(select_arr.inspect \
+ =~/"--po4a"|"--pot?"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:git]=(cmd =~/g/ \
- || mod.inspect =~/"--git"/) \
+ act[:git]=(select_arr.inspect \
+ =~/"--git"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:hash_digests]=(cmd =~/N/ \
- || mod.inspect =~/"--digests?"|"--hash-digests"/) \
+ act[:hash_digests]=(select_arr.inspect \
+ =~/"--digests?"|"--hash-digests"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:pdf_font_size]=if mod.inspect =~/"--(?:pdf-)?font-?size[=-](\d{1,2})(?:pt)?"/
+ act[:pdf_font_size]=if select_arr.inspect \
+ =~/"--(?:pdf-)?font-?size[=-](\d{1,2})(?:pt)?"/
$1
else :na
end
- act[:pdf_hyperlink_colors]=if mod.inspect =~/"--pdf-hyperlinks-(?:mono(?:chrome)?|no-color)"/
+ act[:pdf_hyperlink_colors]=if select_arr.inspect \
+ =~/"--pdf-hyperlinks-(?:mono(?:chrome)?|no-color)"/
:mono
- elsif mod.inspect =~/"--pdf-hyperlinks-color"/
+ elsif select_arr.inspect \
+ =~/"--pdf-hyperlinks-color"/
:color
else :na
end
- act[:hash_digest_algo]=if mod.inspect =~/"--hash-(?:sha)?512"/
+ act[:hash_digest_algo]=if select_arr.inspect \
+ =~/"--hash-(?:sha)?512"/
:sha512
- elsif mod.inspect =~/"--hash-(?:sha)?256"/
+ elsif select_arr.inspect \
+ =~/"--hash-(?:sha)?256"/
:sha256
- elsif mod.inspect =~/"--hash-md5"/
+ elsif select_arr.inspect \
+ =~/"--hash-md5"/
:md5
else :na
end
- act[:sample_search_form]=(cmd =~/F/ \
- || mod.inspect =~/"--sample-search-form"/) \
+ act[:sample_search_form]=select_arr.inspect \
+ =~/"--sample-search-form"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:webrick]=(cmd =~/W/ \
- || mod.inspect =~/"--webrick"/) \
+ act[:webrick]=select_arr.inspect \
+ =~/"--webrick"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:share_source]=(cmd =~/s/ \
- || mod.inspect =~/"--source"/) \
+ act[:share_source]=select_arr.inspect \
+ =~/"--source"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:sisupod]=(cmd =~/S/ \
- || mod.inspect =~/"--sisupod"/) \
+ act[:sisupod]=select_arr.inspect \
+ =~/"--sisupod"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:scp]=(cmd =~/r/ \
- || mod.inspect =~/"--scp"/) \
+ act[:scp]=select_arr.inspect \
+ =~/"--scp"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:rsync]=(cmd =~/R/ \
- || mod.inspect =~/"--rsync"|"--remote"/) \
+ act[:rsync]=select_arr.inspect \
+ =~/"--rsync"|"--remote"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:zap]=(cmd =~/Z/ \
- || mod.inspect =~/"--zap"|"--delete"/) \
+ act[:zap]=select_arr.inspect \
+ =~/"--zap"|"--delete"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:urls_all]=(cmd =~/U/ \
- || mod.inspect =~/"--urls-all"/) \
+ act[:urls_all]=select_arr.inspect \
+ =~/"--urls-all"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:urls_selected]=(cmd =~/u/ \
- || mod.inspect =~/"--urls"/) \
- ? { bool: true, set: :on }
- : { bool: false, set: :na }
- act[:sitemap]=(cmd =~/Y/ \
- || mod.inspect =~/"--sitemap"/) \
+ act[:urls_selected]=if select_arr.inspect \
+ =~/"--urls"/
+ { bool: true, set: :on }
+ elsif select_arr.inspect \
+ =~/"--harvest/
+ { bool: false, set: :off }
+ elsif select_arr.inspect \
+ =~/"--verbose"/
+ { bool: true, set: :on }
+ else
+ { bool: false, set: :na }
+ end
+ act[:sitemap]=select_arr.inspect \
+ =~/"--sitemap"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:qrcode]=(cmd =~/Q/ \
- || mod.inspect =~/"--qrcode"/) \
+ act[:qrcode]=select_arr.inspect \
+ =~/"--qrcode"/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:help]=(mod.inspect =~/"--help/) \
+ act[:help]=select_arr.inspect \
+ =~/"--help/ \
? { bool: true, set: :on }
: { bool: false, set: :na }
- act[:ao]=if (cmd =~/m/ \
- || mod.inspect =~/"--ao"|"--dal"/)
+ act[:ao]=if select_arr.inspect \
+ =~/"--ao"|"--dal"/
{ bool: true, set: :on }
elsif (act[:txt][:set]==:on \
|| act[:txt_textile][:set]==:on \
@@ -1199,6 +1440,13 @@ module SiSU_Commandline
|| act[:share_source][:set]==:on \
|| act[:sisupod][:set]==:on \
|| act[:concordance][:set]==:on \
+ || act[:sqlite_discrete][:set]==:on \
+ || act[:sqlite_import][:set]==:on \
+ || act[:sqlite_update][:set]==:on \
+ || act[:sqlite_remove][:set]==:on \
+ || act[:psql_import][:set]==:on \
+ || act[:psql_update][:set]==:on \
+ || act[:psql_remove][:set]==:on \
|| act[:xml_dom][:set]==:on \
|| act[:xml_sax][:set]==:on \
|| act[:xml_docbook_book][:set]==:on \
@@ -1206,27 +1454,18 @@ module SiSU_Commandline
|| act[:xml_scaffold_structure_sisu][:set]==:on \
|| act[:xml_scaffold_structure_collapse][:set]==:on )
{ bool: true, set: :on }
- #if cmd !~/[mn]/
- # extra+=if cmd =~/[abegHhIiLNOoPpQTtwXxyz]/ \
- # and cmd !~/[mn]/
- # 'm' #% add ao
- #elsif (act[:txt][:set]==:on \
- # { bool: true, set: :on }
- # elsif ((cmd =~/[Dd]/ \
- # or (mod.inspect =~/--(?:(?:sq)?lite|pg(?:sql)?)/)) \
- # and mod.inspect !~/(?:remove|(?:(?:re)?create(?:all)?|dropall|drop)$)/) \
- # and cmd !~/[mn]/
- # 'm' #% add ao
else
{ bool: false, set: :na }
end
- act[:manifest]=if mod.inspect =~/"--inc-manifest"/
+ act[:manifest]=if select_arr.inspect \
+ =~/"--inc-manifest"/
{ bool: true, set: :on }
- elsif mod.inspect =~/"--(?:exc|no)-manifest"/ \
+ elsif select_arr.inspect \
+ =~/"--(?:exc|no)-manifest"/ \
|| act[:switch][:off].inspect =~/"manifest"/
{ bool: false, set: :off }
- elsif (cmd =~/y/ \
- || mod.inspect =~/"--manifest"/)
+ elsif select_arr.inspect \
+ =~/"--manifest"/
{ bool: true, set: :on }
elsif (act[:txt][:set]==:on \
|| act[:txt_textile][:set]==:on \
@@ -1256,71 +1495,55 @@ module SiSU_Commandline
|| act[:xml_scaffold_structure_sisu][:set]==:on \
|| act[:xml_scaffold_structure_collapse][:set]==:on )
{ bool: true, set: :on }
- ## if cmd !~/y/
- ## extra+=if cmd =~/[abeHhIiNopQSstwXxz]/ \
- ## and cmd !~/y/
- ## 'ym' #% add manifest
- #elsif (act[:txt][:set]==:on \
- # { bool: true, set: :on }
- # elsif (cmd =~/[Dd]/ \
- # or mod.inspect =~/--(?:(?:sq)?lite|pg(?:sql)?)/) \
- # and files[0] !~/^remove$/ \
- # and cmd !~/y/
- # 'ym' #% add manifest
else { bool: true, set: :na }
end
act[:console_messages] = ''
- act[:verbose]=if (cmd =~/v/ \
- || mod.inspect =~/"--verbose"/)
+ act[:verbose]=if select_arr.inspect \
+ =~/"--verbose"/
act[:console_messages] << ' --verbose '
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:verbose_plus]=if (cmd =~/V/ \
- || mod.inspect =~/"--very-verbose"/)
+ act[:verbose_plus]=if select_arr.inspect \
+ =~/"--very-verbose"/
act[:console_messages] << ' --very-verbose '
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:version_info]=if (cmd =~/[vVM]/ \
- || mod.inspect =~/"--verbose"|"--maintenance"/)
+ act[:version_info]=if select_arr.inspect \
+ =~/"--version"|"--verbose"|"--maintenance"/
act[:console_messages] << ' --maintenance '
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:quiet]=if (cmd =~/q/ \
- || mod.inspect =~/"--quiet"/)
+ act[:quiet]=if (select_arr.inspect =~/"--quiet"/)
act[:console_messages] << ' --quiet '
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:color_state]=if mod.inspect =~/"--color-on"|"--color"/
+ act[:color_state]=if select_arr.inspect =~/"--color-on"|"--color"/
act[:console_messages] << ' --color-on '
{ bool: true, set: :on }
- elsif (cmd =~/k/ \
- || mod.inspect =~/"--color-off"/)
+ elsif (select_arr.inspect =~/"--color-off"/)
act[:console_messages] << ' --color-off '
{ bool: false, set: :off }
else { bool: true, set: :na } #fix default color
end
-# act[:color_toggle]=if cmd =~/c/ \
-# or mod.inspect =~/"--color-toggle"/
+# act[:color_toggle]=if select_arr.inspect =~/"--color-toggle"/
# true
# else false
# end
- act[:maintenance]=if (cmd =~/M/ \
- || mod.inspect =~/"--maintenance|--keep-processing-files"/)
+ act[:maintenance]=if (select_arr.inspect =~/"--maintenance|--keep-processing-files"/)
act[:console_messages] << ' --maintenance '
{ bool: true, set: :on }
else
{ bool: false, set: :na }
end
- act[:profile]=if (cmd =~/E/ \
- || mod.inspect =~/"--profile"/)
+ act[:profile]=if (select_arr.inspect =~/"--profile"/)
act[:console_messages] << ' --color-off '
{ bool: true, set: :on }
else
@@ -1329,11 +1552,17 @@ module SiSU_Commandline
@act=act
end
end
- def cmd
- @cmd
+ def opt_ch
+ @opt_ch
end
- def mod
- @mod
+ def selections
+ def arr
+ @select_arr.sort
+ end
+ def str
+ @select_str ||= arr.join(' ')
+ end
+ self
end
def act
@@act
@@ -1342,6 +1571,9 @@ module SiSU_Commandline
files_mod=files
@files_mod=files_mod
end
+ def files
+ @files
+ end
def f_pth
@f_pth
end
diff --git a/lib/sisu/v5/manifest.rb b/lib/sisu/v5/manifest.rb
index f2a9e748..0b4f79a4 100644
--- a/lib/sisu/v5/manifest.rb
+++ b/lib/sisu/v5/manifest.rb
@@ -116,7 +116,7 @@ module SiSU_Manifest
data=SiSU_HTML::Source::HTML_Environment.new(@particulars).tuned_file_instructions
SiSU_Manifest::Source::Output.new(@md).check_output(data)
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -1019,7 +1019,7 @@ WOK
WOK
output
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/manpage.rb b/lib/sisu/v5/manpage.rb
index 0bcf1799..c8957dfe 100644
--- a/lib/sisu/v5/manpage.rb
+++ b/lib/sisu/v5/manpage.rb
@@ -94,7 +94,7 @@ module SiSU_Manpage
(@opt.act[:verbose][:set]==:on \
|| @opt.act[:verbose_plus][:set]==:on \
|| @opt.act[:maintenance][:set]==:on) \
- && @opt.cmd !~/q/ \
+ && @opt.act[:quiet][:set]==:on \
? SiSU_Screen::Ansi.new(
@opt.act[:color_state][:set],
'Manpage',
@@ -116,7 +116,7 @@ module SiSU_Manpage
@ao_array=SiSU_AO::Source.new(@opt).get # ao file drawn here
SiSU_Manpage::Source::Scroll.new(@md,@ao_array).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/po4a.rb b/lib/sisu/v5/po4a.rb
index b5086eb7..66798dbd 100644
--- a/lib/sisu/v5/po4a.rb
+++ b/lib/sisu/v5/po4a.rb
@@ -167,7 +167,7 @@ module SiSU_Po4a
SiSU_Po4a::Source::Scroll.new(fn,@ao_array_lang_src,@ao_array_lang_translation,@@md_src,@@md_trn,wrap_width).songsheet
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/qrcode.rb b/lib/sisu/v5/qrcode.rb
index 19d310c1..3a7d9406 100644
--- a/lib/sisu/v5/qrcode.rb
+++ b/lib/sisu/v5/qrcode.rb
@@ -111,7 +111,7 @@ module SiSU_QRcode
data=SiSU_HTML::Source::HTML_Environment.new(@particulars).tuned_file_instructions
OutputInfo.new(@md).check_output(data)
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -152,7 +152,7 @@ module SiSU_QRcode
mn += x
end
manifest.close if @md.opt.act[:maintenance][:set]==:on
- cmd=SiSU_Env::SystemCall.new(mn,@f.place_file.qrcode_md.dir,@md.opt.cmd)
+ cmd=SiSU_Env::SystemCall.new(mn,@f.place_file.qrcode_md.dir,@md.opt.selections.str)
cmd.qrencode
end
def output_metadata_short
@@ -160,7 +160,7 @@ module SiSU_QRcode
@manifest[:txt_title].each do |x|
mn += x
end
- cmd=SiSU_Env::SystemCall.new(mn,@f.place_file.qrcode_title.dir,@md.opt.cmd)
+ cmd=SiSU_Env::SystemCall.new(mn,@f.place_file.qrcode_title.dir,@md.opt.selections.str)
cmd.qrencode
end
def summarize(id,file,pth='',rel='',url='',img='● ')
@@ -193,7 +193,7 @@ WOK
|| @md.opt.act[:verbose_plus][:set]==:on \
|| @md.opt.act[:maintenance][:set]==:on)
SiSU_Screen::Ansi.new(
- @md.opt.cmd,
+ @md.opt.selections.str,
"#{dgst[1]} #{file}"
).warn
end
@@ -403,12 +403,13 @@ WOK
summarize(id,file,pth,rel,url)
end
if FileTest.file?(@f.place_file.txt.dir)==true
- id=if @md.opt.cmd =~/a/ then 'Plaintext (Unix (UTF-8) with footnotes)'
- elsif @md.opt.cmd =~/e/ then 'Plaintext (Unix (UTF-8) with endnotes)'
- elsif @md.opt.cmd =~/A/ then 'Plaintext (dos (UTF-8) with footnotes)'
- elsif @md.opt.cmd =~/E/ then 'Plaintext (dos (UTF-8) with endnotes)'
- else 'Plaintext (UTF-8)'
- end
+ id='Plaintext (UTF-8)'
+ #id=if @md.opt.selections.str =~/a/ then 'Plaintext (Unix (UTF-8) with footnotes)'
+ #elsif @md.opt.selections.str =~/e/ then 'Plaintext (Unix (UTF-8) with endnotes)'
+ #elsif @md.opt.selections.str =~/A/ then 'Plaintext (dos (UTF-8) with footnotes)'
+ #elsif @md.opt.selections.str =~/E/ then 'Plaintext (dos (UTF-8) with endnotes)'
+ #else 'Plaintext (UTF-8)'
+ #end
pth=@f.output_path.txt.dir
rel=@f.output_path.txt.rel_sm
url=@f.output_path.txt.url
@@ -746,7 +747,7 @@ WOK
output_metadata
output_metadata_short
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/rexml.rb b/lib/sisu/v5/rexml.rb
index c4512872..98263899 100644
--- a/lib/sisu/v5/rexml.rb
+++ b/lib/sisu/v5/rexml.rb
@@ -130,7 +130,7 @@ module SiSU_Rexml
exit
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/se_createsite.rb b/lib/sisu/v5/se_createsite.rb
index 33e334ce..a7ab7cf5 100644
--- a/lib/sisu/v5/se_createsite.rb
+++ b/lib/sisu/v5/se_createsite.rb
@@ -190,16 +190,20 @@ module SiSU_Create_Site
if defined? @rc['permission_set']['css_modify'] \
and @rc['permission_set']['css_modify']
SiSU_Screen::Ansi.new(
- @opt.cmd,
+ @opt.selections.str,
"*WARN* modify is css set to: #{@rc['permission_set']['css_modify']}"
- ).warn if @opt.cmd=~/[MV]/
+ ).warn if @opt.act[:verbose_plus][:set]==:on \
+ or @opt.act[:maintenance][:set]==:on
css_path.each do |x|
if FileTest.directory?(x)
FileUtils::cd(x)
source=Dir.glob("*.{css}")
source.each do |i|
if FileTest.file?(i)
- FileUtils::cp(i,"#{@env.path.output}/#{@env.path.style}")
+ FileUtils::cp(
+ i,
+ @env.path.output + '/' + @env.path.style
+ )
else STDERR.puts %{\t*WARN* did not find css - "#{i}" [#{__FILE__}:#{__LINE__}]}
end
end
@@ -208,62 +212,63 @@ module SiSU_Create_Site
end
else
SiSU_Screen::Ansi.new(
- @opt.cmd,
+ @opt.selections.str,
"*WARN* modify css is not set or is set to: false"
- ).warn if @opt.cmd=~/[MV]/
+ ).warn if @opt.act[:verbose_plus][:set]==:on \
+ or @opt.act[:maintenance][:set]==:on
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 @opt.cmd =~/C/ \
+ if @opt.act[:site_init][:set]==:on \
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 @opt.cmd =~/C/ \
+ if @opt.act[:site_init][:set]==:on \
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 @opt.cmd =~/C/ \
+ if @opt.act[:site_init][:set]==:on \
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 @opt.cmd =~/C/ \
+ if @opt.act[:site_init][:set]==:on \
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 @opt.cmd =~/C/ \
- or (@opt.cmd =~/[x]/ \
+ if @opt.act[:site_init][:set]==:on \
+ or (@opt.act[:xml_sax][:set]==:on \
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 @opt.cmd =~/C/ \
- or (@opt.cmd =~/[X]/ \
+ if @opt.act[:site_init][:set]==:on \
+ or (@opt.act[:xml_dom][:set]==:on \
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 @opt.cmd =~/C/ \
+ if @opt.act[:site_init][:set]==:on \
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]/ \
+ if @opt.act[:site_init][:set]==:on \
+ or (@opt.act[:xhtml][:set] == :on \
and not FileTest.file?("#{path_style}/#{fn_css.xhtml}"))
style=File.new("#{path_style}/#{fn_css.xhtml}",'w')
style << css.xhtml
diff --git a/lib/sisu/v5/se_db.rb b/lib/sisu/v5/se_db.rb
index 8ed78afa..3c6fdcba 100644
--- a/lib/sisu/v5/se_db.rb
+++ b/lib/sisu/v5/se_db.rb
@@ -94,7 +94,7 @@ module SiSU_Info_Db
def psql
def user(opt=nil)
if opt \
- and opt.mod.inspect =~/--db-user[=-]["']?(\S+)["']+/
+ and opt.selections.str.inspect =~/--db-user[=-]["']?(\S+)["']+/
$1
elsif opt \
and opt.mod =~/--webserv[=-]webrick/
@@ -176,7 +176,7 @@ module SiSU_Db_Op
begin
@md=md
rescue
- SiSU_Screen::Ansi.new(md.opt.cmd,$!,$@).rescue do
+ SiSU_Screen::Ansi.new(md.opt.selections.str,$!,$@).rescue do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/se_file_op.rb b/lib/sisu/v5/se_file_op.rb
index d8a919dd..83e9c1b9 100644
--- a/lib/sisu/v5/se_file_op.rb
+++ b/lib/sisu/v5/se_file_op.rb
@@ -188,7 +188,7 @@ module SiSU_File_Op
@md,@fno=md,fno
@env=SiSU_Env::InfoEnv.new(@md.fns)
rescue
- SiSU_Screen::Ansi.new(md.opt.cmd,$!,$@).rescue do
+ SiSU_Screen::Ansi.new(md.opt.selections.str,$!,$@).rescue do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/se_filemap.rb b/lib/sisu/v5/se_filemap.rb
index 0c4c84c0..075cdb83 100644
--- a/lib/sisu/v5/se_filemap.rb
+++ b/lib/sisu/v5/se_filemap.rb
@@ -68,7 +68,7 @@ module SiSU_File_Map
attr_accessor :local_sisu_source
def initialize(opt='') #watch / REVIEW
super()
- @opt=opt #,opt.fns,opt.cmd
+ @opt=opt #,opt.fns,opt.selections.str
@env=(@opt.fns && !(@opt.fns.empty?) \
? (SiSU_Env::InfoEnv.new(@opt.fns))
: (SiSU_Env::InfoEnv.new('dummy.sst')))
@@ -216,7 +216,7 @@ module SiSU_File_Map
ft=ft.uniq
filetypes=ft.join(',')
@filetypes=if filetypes !~/..+/ then '' # -r called alone, copy all
- elsif @opt.cmd =~/u/ then '' # -u added, copy all, (used to create remote directory tree see output path), not the usual function of -u
+ elsif @opt.selections.str =~/u/ then '' # -u added, copy all, (used to create remote directory tree see output path), not the usual function of -u
elsif filetypes =~/\S+?,\S+/ then '*{' + filetypes + '}' # more than one relevant file type
else '*' + filetypes # one relevant file type
end
diff --git a/lib/sisu/v5/se_hub_particulars.rb b/lib/sisu/v5/se_hub_particulars.rb
index 4372ac72..17942a71 100644
--- a/lib/sisu/v5/se_hub_particulars.rb
+++ b/lib/sisu/v5/se_hub_particulars.rb
@@ -127,7 +127,7 @@ module SiSU_Particulars
@md=SiSU_Param::Parameters.new(opt).get
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -138,7 +138,7 @@ module SiSU_Particulars
@env=SiSU_Env::InfoEnv.new(opt.fns)
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -149,7 +149,7 @@ module SiSU_Particulars
@file=SiSU_Env::FileOp.new(@md)
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -160,7 +160,7 @@ module SiSU_Particulars
@ao_array=SiSU_AO::Source.new(opt).get
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -170,7 +170,7 @@ module SiSU_Particulars
@sst_idx=SiSU_AO::Source.new(opt).get_idx_sst
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -180,7 +180,7 @@ module SiSU_Particulars
@raw_idx=SiSU_AO::Source.new(opt).get_idx_raw
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -190,7 +190,7 @@ module SiSU_Particulars
@html_idx=SiSU_AO::Source.new(opt).get_idx_html
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -200,7 +200,7 @@ module SiSU_Particulars
@xhtml_idx=SiSU_AO::Source.new(opt).get_idx_xhtml
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -213,11 +213,11 @@ module SiSU_Particulars
self
rescue
if @md
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
else
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -229,7 +229,7 @@ module SiSU_Particulars
@ocn_htmlseg_map=SiSU_AO::Source.new(@md).get_map_ocn_htmlseg
self
rescue
- SiSU_Errors::Rescued.new($!,$@,opt.cmd,opt.fnl).location do
+ SiSU_Errors::Rescued.new($!,$@,opt.selections.str,opt.fnl).location do
__LINE__.to_s + ':' + __FILE__
end
end
diff --git a/lib/sisu/v5/se_info_env.rb b/lib/sisu/v5/se_info_env.rb
index df3d0216..5d91e433 100644
--- a/lib/sisu/v5/se_info_env.rb
+++ b/lib/sisu/v5/se_info_env.rb
@@ -1634,7 +1634,7 @@ WOK
http=http.strip
end
def webserv_base_cgi(opt=nil) #web url for local webserv (localhost, or hostname)
- http=if opt.mod.inspect =~/--webserv-(?:cgi|db|search)[=-]["']?(\S+)["']+/
+ http=if opt.selections.str =~/--webserv-(?:cgi|db|search)[=-]["']?(\S+)["']+/
m=$1
(m=~/http\/\/:/) ? m : %{http://#{m}}
elsif defined? @rc['webserv_cgi']['host'] \
@@ -1708,7 +1708,7 @@ WOK
end
end
def webserv_files_from_db(opt=nil) #sort this out, messy
- if opt.mod.inspect =~/--webserv-output[=-]["']?(\S+)["']+/
+ if opt.selections.str =~/--webserv-output[=-]["']?(\S+)["']+/
m=$1
(m=~/(?:http|file\/)\/\/:/) ? m : %{http://#{m}}
else
@@ -1729,10 +1729,10 @@ WOK
#%q{http://#{ENV['HTTP_HOST']}/cgi-bin}
end
def cgi_sample_search_form_name(opt=nil)
- if opt.mod.inspect \
+ if opt.selections.str \
=~/--(?:cgi-)?search-form-name[=-]["']?(\S+?\.cgi)/
$1
- elsif not opt.mod.inspect =~/--db[=-]["']?sqlite/ \
+ elsif not opt.selections.str =~/--db[=-]["']?sqlite/ \
and defined? @rc['search'] \
and defined? @rc['search']['sisu'] \
and defined? @rc['search']['sisu']['action'] \
@@ -1740,7 +1740,7 @@ WOK
/(?:https?:\/\/\S+?)\/([^\/]+?\.cgi)$/.
match(@rc['search']['sisu']['action'])[1]
else
- (opt.mod.inspect =~/--db[=-]["']?sqlite/) \
+ (opt.selections.str =~/--db[=-]["']?sqlite/) \
? "#{Db[:name_prefix_db]}sqlite.cgi" \
: "#{Db[:name_prefix_db]}pg.cgi"
end
@@ -1783,12 +1783,12 @@ WOK
path.image_source_include
else
if @@local_image==true
- cmd=@cmd ? @cmd : ''
+ cmd=@selections.str ? @selections.str : ''
SiSU_Screen::Ansi.new(
cmd,
"WARNING - no local image directory or images:",
defaults[:image_local]
- ).warn unless cmd =~/q/
+ ).warn unless @md.opt.act[:quiet][:set]==:on
@@local_image=false
end
url.images
@@ -1813,7 +1813,7 @@ WOK
@cmd,
'WARNING - image directory for external images or no such images:',
:image_external
- ).warn unless @cmd =~/q/
+ ).warn unless @md.opt.act[:quiet][:set]==:on
@@local_image=false
end
url.images_external
@@ -1827,15 +1827,15 @@ WOK
def port
def webrick_port
if @md \
- and @md.opt.cmd.inspect=~/-F/ \
- and @md.opt.mod.inspect=~/port=(\d+)/
+ and @md.opt.act[:sample_search_form][:set]==:on \
+ and @md.opt.selections.str=~/port=(\d+)/
$1
else
if defined? @rc['webserv_cgi']['port']
if @rc['webserv_cgi']['port'].nil? \
and (defined? @md.opt.mod \
and not @md.opt.mod.nil? \
- and @md.opt.mod.inspect=~/webrick/)
+ and @md.opt.selections.str=~/webrick/)
defaults[:webserv_port_cgi]
elsif not @rc['webserv_cgi']['port'].nil?
@rc['webserv_cgi']['port']
@@ -1847,15 +1847,15 @@ WOK
end
def webserv_port_cgi(opt=nil)
port=if opt \
- and opt.cmd.inspect=~/-F/ \
- and opt.mod.inspect=~/port=(\d+)/
+ and @md.opt.act[:sample_search_form][:set]==:on \
+ and opt.selections.str=~/port=(\d+)/
$1
else
port=if defined? @rc['webserv_cgi']['port']
if @rc['webserv_cgi']['port'].nil? \
and (defined? opt.mod \
and not opt.mod.nil? \
- and opt.mod.inspect=~/webrick/)
+ and opt.selections.str=~/webrick/)
defaults[:webserv_port_cgi]
elsif not @rc['webserv_cgi']['port'].nil?
@rc['webserv_cgi']['port']
@@ -1864,7 +1864,7 @@ WOK
else
if (defined? opt.mod \
and not opt.mod.nil? \
- and opt.mod.inspect=~/webrick/)
+ and opt.selections.str=~/webrick/)
defaults[:webserv_port_cgi]
else nil
end
@@ -2145,7 +2145,7 @@ WOK
SiSU_Screen::Ansi.new(
'',
'*WARN* file not found: ' + fns_pod
- ).warn unless @cmd=~/q/
+ ).warn unless @md.opt.act[:quiet][:set]==:on
end
sisupod_processing_path
end
@@ -2164,7 +2164,7 @@ WOK
: (SiSU_Screen::Ansi.new(
'',
"*WARN* file not found: #{fns_pod}"
- ).warn unless @cmd=~/q/)
+ ).warn unless @md.opt.act[:quiet][:set]==:on)
sisupod_processing_path
end
end
diff --git a/lib/sisu/v5/se_processing.rb b/lib/sisu/v5/se_processing.rb
index 0a035ce8..35fa72c2 100644
--- a/lib/sisu/v5/se_processing.rb
+++ b/lib/sisu/v5/se_processing.rb
@@ -465,62 +465,172 @@ module SiSU_Processing_Settings
end
module SiSU_Info_Processing_Flag
class InfoProcessingFlag
- attr_accessor :color,:cf_0,:cf_1,:cf_2,:cf_3,:cf_4,:cf_5
+ attr_accessor :color,:act_0,:act_1,:act_2,:act_3,:act_4,:act_5,:act_6,:act_7,:act_8,:act_9
def initialize
@rc=SiSU_Get_Init::GetInit.new.sisu_yaml.rc
end
- def color #processing flag shortcuts
+ def color #configurable processing flag shortcuts
(defined? @rc['flag']['color']) \
? @rc['flag']['color']
: false
end
- def cf_0 #processing flag shortcuts
- if defined? @rc['flag']['default'] \
- and @rc['flag']['default'].is_a?(String)
- @rc['flag']['default']
- else #'-NQhewpotbxXdyYv'
- '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --manifest'
+ def act_0 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act0'] \
+ and @rc['flag']['act0'].is_a?(String)
+ @rc['flag']['act0']
+ elsif defined? @rc['flag']['default'] \
+ and @rc['flag']['default'].is_a?(String)
+ @rc['flag']['default']
+ else
+ '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --manifest --verbose'
+ end
+ end
+ def arr
+ str.scan(/\S+/)
+ end
+ self
+ end
+ def act_1 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act1'] \
+ and @rc['flag']['act1'].is_a?(String)
+ @rc['flag']['act1']
+ elsif defined? @rc['flag']['i'] \
+ and @rc['flag']['i'].is_a?(String)
+ @rc['flag']['i']
+ else
+ '--digest --text --html --manifest'
+ end
+ end
+ def arr
+ str.scan(/\S+/)
+ end
+ self
+ end
+ def act_2 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act2'] \
+ and @rc['flag']['act2'].is_a?(String)
+ @rc['flag']['act2']
+ elsif defined? @rc['flag']['ii'] \
+ and @rc['flag']['ii'].is_a?(String)
+ @rc['flag']['ii']
+ else
+ '--digest --text --html --epub --pdf --manifest'
+ end
+ end
+ def arr
+ str.scan(/\S+/)
+ end
+ self
+ end
+ def act_3 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act3'] \
+ and @rc['flag']['act3'].is_a?(String)
+ @rc['flag']['act3']
+ elsif defined? @rc['flag']['iii'] \
+ and @rc['flag']['iii'].is_a?(String)
+ @rc['flag']['iii']
+ else
+ '--digest --qrcode --text --html --epub --concordance --pdf --manifest'
+ end
+ end
+ def arr
+ str.scan(/\S+/)
+ end
+ self
+ end
+ def act_4 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act4'] \
+ and @rc['flag']['act4'].is_a?(String)
+ @rc['flag']['act4']
+ elsif defined? @rc['flag']['iv'] \
+ and @rc['flag']['iv'].is_a?(String)
+ @rc['flag']['iv']
+ else
+ '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --manifest'
+ end
+ end
+ def arr
+ str.scan(/\S+/)
end
+ self
end
- def cf_1 #processing flag shortcuts
- if defined? @rc['flag']['i'] \
- and @rc['flag']['i'].is_a?(String)
- @rc['flag']['i']
- else #'-Qhewpoty'
- '--digest --qrcode --text --html --epub --concordance --pdf --manifest'
+ def act_5 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act5'] \
+ and @rc['flag']['act5'].is_a?(String)
+ @rc['flag']['act5']
+ elsif defined? @rc['flag']['v'] \
+ and @rc['flag']['v'].is_a?(String)
+ @rc['flag']['v']
+ else
+ '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --sqlite --manifest'
+ end
end
+ def arr
+ str.scan(/\S+/)
+ end
+ self
end
- def cf_2 #processing flag shortcuts
- if defined? @rc['flag']['ii'] \
- and @rc['flag']['ii'].is_a?(String)
- @rc['flag']['ii']
- else #'-NQhewpotbxXdy'
- '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --manifest'
+ def act_6 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act6'] \
+ and @rc['flag']['act6'].is_a?(String)
+ @rc['flag']['act6']
+ else
+ '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --manifest'
+ end
+ end
+ def arr
+ str.scan(/\S+/)
end
+ self
end
- def cf_3 #processing flag shortcuts
- if defined? @rc['flag']['iii'] \
- and @rc['flag']['iii'].is_a?(String)
- @rc['flag']['iii']
- else #'-NQhewpotbxXdyY'
- '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --manifest'
+ def act_7 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act7'] \
+ and @rc['flag']['act7'].is_a?(String)
+ @rc['flag']['act7']
+ else
+ '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --source --sisupod --manifest'
+ end
+ end
+ def arr
+ str.scan(/\S+/)
end
+ self
end
- def cf_4 #processing flag shortcuts
- if defined? @rc['flag']['iv'] \
- and @rc['flag']['iv'].is_a?(String)
- @rc['flag']['iv']
- else #'-NQhewpotbxXdDyY --update'
- '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --postresql --update --manifest'
+ def act_8 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act8'] \
+ and @rc['flag']['act8'].is_a?(String)
+ @rc['flag']['act8']
+ else
+ '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --pg --update --manifest'
+ end
end
+ def arr
+ str.scan(/\S+/)
+ end
+ self
end
- def cf_5 #processing flag shortcuts
- if defined? @rc['flag']['v'] \
- and @rc['flag']['v'].is_a?(String)
- @rc['flag']['v']
- else #'-NQhewpotbxXdyYsS'
- '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --manifest --sisupod --source'
+ def act_9 #configurable processing flag shortcuts
+ def str
+ if defined? @rc['flag']['act9'] \
+ and @rc['flag']['act9'].is_a?(String)
+ @rc['flag']['act9']
+ else
+ '--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --pg --update --source --sisupod --manifest'
+ end
+ end
+ def arr
+ str.scan(/\S+/)
end
+ self
end
end
end
diff --git a/lib/sisu/v5/se_programs.rb b/lib/sisu/v5/se_programs.rb
index 35d68cb6..4eef1ce9 100644
--- a/lib/sisu/v5/se_programs.rb
+++ b/lib/sisu/v5/se_programs.rb
@@ -87,7 +87,7 @@ module SiSU_Sys_Call
end
@sys.locale
end
- def file_encoding(filename,cmd='') #file encoding
+ def file_encoding(filename,act='') #file encoding
program='file'
fnsp=SiSU_Env::InfoEnv.new(filename).source_file_with_path
if program_found?(program)
@@ -98,9 +98,13 @@ module SiSU_Sys_Call
encoding
else 'UTF-8 assumed, encoding undetermined'
end
- puts encoding if cmd =~/[VM]/
+ if act[:verbose_plus][:set] ==:on \
+ or act[:maintenance][:set] ==:on
+ puts encoding
+ end
encoding
- else encoding='UTF-8 assumed, file encoding check program unavailable'
+ else
+ 'UTF-8 assumed, file encoding check program unavailable'
end
end
def wc #word count
diff --git a/lib/sisu/v5/texinfo.rb b/lib/sisu/v5/texinfo.rb
index e792a989..16aef8bf 100644
--- a/lib/sisu/v5/texinfo.rb
+++ b/lib/sisu/v5/texinfo.rb
@@ -132,7 +132,7 @@ module SiSU_TexInfo
@marshalfile=SiSU_Env::InfoFile.new(@opt.fns).marshal.ao_content
if FileTest.file?(@marshalfile)==true
File.open(@marshalfile) { |f| @@tuned_file=Marshal.load(f)}
- #tell.meta_verse_skipped if @opt.cmd =~/[vVM]/
+ #tell.meta_verse_skipped if @opt.selections.str =~/[vVM]/
else
tex_array=IO.readlines(@opt.fns,'')
SiSU_Metaverse.songsheet(tex_array)
@@ -418,7 +418,7 @@ module SiSU_TexInfo
pwd=Dir.pwd
case sfx
when /(?:-|ssm\.)?sst$/
- @env=SiSU_Env::InfoEnv.new(@md.fns,@md.opt.cmd)
+ @env=SiSU_Env::InfoEnv.new(@md.fns,@md.opt.selections.str)
Dir.chdir(@env.processing_path.texi)
texinfo=SiSU_Env::SystemCall.new("#{fnb}.texinfo")
texinfo.makeinfo
diff --git a/lib/sisu/v5/texpdf.rb b/lib/sisu/v5/texpdf.rb
index b5d36602..fe7ec47e 100644
--- a/lib/sisu/v5/texpdf.rb
+++ b/lib/sisu/v5/texpdf.rb
@@ -107,7 +107,7 @@ module SiSU_TeX
Dir.mkdir(@env.processing_path.tex) unless FileTest.directory?(@env.processing_path.tex)
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -148,7 +148,7 @@ module SiSU_TeX
end
end
@md=@particulars.md
- $flag=@md.opt.cmd #introduced to pass 0 for no object citation numbers... to texpdf_format
+ $flag=@md.opt.selections.str #introduced to pass 0 for no object citation numbers... to texpdf_format
directories
#% needed needs to be reprogrammed !!!
ao_array=SiSU_AO::Source.new(@opt).get # ao file drawn here
@@ -158,7 +158,7 @@ module SiSU_TeX
SiSU_TeX::Source::LaTeXtoPdf.new(@md,@particulars.env).latexrun_selective
Dir.chdir(pwd)
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -180,7 +180,7 @@ module SiSU_TeX
@@date=SiSU_Env::InfoDate.new
@@flag={}
$flag=1 #remove at some stage
- SiSU_Env::Clear.new(@opt.cmd,@opt.fns).param_instantiate
+ SiSU_Env::Clear.new(@opt.selections.str,@opt.fns).param_instantiate
end
end
private
@@ -194,7 +194,7 @@ module SiSU_TeX
@texfilename=texfilename
@@n_lpdf=@@n_lpdf+1
tex_fn_base=@texfilename.gsub(/\.tex$/,'')
- tell=SiSU_Screen::Ansi.new(@md.opt.cmd)
+ tell=SiSU_Screen::Ansi.new(@md.opt.selections.str)
if @md.opt.act[:pdf_p][:set]==:on
if (@md.opt.act[:verbose][:set]==:on \
|| @md.opt.act[:verbose_plus][:set]==:on \
@@ -204,13 +204,21 @@ module SiSU_TeX
"#{papersize} portrait ->"
).dark_grey_title_hi
end
- cmd=SiSU_Env::SystemCall.new("#{tex_fn_base}.tex",'',@md.opt.cmd)
- tell.grey_open if @md.opt.cmd =~/[MVv]/
+ cmd=SiSU_Env::SystemCall.new("#{tex_fn_base}.tex",'',@md.opt.selections.str)
+ if @md.opt.act[:verbose][:set]==:on \
+ || @md.opt.act[:verbose_plus][:set]==:on \
+ || @md.opt.act[:maintenance][:set]==:on
+ tell.grey_open
+ end
if "#{tex_fn_base}" =~/\w+/ \
and "#{papersize}" =~/\w+/
2.times { |i| cmd.latex2pdf(@md,papersize) } #comment out to skip processing of latex portrait
end
- tell.p_off if @md.opt.cmd =~/[MVv]/
+ if @md.opt.act[:verbose][:set]==:on \
+ || @md.opt.act[:verbose_plus][:set]==:on \
+ || @md.opt.act[:maintenance][:set]==:on
+ tell.p_off
+ end
end
if @md.opt.act[:pdf_l][:set]==:on
if (@md.opt.act[:verbose][:set]==:on \
@@ -221,7 +229,7 @@ module SiSU_TeX
"#{papersize} landscape ->"
).dark_grey_title_hi
end
- cmd=SiSU_Env::SystemCall.new("#{tex_fn_base}.landscape.tex",'',@md.opt.cmd)
+ cmd=SiSU_Env::SystemCall.new("#{tex_fn_base}.landscape.tex",'',@md.opt.selections.str)
if (@md.opt.act[:verbose][:set]==:on \
|| @md.opt.act[:verbose_plus][:set]==:on \
|| @md.opt.act[:maintenance][:set]==:on)
@@ -357,7 +365,7 @@ module SiSU_TeX
lst=Dir["*.{aux,log,out}"]
lst.each {|file| File.unlink(file)} if lst
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -438,7 +446,7 @@ module SiSU_TeX
data=markup(data)
output(data)
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -640,6 +648,8 @@ module SiSU_TeX
tst.heading_level_2
when 6
tst.heading_level_3
+ when 7
+ tst.heading_level_4
else dob
end
when :heading_insert
diff --git a/lib/sisu/v5/texpdf_format.rb b/lib/sisu/v5/texpdf_format.rb
index e9ff0fff..9957ab48 100644
--- a/lib/sisu/v5/texpdf_format.rb
+++ b/lib/sisu/v5/texpdf_format.rb
@@ -323,6 +323,9 @@ module SiSU_TeX_Pdf
def heading_level_3
heading_sublevels(@dob)
end
+ def heading_level_4
+ heading_sublevels(@dob)
+ end
def hang
case @dob.indent
when /0/
diff --git a/lib/sisu/v5/txt_asciidoc.rb b/lib/sisu/v5/txt_asciidoc.rb
index 43e49f7b..7171ee64 100644
--- a/lib/sisu/v5/txt_asciidoc.rb
+++ b/lib/sisu/v5/txt_asciidoc.rb
@@ -121,7 +121,7 @@ module SiSU_Txt_AsciiDoc
#wrap_width=(defined? md.make.plaintext_wrap) ? md.make.plaintext_wrap : 78
SiSU_Txt_AsciiDoc::Source::Scroll.new(md,ao_array,wrap_width).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/txt_markdown.rb b/lib/sisu/v5/txt_markdown.rb
index 1e4326a3..9a184635 100644
--- a/lib/sisu/v5/txt_markdown.rb
+++ b/lib/sisu/v5/txt_markdown.rb
@@ -120,7 +120,7 @@ module SiSU_Txt_Markdown
#wrap_width=(defined? md.make.plaintext_wrap) ? md.make.plaintext_wrap : 78
SiSU_Txt_Markdown::Source::Scroll.new(md,ao_array,wrap_width).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/txt_plain.rb b/lib/sisu/v5/txt_plain.rb
index 2f3cc134..608d3d09 100644
--- a/lib/sisu/v5/txt_plain.rb
+++ b/lib/sisu/v5/txt_plain.rb
@@ -122,7 +122,7 @@ module SiSU_Txt_Plain
#wrap_width=(defined? md.make.plaintext_wrap) ? md.make.plaintext_wrap : 78
SiSU_Txt_Plain::Source::Scroll.new(md,ao_array,wrap_width).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -139,7 +139,7 @@ module SiSU_Txt_Plain
@env=SiSU_Env::InfoEnv.new(@md.fns)
@brace_url=SiSU_Viz::Defaults.new.url_decoration
@tab="\t"
- @@endnotes_=case md.opt.mod.inspect
+ @@endnotes_=case md.opt.selections.str
when /--footnote/ then false
when /--endnote/ then true
else true
@@ -254,6 +254,9 @@ WOK
def l6
'.'
end
+ def l7
+ '.'
+ end
self
end
def bold
@@ -402,6 +405,9 @@ WOK
end
when 5 then wrapped.upcase << break_line << decorate.heading_underscore.l5*times + p_num << break_line*2
when 6 then wrapped.upcase << break_line << decorate.heading_underscore.l6*times + p_num << break_line*2
+ when 7
+ wrapped.upcase << break_line << decorate.heading_underscore.l7*times + p_num << break_line*2
+ #when 7 then wrapped.upcase << break_line << decorate.heading_underscore.l7*times + p_num << break_line*2
end
else
@plaintext[:body] << wrapped + p_num << break_line # main text, contents, body KEEP
@@ -419,7 +425,9 @@ WOK
if make.build.plaintext_ocn?
if defined? dob.ocn \
and dob.ocn.is_a?(Fixnum)
- (defined? dob.ocn) ? "\n#{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}" : ''
+ (defined? dob.ocn) \
+ ? "\n#{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}" \
+ : ''
else ''
end
else ''
@@ -428,8 +436,8 @@ WOK
def markup(data) # Used for major markup instructions
SiSU_Env::InfoEnv.new(@md.fns)
@data_mod,@endnotes,@level,@cont,@copen,@plaintext_contents_close=Array.new(6){[]}
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @plaintext_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @plaintext_contents_close[x]='' }
plaintext_tail #($1,$2)
plaintext_metadata
table_message='[table omitted, see other document formats]'
diff --git a/lib/sisu/v5/txt_rst.rb b/lib/sisu/v5/txt_rst.rb
index f00c9e9c..0147a6de 100644
--- a/lib/sisu/v5/txt_rst.rb
+++ b/lib/sisu/v5/txt_rst.rb
@@ -121,7 +121,7 @@ module SiSU_Txt_rST
#wrap_width=(defined? md.make.plaintext_wrap) ? md.make.plaintext_wrap : 78
SiSU_Txt_rST::Source::Scroll.new(md,ao_array,wrap_width).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/txt_textile.rb b/lib/sisu/v5/txt_textile.rb
index 65c102fc..43124493 100644
--- a/lib/sisu/v5/txt_textile.rb
+++ b/lib/sisu/v5/txt_textile.rb
@@ -121,7 +121,7 @@ module SiSU_Txt_Textile
#wrap_width=(defined? md.make.plaintext_wrap) ? md.make.plaintext_wrap : 78
SiSU_Txt_Textile::Source::Scroll.new(md,ao_array,wrap_width).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/update.rb b/lib/sisu/v5/update.rb
index 2301990a..3c355edb 100644
--- a/lib/sisu/v5/update.rb
+++ b/lib/sisu/v5/update.rb
@@ -81,7 +81,7 @@ module SiSU_UpdateControlFlag
).green_hi_blue unless @md.opt.act[:quiet][:set]==:on
SetCF.new(@md).set_flags
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/urls.rb b/lib/sisu/v5/urls.rb
index 815fe65a..4ecad1f9 100644
--- a/lib/sisu/v5/urls.rb
+++ b/lib/sisu/v5/urls.rb
@@ -74,7 +74,7 @@ module SiSU_Urls
begin
SiSU_Urls::OutputUrls.new(@opt).songsheet if @opt.fnb
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -82,11 +82,20 @@ module SiSU_Urls
end
end
class OutputUrls
- attr_reader :fns,:fnb,:cmd,:dir,:m_regular,:u
+ attr_reader :fns,:fnb,:act,:dir,:m_regular,:u
def initialize(opt)
@opt=opt
@particulars=SiSU_Particulars::CombinedSingleton.instance.get_env_md(opt)
- @cmd=@opt.cmd
+ if @particulars.is_a?(NilClass)
+ if @opt.act[:verbose_plus][:set]==:on \
+ or @opt.act[:maintenance][:set]==:on
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).
+ mark("@particulars is NilClass, acceptable e.g. for --harvest")
+ end
+ exit
+ end
+ @selections=@opt.selections.str
+ @act=@opt.act
@md=@particulars.md
@env=@particulars.env
@fnb=@env.fnb
@@ -95,308 +104,29 @@ module SiSU_Urls
@fn=SiSU_Env::EnvCall.new(@opt.fns).lang(fn_set_lang[:c])
@m_regular=/(.+?)\.(?:(?:-|ssm\.)?sst|ssm)$/
@prog=@env.program
- @u ||= {
- 'b --xhtml (XHTML)'=>@fn[:xhtml],
- 'D[iu] --psql (DBI import/update postgresql)'=>'dbi psql',
- 'd --sqlite (DBI sqlite)'=>'dbi sqlite3',
- 'd[iu] --sqlite (DBI sqlite)'=>'dbi sqlite3',
- 'e --epub (EPUB)'=>@fn[:epub],
- 'P --pot (Pot)'=>@fn[:pot],
- 'h --html (HTML segmented)'=>@fn[:toc],
- 'h --html (HTML scroll)'=>@fn[:doc],
- 'I --texinfo (Info file)'=>'info',
- 'i --manpage (manpage)'=>'manpage',
- 'm --ao (Document Abstraction)'=>'ao',
- 'N --hash-digests (Digests sha512/sha256/md5)'=>@fn[:digest],
- 'o --odt (ODF:ODT - Open Document)'=>@fn[:odf],
- 'p --pdf (PDF landscape)'=>@fn[:pdf_l],
- 'p --pdf (PDF portrait)'=>@fn[:pdf_p],
- 'E --profile (Ruby profiler)'=>'profile',
- 's --source (sisu markup)'=>@opt.fno,
- 'S --sisupod (sisupod)'=>@fn[:sisupod],
- 't --txt (Plain-text (endnotes))'=>@fn[:plain],
- ' --textile (textile txt)'=>@fn[:txt_textile],
- ' --asciidoc (AsciiDoc txt)'=>@fn[:txt_asciidoc],
- ' --markdown (markdown txt)'=>@fn[:txt_markdown],
- ' --rst (rST restructured-text)'=>@fn[:txt_rst],
- ' --docbook-book (DocBook Book)'=>@fn[:xml_docbook_book],
- ' --fictionbook (Fictionbook)'=>@fn[:xml_fictionbook],
- 'x --xml-sax (XML sax type)'=>@fn[:sax],
- 'X --xml-dom (XML dom type)'=>@fn[:dom],
- ' --xml-scaffold-sisu (XML scaffold)'=>@fn[:xml_scaffold_structure_sisu],
- ' --xml-scaffold-collapse (XML scaffold)'=>@fn[:xml_scaffold_structure_collapse],
- 'Q --qrcode (QR Code jpg)'=>@fn[:qrcode],
- 'y --manifest (Manifest, html)'=>@fn[:manifest],
- 'Y (Sitemap, xml)'=>@fn[:sitemap],
- 'w --concordance (Concordance, html)'=>@fn[:concordance],
- }.sort {|a,b| a[0].downcase<=>b[0].downcase}
end
def songsheet
begin
- @opt.cmd=~/U/ ? urls_all : (urls_select unless @opt.act[:quiet][:set]==:on)
+ (@opt.act[:urls_all][:set]==:on) \
+ ? urls_all \
+ : (urls_select unless @opt.act[:quiet][:set]==:on)
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
end
end
def show
- def source
- def src(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.text_editor} #{@md.file.output_path.src.dir}/#{y}"
- ).result
- end
- def pod(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.sisupod.dir}/#{y}"
- ).result
- end
- self
- end
- def generic(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} #{@env.url.output_tell}/#{@fnb}/#{y}"
- ).result
- end
- def meta(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.text_editor} ~#{y}/#{@fnb}.#{y}"
- ).result
- end
- def text(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.txt.dir}/#{@md.file.base_filename.txt}"
- ).result
- end
- def textile(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.textile.dir}/#{@md.file.base_filename.textile}"
- ).result
- end
- def asciidoc(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.asciidoc.dir}/#{@md.file.base_filename.asciidoc}"
- ).result
- end
- def markdown(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.markdown.dir}/#{@md.file.base_filename.markdown}"
- ).result
- end
- def rst(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.rst.dir}/#{@md.file.base_filename.rst}"
- ).result
- end
- def epub(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.epub_viewer} #{@md.file.output_path.epub.dir}/#{@md.file.base_filename.epub}"
- ).result
- end
- def html
- def scroll(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.html_scroll.dir}/#{@md.file.base_filename.html_scroll}"
- ).result
- end
- def toc(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.html_seg.dir}/#{@md.file.base_filename.html_segtoc}"
- ).result
- end
- def concordance(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.html_concordance.dir}/#{@md.file.base_filename.html_concordance}"
- ).result
- end
- def manifest(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.manifest.dir}/#{@md.file.base_filename.manifest}"
- ).result
- end
- self
- end
- def qrcode(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.manifest.dir}/#{@md.file.base_filename.manifest}"
- ).result
- end
- def odt(x)
+ def report(x)
SiSU_Screen::Ansi.new(
@opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.odf_viewer} file://#{@md.file.output_path.odt.dir}/#{@md.file.base_filename.odt}"
+ "[#{@opt.f_pth[:lng_is]}]",
+ x[:cmd],
+ x[:viewer] + ' ' \
+ + x[:f_pth]
).result
end
- def pdf
- def portrait(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.pdf_viewer} #{@md.file.output_path.pdf.dir}/#{@md.file.base_filename.pdf_p}#{@md.papersize_array[0]}.pdf"
- ).result
- end
- def landscape(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.pdf_viewer} #{@md.file.output_path.pdf.dir}/#{@md.file.base_filename.pdf_l}#{@md.papersize_array[0]}.pdf"
- ).result
- end
- self
- end
- def manpage(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.manpage_viewer} #{@md.file.output_path.manpage.dir}/#{@md.file.base_filename.manpage}"
- ).result
- end
- def pinfo(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "cd #{@md.file.output_path.texinfo.dir} && #{@env.program.texinfo} #{@md.file.base_filename.info}; cd -"
- ).result
- end
- def po4a
- def po(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "-#{x}",
- "#{@prog.text_editor} #{@md.file.output_path.po.dir}/#{y}"
- ).result
- end
- def pot(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "-#{x}",
- "#{@prog.text_editor} #{@md.file.output_path.pot.dir}/#{y}"
- ).result
- end
- self
- end
- def xhtml(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.xhtml.dir}/#{@md.file.base_filename.xhtml}"
- ).result
- end
- def xml
- def sax(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.xml_sax.dir}/#{@md.file.base_filename.xml_sax}"
- ).result
- end
- def dom(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],"[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.xml_dom.dir}/#{@md.file.base_filename.xml_dom}"
- ).result
- end
- def docbook_book(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.xml_docbook_book.dir}/#{@md.file.base_filename.xml_docbook_book}"
- ).result
- end
- def fictionbook(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.xml_fictionbook.dir}/#{@md.file.base_filename.xml_fictionbook}"
- ).result
- end
- def scaffold_structure_sisu(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.xml_scaffold_structure_sisu.dir}/#{@md.file.base_filename.xml_scaffold_structure_sisu}"
- ).result
- end
- def scaffold_structure_collapse(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.xml_scaffold_structure_collapse.dir}/#{@md.file.base_filename.xml_scaffold_structure_collapse}"
- ).result
- end
- def sitemap(x) #BROKEN
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.sitemaps.dir}/#{@md.file.base_filename.sitemap}"
- ).result
- end
- self
- end
- def hash_digest(x)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "#{@prog.web_browser} file://#{@md.file.output_path.hash_digest.dir}/#{@md.file.base_filename.hash_digest}"
- ).result
- end
- def db
- def psql(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x} DBI psql","#{@pwd_stub}::#{@opt.fns}",
- y
- ).result
- end
- def sqlite(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x} DBI sqlite",
- "sqlite3 #{@env.path.webserv}/#{@md.opt.f_pth[:pth_stub]}/sisu_sqlite.db"
- ).result
- end
- def sqlite_discrete(x,y)
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- "[#{@opt.f_pth[:lng_is]}] -#{x}",
- "sqlite3 #{@md.file.output_path.sqlite_discrete.dir}/#{@md.file.base_filename.sqlite_discrete}"
- ).result
- end
- self
- end
self
end
def urls_maintenance(opt,x,y)
@@ -472,8 +202,341 @@ module SiSU_Urls
end
end
end
+ def report_info
+ def dal
+ {
+ cmd: '--ao',
+ fn: 'ao',
+ }
+ end
+ def hash_digests
+ {
+ cmd: '--hash-digests (sha512/sha256/md5)',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.hash_digest.dir + '/' \
+ + @md.file.base_filename.hash_digest,
+ fn: @fn[:digest],
+ }
+ end
+ def text
+ def txt
+ {
+ cmd: '--txt',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.txt.dir + '/' \
+ + @md.file.base_filename.txt,
+ fn: @fn[:plain],
+ }
+ end
+ def asciidoc
+ {
+ cmd: '--asciidoc',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.asciidoc.dir + '/' \
+ + @md.file.base_filename.asciidoc,
+ fn: @fn[:txt_asciidoc],
+ }
+ end
+ def markdown
+ {
+ cmd: '--markdown',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.markdown.dir + '/' \
+ + @md.file.base_filename.markdown,
+ fn: @fn[:txt_markdown],
+ }
+ end
+ def rst
+ {
+ cmd: '--rst',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.rst.dir + '/' \
+ + @md.file.base_filename.rst,
+ fn: @fn[:txt_rst],
+ }
+ end
+ def textile
+ {
+ cmd: '--textile',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.textile.dir + '/' \
+ + @md.file.base_filename.textile,
+ fn: @fn[:txt_textile],
+ }
+ end
+ self
+ end
+ def html
+ def seg
+ {
+ cmd: '--html-seg',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.html_seg.dir + '/' \
+ + @md.file.base_filename.html_segtoc,
+ fn: @fn[:toc],
+ }
+ end
+ def scroll
+ {
+ cmd: '--html-scroll',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.html_scroll.dir + '/' \
+ + @md.file.base_filename.html_scroll,
+ fn: @fn[:doc],
+ }
+ end
+ def concordance
+ {
+ cmd: '--concordance',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.html_concordance.dir + '/' \
+ + @md.file.base_filename.html_concordance,
+ fn: @fn[:concordance],
+ }
+ end
+ self
+ end
+ def xhtml
+ def xhtml
+ {
+ cmd: '--xhtml',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.xhtml.dir + '/' \
+ + @md.file.base_filename.xhtml,
+ fn: @fn[:xhtml],
+ }
+ end
+ def epub
+ {
+ cmd: '--epub',
+ viewer: @prog.epub_viewer,
+ f_pth: @md.file.output_path.epub.dir + '/' \
+ + @md.file.base_filename.epub,
+ fn: @fn[:epub],
+ }
+ end
+ self
+ end
+ def xml
+ def odt
+ {
+ cmd: '--odt (ODF:ODT)',
+ viewer: @prog.odf_viewer,
+ f_pth: @md.file.output_path.odt.dir + '/' \
+ + @md.file.base_filename.odt,
+ fn: @fn[:odf],
+ }
+ end
+ def docbook
+ {
+ cmd: '--docbook',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.xml_docbook_book.dir + '/' \
+ + @md.file.base_filename.xml_docbook_book,
+ fn: @fn[:xml_docbook_book],
+ }
+ end
+ def fictionbook
+ {
+ cmd: '--fictionbook',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.xml_fictionbook.dir + '/' \
+ + @md.file.base_filename.xml_fictionbook,
+ fn: @fn[:xml_fictionbook],
+ }
+ end
+ def sax
+ {
+ cmd: '--xml-sax',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.xml_sax.dir + '/' \
+ + @md.file.base_filename.xml_sax,
+ fn: @fn[:sax],
+ }
+ end
+ def dom
+ {
+ cmd: '--xml-dom',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.xml_dom.dir + '/' \
+ + @md.file.base_filename.xml_dom,
+ fn: @fn[:dom],
+ }
+ end
+ def scaffold_sisu
+ {
+ cmd: '--xml-scaffold-sisu',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.xml_scaffold_structure_sisu.dir + '/' \
+ + @md.file.base_filename.xml_scaffold_structure_sisu,
+ fn: @fn[:xml_scaffold_structure_sisu],
+ }
+ end
+ def scaffold_collapse
+ {
+ cmd: '--xml-scaffold-collapse',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.xml_scaffold_structure_collapse.dir + '/' \
+ + @md.file.base_filename.xml_scaffold_structure_collapse,
+ fn: @fn[:xml_scaffold_structure_collapse],
+ }
+ end
+ self
+ end
+ def pdf
+ def landscape
+ {
+ cmd: '--pdf (landscape)',
+ viewer: @prog.pdf_viewer,
+ f_pth: @md.file.output_path.pdf.dir + '/' \
+ + @md.file.base_filename.pdf_l \
+ + @md.papersize_array[0] + '.pdf',
+ fn: @fn[:pdf_l],
+ }
+ end
+ def portrait
+ {
+ cmd: '--pdf (portrait)',
+ viewer: @prog.pdf_viewer,
+ f_pth: @md.file.output_path.pdf.dir + '/' \
+ + @md.file.base_filename.pdf_p \
+ + @md.papersize_array[0] + '.pdf',
+ fn: @fn[:pdf_p],
+ }
+ end
+ self
+ end
+ def manpage
+ {
+ cmd: '--manpage',
+ viewer: @prog.manpage_viewer,
+ f_pth: @md.file.output_path.manpage.dir + '/' \
+ + @md.file.base_filename.manpage,
+ fn: 'manpage',
+ }
+ end
+ def texinfo
+ {
+ cmd: '--texinfo',
+ viewer: '',
+ f_pth: 'cd ' \
+ + @md.file.output_path.texinfo.dir + ' && ' \
+ + @env.program.texinfo + ' ' \
+ + @md.file.base_filename.info \
+ + '; cd -',
+ fn: 'info',
+ }
+ end
+ def db
+ def psql
+ {
+ cmd: '--psql --update/--import',
+ viewer: '',
+ f_pth: @pwd_stub + '::' \
+ + @opt.fns \
+ + 'dbi psql',
+ fn: 'dbi psql',
+ }
+ end
+ def sqlite
+ {
+ cmd: '--sqlite --update/--import',
+ viewer: 'sqlite3 ',
+ f_pth: @env.path.webserv + '/' \
+ + @md.opt.f_pth[:pth_stub] + '/' \
+ + 'sisu_sqlite.db',
+ fn: 'dbi sqlite3',
+ }
+ end
+ def sqlite_discrete
+ {
+ cmd: '--sqlite --update/--import',
+ viewer: 'sqlite3 ',
+ f_pth: @md.file.output_path.sqlite_discrete.dir + '/' \
+ + @md.file.base_filename.sqlite_discrete,
+ fn: 'dbi sqlite3',
+ }
+ end
+ self
+ end
+ def po4a
+ def po
+ {
+ cmd: '--po4a/--pot',
+ viewer: @prog.web_browser,
+ f_pth: @prog.text_editor + ' ' \
+ + @md.file.output_path.po.dir \
+ + '/' + y,
+ fn: @fn[:pot],
+ }
+ end
+ def pot
+ {
+ cmd: '--po4a/--pot',
+ viewer: @prog.web_browser,
+ f_pth: @prog.text_editor + ' ' \
+ + @md.file.output_path.pot.dir \
+ + '/' + y,
+ fn: @fn[:pot],
+ }
+ end
+ self
+ end
+ def source
+ {
+ cmd: '--source (sisu markup)',
+ viewer: @prog.text_editor,
+ f_pth: @md.file.output_path.src.dir + '/' \
+ + @opt.fno,
+ fn: @opt.fno,
+ }
+ end
+ def sisupod
+ {
+ cmd: '--sisupod',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.sisupod.dir + '/' \
+ + @opt.fno,
+ fn: @fn[:sisupod],
+ }
+ end
+ def ruby_profile
+ {
+ cmd: '--profile (ruby profiler)',
+ fn: 'profile',
+ }
+ end
+ def qrcode
+ {
+ cmd: '--qrcode',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.manifest.dir + '/' \
+ + @md.file.base_filename.manifest,
+ fn: @fn[:qrcode],
+ }
+ end
+ def manifest
+ {
+ cmd: '--manifest',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.manifest.dir + '/' \
+ + @md.file.base_filename.manifest,
+ fn: @fn[:manifest],
+ }
+ end
+ def sitemap
+ {
+ cmd: '--sitemap',
+ viewer: @prog.web_browser,
+ f_pth: @md.file.output_path.sitemaps.dir + '/' \
+ + @md.file.base_filename.sitemap,
+ fn: @fn[:sitemap],
+ }
+ end
+ self
+ end
def urls_select
- unless @opt.cmd =~/q/
+ unless @opt.act[:quiet][:set]==:on
i1='[' + @opt.f_pth[:lng_is] + ']'
i2='file://' \
+ @md.file.output_path.manifest.dir + '/' \
@@ -490,168 +553,129 @@ module SiSU_Urls
'URL (output manifest)',
i1, i2
).grey_title_grey_blue
- SiSU_Screen::Ansi.new(
- @opt.act[:color_state][:set],
- i1, i2,
- ).flow if @opt.cmd =~/[MVv]/
+ if (@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],
+ i1, i2,
+ ).flow
+ end
end
m=/.+\/(?:src\/)?(\S+)/im # m=/.+?\/(?:src\/)?([^\/]+)$/im # m=/.+\/(\S+)/m
@pwd_stub="#{@env.url.output_tell}"[m,1]
unless @opt.act[:quiet][:set]==:on
- @u.each do |x,y|
- if @opt.fns =~ @m_regular
- if (@opt.act[:verbose][:set]==:on \
- || @opt.act[:verbose_plus][:set]==:on \
- || @opt.act[:maintenance][:set]==:on)
- if x=~/--txt\b/ \
- and @opt.act[:txt][:set]==:on
- show.text(x)
- end
- if x=~/--textile\b/ \
- and @opt.act[:txt_textile][:set]==:on
- show.textile(x)
- end
- if x=~/--asciidoc\b/ \
- and @opt.act[:txt_asciidoc][:set]==:on
- show.asciidoc(x)
- end
- if x=~/--markdown\b/ \
- and @opt.act[:txt_markdown][:set]==:on
- show.markdown(x)
- end
- if x=~/--rst\b/ \
- and @opt.act[:txt_rst][:set]==:on
- show.rst(x)
- end
- if x=~/--xhtml\b/ \
- and @opt.act[:xhtml][:set]==:on
- show.xhtml(x)
- end
- if x=~/--psql\b/ \
- and @opt.act[:psql][:set]==:on
- show.db.psql(x,y)
- end
- if x=~/d\s+--sqlite\b|--sql\b/ \
- and @opt.act[:sqlite_discrete][:set]==:on
- show.db.sqlite_discrete(x,y)
- end
- if x=~/d\[iu\]\s+--sqlite\b/ \
- and @opt.act[:sqlite][:set]==:on
- show.db.sqlite(x,y)
- end
- if x=~/--epub\b/ \
- and @opt.act[:epub][:set]==:on
- show.epub(x)
- end
- if x=~/--html\b/ \
- and (@opt.act[:html][:set]==:on \
- or @opt.act[:html_scroll][:set]==:on \
- or @opt.act[:html_seg][:set]==:on)
- if x =~/scroll/
- if @opt.act[:html_scroll][:set]==:on
- show.html.scroll(x)
- end
- else
- if @opt.act[:html_seg][:set]==:on
- show.html.toc(x)
- end
- end
- end
- if x=~/--texinfo\b/ \
- and @opt.cmd =~/I/
- show.pinfo(x,y)
- end
- if x=~/--manpage\b/ \
- and @opt.act[:manpage][:set]==:on
- show.manpage(x)
- end
- if x=~/--hash-digests\b/ \
- and @opt.cmd =~/N/
- show.hash_digest(x)
- end
- if x=~/--odt\b|--odf\b/ \
- and @opt.act[:odt][:set]==:on
- show.odt(x)
- end
- if x=~/^P/ \
- and @opt.cmd =~/P/
- if @opt.fns =~/\S+?~\S{2}(?:_\S{2})?\.ss[mt]/
- f=y.gsub(/\.pot$/,'.po')
- show.po4a.po(x,f)
- else
- show.po4a.pot(x,f)
- end
- end
- if x=~/--pdf\b/ \
- and (@opt.act[:pdf][:set]==:on \
- or @opt.act[:pdf_p][:set]==:on \
- or @opt.act[:pdf_l][:set]==:on)
- if x =~/portrait/
- if @opt.act[:pdf_p][:set]==:on
- show.pdf.portrait(x)
- end
- else
- if @opt.act[:pdf_l][:set]==:on
- show.pdf.landscape(x)
- end
- end
- end
- if x=~/--sisupod\b/ \
- and @opt.act[:sisupod][:set]==:on
- (@opt.fno =~/\.ssm$/) \
- ? y.gsub(/(?:\~\S{2,3})?(\.ssm.sst\.txz)$/,'.ssm.txz')
- : y.gsub(/(?:\~\S{2,3})?(\.sst\.txz)$/,'\1')
- show.source.pod(x,y)
- end
- if x=~/--source\b/ \
- and @opt.act[:share_source][:set]==:on
- show.source.src(x,y)
- end
- if x=~/--concordance\b/ \
- and @opt.act[:concordance][:set]==:on
- show.html.concordance(x)
- end
- if x=~/--xml-dom\b/ \
- and @opt.act[:xml_dom][:set]==:on
- show.xml.dom(x)
- end
- if x=~/--xml-sax\b/ \
- and @opt.act[:xml_sax][:set]==:on
- show.xml.sax(x)
- end
- if x=~/--docbook-book\b/ \
- and @opt.act[:xml_docbook_book][:set]==:on
- show.xml.docbook_book(x)
- end
- if x=~/--fictionbook\b/ \
- and @opt.act[:xml_fictionbook][:set]==:on
- show.xml.fictionbook(x)
- end
- if x=~/--xml-scaffold-sisu\b/ \
- and @opt.act[:xml_scaffold_structure_sisu][:set]==:on
- show.xml.scaffold_structure_sisu(x)
+ if @opt.fns =~ @m_regular
+ if (@opt.act[:verbose][:set]==:on \
+ || @opt.act[:verbose_plus][:set]==:on \
+ || @opt.act[:maintenance][:set]==:on)
+ if @opt.act[:txt][:set]==:on
+ show.report(report_info.text.txt)
+ end
+ if @opt.act[:txt_textile][:set]==:on
+ show.report(report_info.text.textile)
+ end
+ if @opt.act[:txt_asciidoc][:set]==:on
+ show.report(report_info.text.asciidoc)
+ end
+ if @opt.act[:txt_markdown][:set]==:on
+ show.report(report_info.text.markdown)
+ end
+ if @opt.act[:txt_rst][:set]==:on
+ show.report(report_info.text.rst)
+ end
+ if (@opt.act[:html][:set]==:on \
+ or @opt.act[:html_scroll][:set]==:on \
+ or @opt.act[:html_seg][:set]==:on)
+ if @opt.act[:html_scroll][:set]==:on
+ show.report(report_info.html.scroll)
end
- if x=~/--xml-scaffold-collapse\b/ \
- and @opt.act[:xml_scaffold_structure_collapse][:set]==:on
- show.xml.scaffold_structure_collapse(x)
+ if @opt.act[:html_seg][:set]==:on
+ show.report(report_info.html.seg)
end
- if x=~/--qrcode\b/ \
- and @opt.act[:qrcode][:set]==:on
- show.qrcode(x)
+ end
+ if @opt.act[:concordance][:set]==:on
+ show.report(report_info.html.concordance)
+ end
+ if @opt.act[:xhtml][:set]==:on
+ show.report(report_info.xhtml.xhtml)
+ end
+ if @opt.act[:epub][:set]==:on
+ show.report(report_info.xhtml.epub)
+ end
+ if @opt.act[:odt][:set]==:on
+ show.report(report_info.xml.odt)
+ end
+ if @opt.act[:xml_dom][:set]==:on
+ show.report(report_info.xml.dom)
+ end
+ if @opt.act[:xml_sax][:set]==:on
+ show.report(report_info.xml.sax)
+ end
+ if @opt.act[:xml_docbook_book][:set]==:on
+ show.report(report_info.xml.docbook)
+ end
+ if @opt.act[:xml_fictionbook][:set]==:on
+ show.report(report_info.xml.fictionbook)
+ end
+ if @opt.act[:xml_scaffold_structure_sisu][:set]==:on
+ show.report(report_info.xml.scaffold_structure_sisu)
+ end
+ if @opt.act[:xml_scaffold_structure_collapse][:set]==:on
+ show.report(report_info.xml.scaffold_collapse)
+ end
+ if (@opt.act[:pdf][:set]==:on \
+ or @opt.act[:pdf_p][:set]==:on \
+ or @opt.act[:pdf_l][:set]==:on)
+ if @opt.act[:pdf_p][:set]==:on
+ show.report(report_info.pdf.portrait)
end
- if x=~/--sitemap\b/ \
- and @opt.cmd =~/Y/ #BROKEN
- show.xml.sitemap(x)
+ if @opt.act[:pdf_l][:set]==:on
+ show.report(report_info.pdf.landscape)
end
- if x=~/--manifest\b/ \
- and @opt.act[:manifest][:set]==:on
- show.html.manifest(x)
+ end
+ if @opt.act[:psql][:set]==:on
+ show.report(report_info.db.psql)
+ end
+ if @opt.act[:sqlite_discrete][:set]==:on
+ show.report(report_info.db.sqlite_discrete)
+ end
+ if @opt.act[:sqlite][:set]==:on
+ show.report(report_info.db.sqlite)
+ end
+ if @opt.act[:texinfo][:set]==:on
+ show.report(report_info.texinfo)
+ end
+ if @opt.act[:manpage][:set]==:on
+ show.report(report_info.manpage)
+ end
+ if @opt.act[:hash_digests][:set]==:on
+ show.report(report_info.hash_digests)
+ end
+ if @opt.act[:po4a][:set]==:on
+ if @opt.fns =~/\S+?~\S{2}(?:_\S{2})?\.ss[mt]/
+ f=y.gsub(/\.pot$/,'.po')
+ show.po4a.po(x,f)
+ else
+ show.po4a.pot(x,f)
end
end
- if (@opt.act[:verbose_plus][:set]==:on \
- || @opt.act[:maintenance][:set]==:on)
- urls_maintenance(@opt,x,y)
+ if @opt.act[:share_source][:set]==:on
+ show.report(report_info.source)
+ end
+ if @opt.act[:sisupod][:set]==:on
+ show.report(report_info.sisupod)
end
+ if @opt.act[:qrcode][:set]==:on
+ show.report(report_info.qrcode)
+ end
+ if @opt.act[:manifest][:set]==:on
+ show.report(report_info.manifest)
+ end
+ end
+ if (@opt.act[:verbose_plus][:set]==:on \
+ || @opt.act[:maintenance][:set]==:on)
+ urls_maintenance(@opt,x,y)
end
end
end
diff --git a/lib/sisu/v5/utils_screen_text_color.rb b/lib/sisu/v5/utils_screen_text_color.rb
index 42b0c698..d50b39b6 100644
--- a/lib/sisu/v5/utils_screen_text_color.rb
+++ b/lib/sisu/v5/utils_screen_text_color.rb
@@ -51,7 +51,7 @@
* Git
<http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
- <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/screen_text_color.rb;hb=HEAD>
+ <http://sources.sisudoc.org/?p=code/sisu.git;a=blob;f=lib/sisu/v5/utils_screen_text_color.rb;hb=HEAD>
* Ralph Amissah
<ralph@amissah.com>
@@ -269,7 +269,7 @@ module SiSU_Screen
blue
end
def result
- puts "\t#{@cX.green}#{@txt[0]}#{@cX.off} #{@cX.blue}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}"
+ puts "\t#{@cX.grey}#{@txt[0]}#{@cX.off} #{@cX.green}#{@txt[1]}#{@cX.off} #{@cX.blue}#{@txt[2]}#{@cX.off}"
end
def maintenance
puts "\t#{@cX.grey}#{@txt[0]}#{@cX.off} #{@cX.brown}#{@txt[1]}#{@cX.off} #{@cX.grey}#{@txt[2]}#{@cX.off}"
diff --git a/lib/sisu/v5/wikispeak.rb b/lib/sisu/v5/wikispeak.rb
index a0fba849..198ea11b 100644
--- a/lib/sisu/v5/wikispeak.rb
+++ b/lib/sisu/v5/wikispeak.rb
@@ -102,7 +102,7 @@ module SiSU_Wikispeak
@ao_array=SiSU_AO::Source.new(@opt).get # ao file drawn here
SiSU_Wikispeak::Source::Scroll.new(@ao_array,@md).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/xhtml.rb b/lib/sisu/v5/xhtml.rb
index 4253e8eb..14c6bfe9 100644
--- a/lib/sisu/v5/xhtml.rb
+++ b/lib/sisu/v5/xhtml.rb
@@ -116,7 +116,7 @@ module SiSU_XHTML
end
SiSU_XHTML::Source::Songsheet.new(@particulars).song
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -140,7 +140,7 @@ module SiSU_XHTML
end
SiSU_Rexml::Rexml.new(@md,@file.place_file.xhtml.dir).xml if @md.opt.act[:maintenance][:set]==:on # test rexml parsing, comment out when not in use #debug
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -310,8 +310,8 @@ WOK
@rcdc=false
@level,@cont,@copen,@xml_contents_close=[],[],[],[]
xml_head
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @xml_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @xml_contents_close[x]='' }
data.each do |dob|
dob=@trans.char_enc.utf8(dob) if @sys.locale =~/utf-?8/i #% utf8
dob=@trans.markup(dob)
@@ -337,6 +337,7 @@ WOK
when 4 then x.heading_body4
when 5 then x.heading_body5
when 6 then x.heading_body6
+ when 7 then x.heading_body7
end
else
if dob.is ==:verse
diff --git a/lib/sisu/v5/xhtml_epub2.rb b/lib/sisu/v5/xhtml_epub2.rb
index 9b110497..ae83214e 100644
--- a/lib/sisu/v5/xhtml_epub2.rb
+++ b/lib/sisu/v5/xhtml_epub2.rb
@@ -135,7 +135,7 @@ module SiSU_XHTML_EPUB2
SiSU_XHTML_EPUB2::Source::Seg.new(@md,data).songsheet
SiSU_XHTML_EPUB2::Source::Output.new(@md).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -148,7 +148,7 @@ module SiSU_XHTML_EPUB2
end
end
end
- SiSU_Env::Clear.new(@opt.cmd,@opt.fns).param_instantiate
+ SiSU_Env::Clear.new(@opt.selections.str,@opt.fns).param_instantiate
@@flag,@@scr,@@seg,@@seg_endnotes,@@seg_subtoc,@@seg_ad={},{},{},{},{},{}
@@seg_total,@@tracker,@@loop_count,@@tablehead,@@number_of_cols=0,0,0,0,0
@@seg_name,@@seg_name_html,@@seg_subtoc_array,@@seg_endnotes_array,@@segtocband,@@tablefoot=Array.new(7){[]}
@@ -268,6 +268,7 @@ module SiSU_XHTML_EPUB2
lv_name='section_a' + @s_a_no.to_s
@nav_no+=1
@nav_no2=@nav_no
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
@@ -275,7 +276,8 @@ module SiSU_XHTML_EPUB2
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[2]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[1]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[0]
- @ncxo[0],@ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=true,false,false,false,false,false,false
+ @ncxo[0],@ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false, false, false, false, false
@epub.sections(dob_toc,lv_name)
if @level_a_first_occurrence \
&& @make.build.toc?
@@ -293,13 +295,15 @@ module SiSU_XHTML_EPUB2
lv_name='section_b' + @s_b_no.to_s
@nav_no+=1
@nav_no2=@nav_no
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[3]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[2]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[1]
- @ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=true,false,false,false,false,false
+ @ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false, false, false, false
@epub.sections(dob_toc,lv_name)
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
@@ -311,12 +315,14 @@ module SiSU_XHTML_EPUB2
lv_name='section_c' + @s_c_no.to_s
@nav_no+=1
@nav_no2=@nav_no
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[3]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[2]
- @ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=true,false,false,false,false
+ @ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false, false, false
@epub.sections(dob_toc,lv_name)
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
@@ -328,11 +334,13 @@ module SiSU_XHTML_EPUB2
lv_name='section_d' + @s_d_no.to_s
@nav_no+=1
@nav_no3=@nav_no
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[3]
- @ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=true,false,false,false
+ @ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false, false
@epub.sections(dob_toc,lv_name)
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
@@ -344,10 +352,12 @@ module SiSU_XHTML_EPUB2
lv_name=dob_toc.name
@nav_no+=1
@dob_name=dob.name
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
- @ncxo[4],@ncxo[5],@ncxo[6]=true,false,false
+ @ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name)
@@ -358,9 +368,11 @@ module SiSU_XHTML_EPUB2
hashtag='#o' + dob_toc.ocn.to_s
lv_name=@dob_name
@nav_no+=1
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
- @ncxo[5],@ncxo[6]=true,false
+ @ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag)
@@ -371,13 +383,27 @@ module SiSU_XHTML_EPUB2
hashtag='#o' + dob_toc.ocn.to_s
lv_name=@dob_name
@nav_no+=1
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
- @ncxo[6]=true
+ @ncxo[6],@ncxo[7]=
+ true, false
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag)
md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name,hashtag)
SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_6
+ when 7
+ @ncx_cls=[]
+ hashtag='#o' + dob_toc.ocn.to_s
+ lv_name=@dob_name
+ @nav_no+=1
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
+ @ncxo[7]=true
+ @@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc
+ md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag)
+ md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag)
+ md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name,hashtag)
+ SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_7
else nil
end
toc.each do |k,d|
@@ -393,7 +419,7 @@ module SiSU_XHTML_EPUB2
@@toc[:seg] << toc[:seg]
@@toc[:scr] << toc[:seg]
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -594,6 +620,27 @@ module SiSU_XHTML_EPUB2
end
toc
end
+ def level_7
+ dob=@data
+ linkname=dob.obj.gsub(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/,'').strip
+ ocn=dob.ocn
+ toc={}
+ if ocn \
+ and ocn !~/#/
+ p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn)
+ lnk_n_txt=%{ <a href="#{@@seg_url}#{Sfx[:epub_xhtml]}#o#{ocn}">
+ #{linkname}
+</a>}
+ txt_obj={ txt: lnk_n_txt }
+ format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj)
+ toc[:seg]=format_toc.lev7
+ title=%{#{p_num.goto}#{linkname}</a>}
+ txt_obj={ txt: title }
+ format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj)
+ toc[:scr]=format_toc.lev7
+ end
+ toc
+ end
end
class ScrollHeadAndSegToc < Toc
def initialize(md='',toc='',links_guide_toc='')
@@ -726,7 +773,7 @@ module SiSU_XHTML_EPUB2
end
out.close
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -741,7 +788,7 @@ module SiSU_XHTML_EPUB2
end
out.close
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -818,7 +865,7 @@ WOK
filename_xhtml.close
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -836,7 +883,7 @@ WOK
filename_xhtml.close
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
diff --git a/lib/sisu/v5/xhtml_epub2_concordance.rb b/lib/sisu/v5/xhtml_epub2_concordance.rb
index 447dd72e..0bdaff3c 100644
--- a/lib/sisu/v5/xhtml_epub2_concordance.rb
+++ b/lib/sisu/v5/xhtml_epub2_concordance.rb
@@ -96,7 +96,7 @@ module SiSU_XHTML_EPUB2_Concordance
SiSU_XHTML_EPUB2_Concordance::Source::Words.new(@particulars).songsheet
end
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -181,7 +181,7 @@ WOK
@rgx_splitlist=%r{[—.,;:-]+|#{Mx[:nbsp]}+}mi
@rgx_scanlist=%r{#{Mx[:fa_italics_o]}[a-zA-Z0-9"\s]{2,12}#{Mx[:fa_italics_c]}|#{Mx[:fa_bold_o]}[a-zA-Z0-9"\s]{2,12}#{Mx[:fa_bold_c]}|#{Mx[:url_o]}https?://\S+?#{Mx[:url_c]}|file://\S+|<\S+?>|\w+|[a-zA-Z]+}mi
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
end
@@ -195,7 +195,7 @@ WOK
@file_concordance=File.open("#{@path}/content/#{@md.fn[:epub_concord]}",'w')
map_para
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/xhtml_epub2_format.rb b/lib/sisu/v5/xhtml_epub2_format.rb
index 6522378b..5f1f315f 100644
--- a/lib/sisu/v5/xhtml_epub2_format.rb
+++ b/lib/sisu/v5/xhtml_epub2_format.rb
@@ -162,7 +162,7 @@ module SiSU_XHTML_EPUB2_Format
padding-left: 0em;
text-indent: 0mm;
}
- p, h0, h1, h2, h3, h4, h5, h6 {
+ p, h0, h1, h2, h3, h4, h5, h6, h7 {
display: block;
font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
font-size: 100%;
@@ -992,18 +992,18 @@ module SiSU_XHTML_EPUB2_Format
font-weight: bold;
}
- h0, h1, h2, h3, h4, h5, h6 {
+ h0, h1, h2, h3, h4, h5, h6, h7 {
font-weight: bold;
line-height: 120%;
text-align: left;
margin-top: 20px;
margin-bottom: 10px;
}
- h4.norm, h5.norm, h6.norm {
+ h4.norm, h5.norm, h6.norm, h7.norm {
margin-top: 10px;
margin-bottom: 0px;
}
- h1.center, h2.center, h3.center, h4.center, h5.center, h6.center {
+ h1.center, h2.center, h3.center, h4.center, h5.center, h6.center, h7.center {
text-align: center;
}
h1 { font-size: 120%; }
@@ -1012,6 +1012,7 @@ module SiSU_XHTML_EPUB2_Format
h4 { font-size: 105%; }
h5 { font-size: 100%; }
h6 { font-size: 100%; }
+ h7 { font-size: 100%; }
h0 { font-size: 80%; }
h1.i {margin-left: 2em;}
@@ -1059,6 +1060,11 @@ module SiSU_XHTML_EPUB2_Format
font-size: 90%;
line-height: 110%;
}
+ h7.toc {
+ margin-left: 7em;
+ font-size: 90%;
+ line-height: 105%;
+ }
.microtoc {
margin-top: 2px;
@@ -1092,6 +1098,11 @@ module SiSU_XHTML_EPUB2_Format
font-weight: normal;
font-size: 90%;
}
+ h7.microtoc {
+ margin-left: 30mm;
+ font-weight: normal;
+ font-size: 85%;
+ }
.subtoc {
margin-right: 34%;
@@ -1109,6 +1120,12 @@ module SiSU_XHTML_EPUB2_Format
margin-top: 0px;
margin-bottom: 0px;
}
+ h7.subtoc {
+ margin-left: 4em;
+ font-size: 70%;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ }
div.substance {
width: 100%;
@@ -1196,10 +1213,10 @@ module SiSU_XHTML_EPUB2_Format
background-color: #f9f9aa;
}
- h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, p.c {
+ h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, h7.c, p.c {
text-align: center
}
- h1.red, h2.red, h3.red, h4.red, h5.red, h6.red {
+ h1.red, h2.red, h3.red, h4.red, h5.red, h6.red, h7.red {
text-align: center;
color: #ff0000;
margin-left: 5mm;
@@ -1208,7 +1225,7 @@ module SiSU_XHTML_EPUB2_Format
margin-bottom: 20px;
margin-right: 15mm;
}
- h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby {
+ h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby, h7.ruby {
text-align: center;
color: #990000;
margin-left: 5mm;
@@ -2043,6 +2060,9 @@ output_epub_cont_seg.close
def seg_heading6
seg_heading_sub('p','bold',@txt)
end
+ def seg_heading7
+ seg_heading_sub('p','bold',@txt)
+ end
def dl #check :trailer
"<dl><b>#{@txt}</b> #{@trailer}</dl>"
end
@@ -2149,6 +2169,9 @@ output_epub_cont_seg.close
def subtoc_lev6
subtoc_lev('h6','subtoc') if @txt
end
+ def subtoc_lev7
+ subtoc_lev('h7','subtoc') if @txt
+ end
def heading_sub(tag,attrib,txt)
txt=txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
%{
@@ -2177,6 +2200,9 @@ output_epub_cont_seg.close
def heading6
heading_sub('p','bold',@txt)
end
+ def heading7
+ heading_sub('h7','bold',@txt)
+ end
def navigation_heading4
%{<table summary="navigation segment heading 4" width=100% bgcolor="#08163f" border="0">
<tr><td align="center">
@@ -2195,6 +2221,11 @@ output_epub_cont_seg.close
#{@txt}
</p>}
end
+ def navigation_heading7
+ %{<p class="bold">
+ #{@txt}
+</p>}
+ end
def navigation_center
%{<p class="centerbold">#{@txt}</p>}
end
@@ -2238,6 +2269,9 @@ output_epub_cont_seg.close
def lev6
lev('h6','toc')
end
+ def lev7
+ lev('h7','toc')
+ end
def lev0 #docinfo
lev('h0','toc')
end
diff --git a/lib/sisu/v5/xhtml_epub2_segments.rb b/lib/sisu/v5/xhtml_epub2_segments.rb
index 917a4f92..98673c8f 100644
--- a/lib/sisu/v5/xhtml_epub2_segments.rb
+++ b/lib/sisu/v5/xhtml_epub2_segments.rb
@@ -146,7 +146,7 @@ WOK
SiSU_XHTML_EPUB2_Seg::Seg.new.cleanup # (((( added ))))
#### (((( END )))) ####
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -372,6 +372,8 @@ WOK
sto.seg_heading5
elsif dob.ln==6
sto.seg_heading6
+ elsif dob.ln==7
+ sto.seg_heading7
end
elsif dob.is==:para
if dob.indent \
@@ -486,7 +488,7 @@ WOK
end
end
if dob.is==:heading \
- and dob.ln.to_s =~/^[56]/
+ and dob.ln.to_s =~/^[5-7]/
case dob.ln
when 5
format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,dob)
@@ -494,6 +496,9 @@ WOK
when 6
format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,dob)
subtoc=format_seg.subtoc_lev6 #keep and make available, this is the subtoc
+ when 7
+ format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,dob)
+ subtoc=format_seg.subtoc_lev7 #keep and make available, this is the subtoc
end
@@seg_subtoc_array << subtoc
end
diff --git a/lib/sisu/v5/xhtml_epub2_tune.rb b/lib/sisu/v5/xhtml_epub2_tune.rb
index aa748cf6..c6d9f165 100644
--- a/lib/sisu/v5/xhtml_epub2_tune.rb
+++ b/lib/sisu/v5/xhtml_epub2_tune.rb
@@ -141,7 +141,7 @@ module SiSU_XHTML_EPUB2_Tune
end
SiSU_XHTML_EPUB2_Tune::Tune.new(@data,@md).output
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/xml_docbook5.rb b/lib/sisu/v5/xml_docbook5.rb
index 8132a356..2a7f2fb0 100644
--- a/lib/sisu/v5/xml_docbook5.rb
+++ b/lib/sisu/v5/xml_docbook5.rb
@@ -83,12 +83,12 @@ module SiSU_XML_Docbook_Book
report
SiSU_XML_Docbook_Book::Source::Scroll.new(@ao_array,@md).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
- #SiSU_Env::CreateSite.new(@opt.cmd).cp_css
- #SiSU_Env::CreateSite.new(@opt.cmd).cp_base_images
+ #SiSU_Env::CreateSite.new(@opt.selections.str).cp_css
+ #SiSU_Env::CreateSite.new(@opt.selections.str).cp_base_images
Dir.chdir(@opt.f_pth[:pth])
end
end
diff --git a/lib/sisu/v5/xml_dom.rb b/lib/sisu/v5/xml_dom.rb
index a602eee3..fb7d3cb9 100644
--- a/lib/sisu/v5/xml_dom.rb
+++ b/lib/sisu/v5/xml_dom.rb
@@ -117,7 +117,7 @@ module SiSU_XML_DOM
end
SiSU_XML_DOM::Source::Songsheet.new(@particulars).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -141,7 +141,7 @@ module SiSU_XML_DOM
end
SiSU_Rexml::Rexml.new(@md,@file.place_file.xml_dom.dir).xml if @md.opt.act[:maintenance][:set]==:on # test rexml parsing, comment out when not in use #debug
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -226,12 +226,15 @@ WOK
WOK
if lv==4
@copen[1]=true
- @copen[2]=@copen[3]=false
+ @copen[2]=@copen[3]=@copen[4]=false
elsif lv==5
@copen[2]=true
- @copen[3]=false
+ @copen[3]=@copen[4]=false
elsif lv==6
@copen[3]=true
+ @copen[4]=false
+ elsif lv==7
+ @copen[4]=true
end
end
def xml_structure(dob,type='norm')
@@ -259,21 +262,24 @@ WOK
@cont[2]=false if @cont[2]
@cont[3]=false if @cont[3]
####### attempt to close contents
- if @copen[3] # 6~
+ if @copen[4] # 4~
+ [4,3,2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ @copen[1]=@copen[2]=@copen[3]=@copen[4]=false
+ elsif @copen[3] # 3~
[3,2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
@copen[1]=@copen[2]=@copen[3]=false
- elsif @copen[2] # 5~
+ elsif @copen[2] # 2~
[2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
@copen[1]=@copen[2]=@copen[3]=false
- elsif @copen[1] # 4~
+ elsif @copen[1] # 1~
[1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
@copen[1]=@copen[2]=@copen[3]=false
end
@@xml[:body] << "#{Ax[:tab]*y}</heading#{x}>" if @level[x]
@level[x]=false
end
- when 4..6
- 6.downto(lv) do |x|
+ when 4..7
+ 7.downto(lv) do |x|
if @level[x]==true
@xml_contents_close[x]=''
end
@@ -284,42 +290,61 @@ WOK
case lv
when 4
@@xml[:body] << "#{Ax[:tab]*5}</content>" if @cont[1]
- if @copen[3]==true # 6~
+ if @copen[4]==true # 4~
+ [4,3,2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ elsif @copen[3]==true # 3~
[3,2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
- elsif @copen[2]==true # 5~
+ elsif @copen[2]==true # 2~
[2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
- elsif @copen[1]==true # 4~
+ elsif @copen[1]==true # 1~
[1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
end
@cont[1]=true
when 5
- if @cont[2] \
+ if @cont[3] \
+ or @cont[2] \
or @cont[1]
@@xml[:body] << "#{Ax[:tab]*5}</content>"
end
- if @copen[3]==true #6~
+ if @copen[4]==true #4~
+ [4,3,2].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ elsif @copen[3]==true #3~
[3,2].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
- elsif @copen[2]==true #5~
+ elsif @copen[2]==true #2~
[2].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
end
@cont[2]=true
when 6
- if @cont[3] \
+ if @cont[4] \
+ or @cont[3] \
or @cont[2] \
or @cont[1]
@@xml[:body] << "#{Ax[:tab]*5}</content>"
end
- if @copen[3] #6{
+ if @copen[4] #4~
+ [4,3].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ elsif @copen[3] #3~
[3].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
end
@cont[3]=true
+ when 7
+ if @cont[4] \
+ or @cont[3] \
+ or @cont[2] \
+ or @cont[1]
+ @@xml[:body] << "#{Ax[:tab]*5}</content>"
+ end
+ if @copen[4] #4~
+ [4].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ end
+ @cont[4]=true
end
end
xml_el ||=''
xml_element(dob,xml_el,xml_content,type)
if lv
@level[lv]=true
- ((lv+1)..6).each { |x| @level[x]=false }
+ ((lv+1)..7).each { |x| @level[x]=false }
end
end
def add_to_body(dob,type='norm')
@@ -367,8 +392,8 @@ WOK
@level,@cont,@copen,@xml_contents_close=[],[],[],[]
@rcdc=false
type='norm'
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @xml_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @xml_contents_close[x]='' }
xml_head
data.each do |dob|
@trans.char_enc.utf8(dob) if @sys.locale =~/utf-?8/i #% utf8
@@ -420,6 +445,10 @@ WOK
type="heading_content_#{dob.lv}"
xml_structure(dob,type)
dob.obj=x.heading_body6
+ elsif dob.ln==7
+ type="heading_content_#{dob.lv}"
+ xml_structure(dob,type)
+ dob.obj=x.heading_body7
end
else
dob.ocn
@@ -486,7 +515,7 @@ WOK
end
end
@content_flag=true
- 6.downto(4) do |x|
+ 7.downto(4) do |x|
y=x - 1; v=x - 3
if @level[x]==true #2004w36 bug fix? watch/test previous logic broke on free.for.all @coontent_flag introduced
if @content_flag==true
diff --git a/lib/sisu/v5/xml_fictionbook2.rb b/lib/sisu/v5/xml_fictionbook2.rb
index 74afc6ad..c7c54b30 100644
--- a/lib/sisu/v5/xml_fictionbook2.rb
+++ b/lib/sisu/v5/xml_fictionbook2.rb
@@ -82,7 +82,7 @@ module SiSU_XML_Fictionbook
report
SiSU_XML_Fictionbook::Source::Scroll.new(@ao_array,@md).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/xml_format.rb b/lib/sisu/v5/xml_format.rb
index 871ec487..fb2cff88 100644
--- a/lib/sisu/v5/xml_format.rb
+++ b/lib/sisu/v5/xml_format.rb
@@ -1115,6 +1115,9 @@ WOK
def heading_body6
heading_normal('h6','norm')
end
+ def heading_body7
+ heading_normal('h7','norm')
+ end
def title_header(tag,attrib)
%{
<div class="content">
@@ -1291,6 +1294,9 @@ WOK
def subtoc_lev6
subtoc_lev('h6','subtoc') if @txt
end
+ def subtoc_lev7
+ subtoc_lev('h7','subtoc') if @txt
+ end
#% para sisu
def header_sub(tag,attrib)
@txt=@txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
@@ -1303,12 +1309,6 @@ WOK
</div>
}
end
- def header5
- header_sub('p','bold')
- end
- def header6
- header_sub('p','bold')
- end
def header4
%{
<div class="substance">
@@ -1320,6 +1320,15 @@ WOK
</div>
}
end
+ def header5
+ header_sub('p','bold')
+ end
+ def header6
+ header_sub('p','bold')
+ end
+ def header7
+ header_sub('p','bold')
+ end
def navigation_header4
%{<table summary="navigation segment header 4" width=100% bgcolor="#08163f" border="0">
<tr><td align="center">
@@ -1338,6 +1347,11 @@ WOK
#{@txt}
</p>}
end
+ def navigation_header7
+ %{<p class="bold">
+ #{@txt}
+</p>}
+ end
def navigation_center
"<center>#{@txt}</center>"
end
@@ -1381,6 +1395,10 @@ WOK
def lev6
lev('h6','toc')
end
+ def lev7
+ lev('h7','toc')
+ #lev('b','toc')
+ end
def lev0 #docinfo
lev('h0','toc')
end
@@ -1402,6 +1420,9 @@ WOK
def mini_lev6
lev('h6','minitoc')
end
+ def mini_lev7
+ lev('h7','minitoc')
+ end
def mini_lev0 #docinfo
lev('h0','minitoc')
end
diff --git a/lib/sisu/v5/xml_odf_odt.rb b/lib/sisu/v5/xml_odf_odt.rb
index 55c8d7ed..9598e189 100644
--- a/lib/sisu/v5/xml_odf_odt.rb
+++ b/lib/sisu/v5/xml_odf_odt.rb
@@ -111,13 +111,15 @@ module SiSU_XML_ODF_ODT
SiSU_Screen::Ansi.new(
@opt.act[:color_state][:set],
@opt.fns,
- "file://#{@md.file.output_path.odt.dir}/#{@md.file.base_filename.odt}"
+ 'file://' \
+ + @md.file.output_path.odt.dir + '/' \
+ + @md.file.base_filename.odt
).flow
end
end
SiSU_XML_ODF_ODT::Source::Scroll.new(@particulars).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -150,7 +152,7 @@ module SiSU_XML_ODF_ODT
unless (@md.opt.act[:verbose_plus][:set]==:on \
|| @md.opt.act[:maintenance][:set]==:on)
if @env.processing_path.odt =~/od[ft]/
- #p "rm -r #{@env.processing_path.odt}" if @md.opt.cmd =~/v/
+ #p "rm -r #{@env.processing_path.odt}" if @md.opt.selections.str =~/v/
FileUtils::rm_r(@env.processing_path.odf_pth)
#system("rm -r #{@env.processing_path.odt}")
end
@@ -173,16 +175,19 @@ module SiSU_XML_ODF_ODT
if x =~/\S+/ then @n << x
end
end
- else @n << n
+ else @n << n
end
end
end
def odf_book_idx
if @md.book_idx
- idx_arr,idx_raw=[],SiSU_Particulars::CombinedSingleton.instance.get_idx_raw(@md.opt).raw_idx
+ idx_arr=[]
+ idx_raw=SiSU_Particulars::CombinedSingleton.
+ instance.get_idx_raw(@md.opt).raw_idx
idx_raw.each do |x|
x=if x.is_a?(String)
- SiSU_XML_ODF_ODT_Format::FormatBookIndex.new(x).book_idx_bookmark
+ SiSU_XML_ODF_ODT_Format::FormatBookIndex.new(x).
+ book_idx_bookmark
else nil
end
idx_arr << x.strip if x.is_a?(String)
@@ -191,7 +196,8 @@ module SiSU_XML_ODF_ODT
end
end
def odf_metadata
- @@odf[:metadata]=SiSU_Metadata::Summary.new(@md).odf.metadata
+ @@odf[:metadata]=SiSU_Metadata::Summary.new(@md).
+ odf.metadata
end
def odf_tail
manifest="#{@md.file.output_path.manifest.url}/#{@md.file.base_filename.manifest}"
@@ -224,19 +230,22 @@ module SiSU_XML_ODF_ODT
@@docstart=false
if dob.use_ != :dummy
dob.tmp=dob.obj
- dob.obj=%{#{breakpage}<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">#{p_num[:set_ref]}#{set_bookmark_tag(dob)}#{dob.obj}#{p_num[:display]}</text:h>}
+ dob.obj=%{#{breakpage}<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">} \
+ + %{#{p_num[:set_ref]}#{set_bookmark_tag(dob)}#{dob.obj}#{p_num[:display]}</text:h>}
else dob.tmp,dob.obj='',''
end
dob
end
def toc(dob,p_num)
- hardspace=(dob.lv =~/[A-C]/i) \
+ hardspace=(dob.lv =~/[A-D]/i) \
? '<text:p text:style-name="Standard"/>'
: ''
toc_heading=dob.ocn \
- ? %{<text:bookmark-ref text:reference-format="text" text:ref-name="#{dob.ocn}">#{dob.tmp}</text:bookmark-ref>}
+ ? (%{<text:bookmark-ref text:reference-format="text" text:ref-name="#{dob.ocn}">} \
+ + %{#{dob.tmp}</text:bookmark-ref>})
: dob.tmp
- dob.obj=%{<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">#{toc_heading}</text:h>#{hardspace}}
+ dob.obj=%{<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">} \
+ + %{#{toc_heading}</text:h>#{hardspace}}
dob
end
def image_src(i)
@@ -253,7 +262,9 @@ module SiSU_XML_ODF_ODT
@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}"
+ "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
@@ -271,7 +282,9 @@ module SiSU_XML_ODF_ODT
@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}"
+ "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
@@ -280,8 +293,10 @@ module SiSU_XML_ODF_ODT
# copy image to od image directory (unless exists)
# divide pixel dimension by 37.79485 and retain 3 decimal places
m=img[1]
- i=/^(\S+?\.(?:png|jpg|gif))/.match(m).captures.join if m =~/^(\S+?\.(?:png|jpg|gif))/
- c=/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/.match(m).captures.join if m =~/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/
+ i=/^(\S+?\.(?:png|jpg|gif))/.match(m).captures.join \
+ if m =~/^(\S+?\.(?:png|jpg|gif))/
+ c=/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/.match(m).captures.join \
+ if m =~/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/
w,h=/\s(\d+)x(\d+)/.match(m).captures if m =~/\s\d+x\d+/
w=(w.to_i/37.79485).to_s
h=(h.to_i/37.79485).to_s
@@ -290,7 +305,10 @@ module SiSU_XML_ODF_ODT
image_source=image_src(i)
if image_source
if FileTest.file?("#{image_source}/#{i}")
- FileUtils::cp("#{image_source}/#{i}","#{@env.processing_path.odt}/Pictures/#{i}")
+ FileUtils::cp(
+ "#{image_source}/#{i}",
+ "#{@env.processing_path.odt}/Pictures/#{i}"
+ )
else STDERR.puts %{\t*WARN* did not find image - "#{image_source}/#{i}" [#{__FILE__}:#{__LINE__}]}
end
end
@@ -325,7 +343,8 @@ module SiSU_XML_ODF_ODT
def text_link_odf(txt,url,trail)
txt=txt.gsub(/(\\\+)/,'+') #this is convoluted, and risky :-(
url=url.gsub(/(\\\+)/,'+') #this is convoluted, and risky :-(
- map_nametags=SiSU_Particulars::CombinedSingleton.instance.get_map_nametags(@md).nametags_map
+ map_nametags=SiSU_Particulars::CombinedSingleton.
+ instance.get_map_nametags(@md).nametags_map
t=case url
when /^https?:/
%{<text:a xl:type="simple" xl:href="#{url}">#{txt.strip}</text:a>#{trail}}
@@ -342,7 +361,8 @@ module SiSU_XML_ODF_ODT
end
t=map_nametags[url] \
&& map_nametags[url][:segname] \
- ? %{<text:a xl:type="simple" xl:href="#{@env.url.root}/#{@md.fnb}/#{map_nametags[url][:segname]}#{Sfx[:html]}##{url}">#{txt.strip}</text:a>#{trail}}
+ ? (%{<text:a xl:type="simple" xl:href="#{@env.url.root}/#{@md.fnb}/#{map_nametags[url][:segname]}#{Sfx[:html]}##{url}">} \
+ + %{#{txt.strip}</text:a>#{trail}})
: %{#{txt.strip}#{trail}}
end
t
@@ -359,7 +379,8 @@ module SiSU_XML_ODF_ODT
txt=txt.gsub(/([)(\]\[])/,"\\\\\\1").
gsub(/([+?*])/,"\\\\\\1") # problems with +
url=url.gsub(/([+?])/,"\\\\\\1") # problems with +
- dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:url_o]}#{url}#{Mx[:url_c]}/m,text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url
+ dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:url_o]}#{url}#{Mx[:url_c]}/m,
+ text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url
gsub(/\\([)(\]\[?])/,'\1') #clumsy fix
end
m=nil
@@ -374,7 +395,8 @@ module SiSU_XML_ODF_ODT
txt=txt.gsub(/([)(\]\[])/,"\\\\\\1").
gsub(/([+?*])/,"\\\\\\1") # problems with +
url=url.gsub(/([+?])/,"\\\\\\1") # problems with +
- dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m,text_link_odf_bookmark(txt,url,trail)). #make sure trailing ']' are not caught in url
+ dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m,
+ text_link_odf_bookmark(txt,url,trail)). #make sure trailing ']' are not caught in url
gsub(/\\([)(\]\[?])/,'\1') #clumsy fix
end
m=nil
@@ -387,7 +409,8 @@ module SiSU_XML_ODF_ODT
m.each do |i|
txt,url,trail=i[1],i[2]
txt=txt.gsub(/([)(\]\[])/,"\\\\\\1")
- dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m,text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url
+ dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m,
+ text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url
gsub(/\\([)(\]\[?])/,'\1') #clumsy fix
end
m=nil
@@ -431,11 +454,13 @@ module SiSU_XML_ODF_ODT
@astx||=10000
@astxs||=20000
if str =~/#{Mx[:en_a_o]}\d+\s+/
- str=str.gsub(/#{Mx[:en_a_o]}(\d+)\s+(.+?)#{Mx[:en_a_c]}/,'<text:note text:id="ftn\1" text:note-class="footnote"><text:note-citation>\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>')
+ str=str.gsub(/#{Mx[:en_a_o]}(\d+)\s+(.+?)#{Mx[:en_a_c]}/,
+ '<text:note text:id="ftn\1" text:note-class="footnote"><text:note-citation>\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>')
end
if str =~/#{Mx[:en_a_o]}([*]+)\s+/
a=$1.gsub(/([*])/,"\\\\\\1")
- str=str.gsub(/#{Mx[:en_a_o]}([*]+)\s+(.+?)#{Mx[:en_a_c]}/,%{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
+ str=str.gsub(/#{Mx[:en_a_o]}([*]+)\s+(.+?)#{Mx[:en_a_c]}/,
+ %{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
@astxs+=1
end
if str=~/#{Mx[:en_a_o]}[*+]+\s/
@@ -444,7 +469,8 @@ module SiSU_XML_ODF_ODT
a=x[0].gsub(/([*+])/,"\\\\\\1")
str=group_clean(str)
str=footnote_urls(str)
- str=str.gsub(/#{Mx[:en_a_o]}(#{a})\s+(.+?)#{Mx[:en_a_c]}/,%{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
+ str=str.gsub(/#{Mx[:en_a_o]}(#{a})\s+(.+?)#{Mx[:en_a_c]}/,
+ %{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
@astx+=1
end
end
@@ -454,7 +480,8 @@ module SiSU_XML_ODF_ODT
a=x[0].gsub(/([*+])/,"\\\\\\1")
str=group_clean(str)
str=footnote_urls(str)
- str=str.gsub(/#{Mx[:en_b_o]}(#{a})\s+(.+?)#{Mx[:en_b_c]}/,%{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
+ str=str.gsub(/#{Mx[:en_b_o]}(#{a})\s+(.+?)#{Mx[:en_b_c]}/,
+ %{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
@astx+=1
end
end
@@ -495,7 +522,8 @@ module SiSU_XML_ODF_ODT
dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each_with_index do |parablock,i|
set_ref=(i==0) ? "#{p_num[:set_ref]}#{set_bookmark_tag(dob)}" : ''
parablock=group_clean(parablock)
- parablock=parablock.gsub(/&lt;text:a xl:type="simple" xl:href="(.+?)"&gt;/m,'<text:a xl:type="simple" xl:href="\1">').
+ parablock=parablock.gsub(/&lt;text:a xl:type="simple" xl:href="(.+?)"&gt;/m,
+ '<text:a xl:type="simple" xl:href="\1">').
gsub(/&lt;(\/text:a)&gt;/,'<\1>').
gsub(/&lt;(text:note text:id=.+?)&gt;/,'<\1>').
gsub(/&lt;(text:p text:style-name="Footnote")&gt;/,'<\1>').
@@ -519,13 +547,15 @@ module SiSU_XML_ODF_ODT
dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each_with_index do |parablock,i|
set_ref=(i==0) ? "#{p_num[:set_ref]}#{set_bookmark_tag(dob)}" : ''
parablock=group_clean(parablock)
- parablock=parablock.gsub(/&lt;text:a xl:type="simple" xl:href="(.+?)"&gt;/m,'<text:a xl:type="simple" xl:href="\1">').
+ parablock=parablock.gsub(/&lt;text:a xl:type="simple" xl:href="(.+?)"&gt;/m,
+ '<text:a xl:type="simple" xl:href="\1">').
gsub(/&lt;(\/text:a)&gt;/,'<\1>').
gsub(/&lt;(text:note text:id=.+?)&gt;/,'<\1>').
gsub(/&lt;(text:p text:style-name="Footnote")&gt;/,'<\1>').
gsub(/&lt;(\/?text:(?:note-citation|note-body|note|p))&gt;/,'<\1>')
parablock=footnote(parablock)
- parray << %{<text:p text:style-name="P_group">#{set_ref}#{parablock}</text:p>} if parablock =~/\S+/
+ parray << %{<text:p text:style-name="P_group">#{set_ref}#{parablock}</text:p>} \
+ if parablock =~/\S+/
end
dob.obj=parray.join \
+ %{<text:p text:style-name="P_group">#{p_num[:display]}</text:p>} \
@@ -593,7 +623,7 @@ module SiSU_XML_ODF_ODT
if dob.is==:heading
@@odf[:body] << heading(dob,p_num).obj << break_line*2
if SiSU_Env::ProcessingSettings.new(md).build.toc?
- if dob.lv =~/[A-C1]/i
+ if dob.lv =~/[A-D1]/i
@@odf[:toc] << toc(dob,p_num).obj
end
end
@@ -623,8 +653,8 @@ module SiSU_XML_ODF_ODT
dir.path.odt_bld
@data_mod,@endnotes,@level,@cont,@copen,@odf_contents_close=Array.new(6){[]}
@rcdc=false
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @odf_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @odf_contents_close[x]='' }
odf_tail #($1,$2)
bullet=image_src('bullet_09.png')
if bullet
@@ -636,7 +666,7 @@ module SiSU_XML_ODF_ODT
odf_book_idx
odf_metadata
data.each do |dob|
- #p dob.obj if dob.obj =~safe_characters and @md.opt.cmd =~/V/ #KEEP
+ #p dob.obj if dob.obj =~safe_characters and @md.opt.selections.str =~/V/ #KEEP
dob.obj='' if dob.obj =~/#{Mx[:lv_o]}\d+:.*?#{Mx[:lv_c]}.+?#{Mx[:pa_non_object_dummy_heading]}/ #fix Mx[:lv_o]
para_array=[]
dob.obj=dob.obj.gsub(/</,'&lt;').gsub(/>/,'&gt;')
@@ -668,7 +698,8 @@ module SiSU_XML_ODF_ODT
dob.obj=dob.obj.gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'<del>\1</del>').
gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'<ins>\1</ins>').
gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'<cite>\1</cite>').
- gsub(/#{Mx[:tag_o]}\S+?#{Mx[:tag_c]}/,'<text:bookmark-start text:name="\1"/><text:bookmark-end text:name="\1"/>'). #check
+ gsub(/#{Mx[:tag_o]}\S+?#{Mx[:tag_c]}/,
+ '<text:bookmark-start text:name="\1"/><text:bookmark-end text:name="\1"/>'). #check
gsub(/#{Mx[:mk_o]}#([a-zA-Z]+)#{Mx[:mk_c]}/,'&\1;').
gsub(/#{Mx[:mk_o]}(#[0-9]+)#{Mx[:mk_c]}/,'&\1;').
gsub(/#{Mx[:mk_o]}[~-]##{Mx[:mk_c]}/,'')
@@ -706,7 +737,8 @@ module SiSU_XML_ODF_ODT
wordlist=dob.obj.scan(/\S+/)
dob.obj=tidywords(wordlist).join(' ').strip
@rcdc=true if @rcdc==false \
- and (dob.obj =~/~metadata/ or dob =~/#{Mx[:lv_o]}1:meta#{Mx[:lv_x]}\s*Document Information/) #fix Mx[:lv_o]
+ and (dob.obj =~/~metadata/ \
+ or dob =~/#{Mx[:lv_o]}1:meta#{Mx[:lv_x]}\s*Document Information/) #fix Mx[:lv_o]
if dob.is !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ #check
if defined? dob.ocn and dob.ocn =~/\d+/
@p_num=SiSU_XML_ODF_ODT_Format::ParagraphNumber.new(@make,dob.ocn)
@@ -835,7 +867,8 @@ WOK
end
od.close
opendoc=@md.file.base_filename.odt #watch where output by language
- FileUtils::mkdir_p(@md.file.output_path.odt.dir) unless FileTest.directory?(@md.file.output_path.odt.dir)
+ FileUtils::mkdir_p(@md.file.output_path.odt.dir) \
+ unless FileTest.directory?(@md.file.output_path.odt.dir)
if FileTest.directory?(@env.processing_path.odt) \
and SiSU_Env::SystemCall.new.zip
pwd=Dir.pwd
diff --git a/lib/sisu/v5/xml_odf_odt_format.rb b/lib/sisu/v5/xml_odf_odt_format.rb
index bfbd075c..90ca1cba 100644
--- a/lib/sisu/v5/xml_odf_odt_format.rb
+++ b/lib/sisu/v5/xml_odf_odt_format.rb
@@ -166,6 +166,8 @@ module SiSU_XML_ODF_ODT_Format
end
def heading_body6
end
+ def heading_body7
+ end
end
class Table
@@tablehead,@@table_counter=0,0 #reinitialise on new file
diff --git a/lib/sisu/v5/xml_sax.rb b/lib/sisu/v5/xml_sax.rb
index 58719798..69dc39a3 100644
--- a/lib/sisu/v5/xml_sax.rb
+++ b/lib/sisu/v5/xml_sax.rb
@@ -116,7 +116,7 @@ module SiSU_XML_SAX
end
SiSU_XML_SAX::Source::Songsheet.new(@particulars).song
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -141,7 +141,7 @@ module SiSU_XML_SAX
end
SiSU_Rexml::Rexml.new(@md,@file.place_file.xml_sax.dir).xml if @md.opt.act[:maintenance][:set]==:on # test rexml parsing, comment out when not in use #debug
rescue
- SiSU_Errors::Rescued.new($!,$@,@md.opt.cmd,@md.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@md.opt.selections.str,@md.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
@@ -333,8 +333,8 @@ WOK
@endnotes,@level,@cont,@copen,@xml_contents_close=[],[],[],[],[]
@rcdc=false
xml_head
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @xml_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @xml_contents_close[x]='' }
data.each do |dob|
@trans.char_enc.utf8(dob) if @sys.locale =~/utf-?8/i #% utf8
dob=@trans.markup(dob)
@@ -361,6 +361,7 @@ WOK
when 4 then x.heading_body4
when 5 then x.heading_body5
when 6 then x.heading_body6
+ when 7 then x.heading_body7
end
else
if dob.is==:verse
@@ -415,7 +416,7 @@ WOK
dob.obj=dob.obj.gsub(/#{Mx[:pa_o]}:\S+#{Mx[:pa_c]}/,'') if dob.obj
end
end
- 6.downto(4) do |x|
+ 7.downto(4) do |x|
y=x - 1; v=x - 3
@@xml[:body] << "#{Ax[:tab]*5}</content>\n#{Ax[:tab]*y}</contents#{v}>" if @level[x]==true
end
@@ -423,7 +424,7 @@ WOK
y=x - 1
@@xml[:body] << "#{Ax[:tab]*y}</heading#{x}>" if @level[x]==true
end
- #6.downto(1) { |x| y=x - 1; @@xml[:body] << "#{Ax[:tab]*y}</level #{x}>" if @level[x]==true }
+ #7.downto(1) { |x| y=x - 1; @@xml[:body] << "#{Ax[:tab]*y}</level #{x}>" if @level[x]==true }
end
def pre
rdf=SiSU_XML_Tags::RDF.new(@md)
diff --git a/lib/sisu/v5/xml_scaffold_structure_collapsed.rb b/lib/sisu/v5/xml_scaffold_structure_collapsed.rb
index f36c937f..25a3dea0 100644
--- a/lib/sisu/v5/xml_scaffold_structure_collapsed.rb
+++ b/lib/sisu/v5/xml_scaffold_structure_collapsed.rb
@@ -79,7 +79,7 @@ module SiSU_XML_Scaffold_Structure_Collapse
@md,@ao_array=@particulars.md,@particulars.ao_array
SiSU_XML_Scaffold_Structure_Collapse::Source::Scroll.new(@ao_array,@md).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/xml_scaffold_structure_sisu.rb b/lib/sisu/v5/xml_scaffold_structure_sisu.rb
index 44344328..40df4fa8 100644
--- a/lib/sisu/v5/xml_scaffold_structure_sisu.rb
+++ b/lib/sisu/v5/xml_scaffold_structure_sisu.rb
@@ -79,7 +79,7 @@ module SiSU_XML_Scaffold_Structure_Sisu
@md,@ao_array=@particulars.md,@particulars.ao_array
SiSU_XML_Scaffold_Structure_Sisu::Source::Scroll.new(@ao_array,@md).songsheet
rescue
- SiSU_Errors::Rescued.new($!,$@,@opt.cmd,@opt.fns).location do
+ SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
__LINE__.to_s + ':' + __FILE__
end
ensure
diff --git a/lib/sisu/v5/zap.rb b/lib/sisu/v5/zap.rb
index 75707247..487d1fa5 100644
--- a/lib/sisu/v5/zap.rb
+++ b/lib/sisu/v5/zap.rb
@@ -75,7 +75,7 @@ module SiSU_Zap
unless @opt.act[:quiet][:set]==:on
tell=SiSU_Screen::Ansi.new(
@opt.act[:color_state][:set],
- "Clean files related to processing #{@opt.cmd} ->",
+ "Clean files related to processing #{@opt.selections.str} ->",
"#{@opt.fns} -> #{zap_path}"
)
tell.warn
diff --git a/lib/sisu/v6/ao_doc_str.rb b/lib/sisu/v6/ao_doc_str.rb
index 2a96abb7..67670a55 100644
--- a/lib/sisu/v6/ao_doc_str.rb
+++ b/lib/sisu/v6/ao_doc_str.rb
@@ -1223,7 +1223,7 @@ module SiSU_AO_DocumentStructureExtract
end
def structure_info
def lv
- %w[A~ B~ C~ D~ 1 2 3]
+ %w[A~ B~ C~ D~ 1 2 3 4]
end
def possible_parents(child)
case child
@@ -1234,6 +1234,7 @@ module SiSU_AO_DocumentStructureExtract
when /1/ then 'A~, B~, C~, D~'
when /2/ then '1'
when /3/ then '2'
+ when /4/ then '3'
end
end
def possible_children(parent)
@@ -1244,20 +1245,21 @@ module SiSU_AO_DocumentStructureExtract
when /D~/ then '1'
when /1/ then '2'
when /2/ then '3'
- when /3/ then 'none'
+ when /3/ then '4'
+ when /4/ then 'none'
end
end
self
end
def document_structure_check_info(node,node_parent,status=:ok)
- node_ln=/^([0-6])/.match(node)[1].to_i
- node_parent_ln=/^([0-6])/.match(node_parent)[1].to_i
+ node_ln=/^([0-7])/.match(node)[1].to_i
+ node_parent_ln=/^([0-7])/.match(node_parent)[1].to_i
if status==:error \
or @md.opt.act[:maintenance][:set]==:on
puts %{node: #{node}, parent node: #{node_parent} #{status.upcase}}
if status==:error
- node_ln=/^([0-6])/.match(node)[1].to_i
- node_parent_ln=/^([0-6])/.match(node_parent)[1].to_i
+ node_ln=/^([0-7])/.match(node)[1].to_i
+ node_parent_ln=/^([0-7])/.match(node_parent)[1].to_i
STDERR.puts %{current level: #{structure_info.lv[node_ln]} (possible parent levels: #{structure_info.possible_parents(structure_info.lv[node_ln])})
parent level: #{structure_info.lv[node_parent_ln]} (possible child levels: #{structure_info.possible_children(structure_info.lv[node_parent_ln])})
SKIPPED processing file: [#{@md.opt.lng}] "#{@md.fns}"}
@@ -1297,12 +1299,12 @@ SKIPPED processing file: [#{@md.opt.lng}] "#{@md.fns}"
required_headers_present?
data=@data
@o_array=[]
- node=ocn=ocn_dv=ocn_sp=ocnh=ocnh0=ocnh1=ocnh2=ocnh3=ocnh4=ocnh5=ocnh6=ocno=ocnp=ocnt=ocnc=ocng=ocni=ocnu=0 # h heading, o other, t table, g group, i image
+ node=ocn=ocn_dv=ocn_sp=ocnh=ocnh0=ocnh1=ocnh2=ocnh3=ocnh4=ocnh5=ocnh6=ocnh7=ocno=ocnp=ocnt=ocnc=ocng=ocni=ocnu=0 # h heading, o other, t table, g group, i image
regex_exclude_ocn_and_node = /#{Rx[:meta]}|^@\S+?:\s|^4~endnotes|^#{Mx[:lv_o]}4:endnotes#{Mx[:lv_c]}|^\^~ |<:e[:_]\d+?>|^<:\#|<:- |<[:!]!4|<hr width|#{Mx[:br_endnotes]}|\A\s*\Z/mi #ocn here #&nbsp; added with Tune.code #¡
- parent=node1=node2=node3=node4=node5=node6=nil
+ parent=node1=node2=node3=node4=node5=node6=node7=nil
node0='0:0;0'
@collapsed_lv0=0
- @lev_occurences={ a: 0, b: 0, c: 0, d: 0, l1: 0, l2: 0, l3: 0 }
+ @lev_occurences={ a: 0, b: 0, c: 0, d: 0, l1: 0, l2: 0, l3: 0, l4: 0 }
data.each do |dob|
h={}
if (dob.obj !~ regex_exclude_ocn_and_node || dob.is==:code) \
@@ -1336,7 +1338,8 @@ SKIPPED processing file: [#{@md.opt.lng}] "#{@md.fns}"
or ln.to_s =~@md.lv3 \
or ln.to_s =~@md.lv4 \
or ln.to_s =~@md.lv5 \
- or ln.to_s =~@md.lv6)
+ or ln.to_s =~@md.lv6 \
+ or ln.to_s =~@md.lv7)
if not dob.obj =~/~#|-#/
ocnh+=1
end
@@ -1523,7 +1526,7 @@ or this level should be level :B~ rather than #{dob.lv}}
warning_incorrect_parent_level_or_level(dob.obj)
puts "parent is level 4~ & this level #{dob.lv}
either parent should be level 5~
-or this level should be 5~ rather #{dob.lv}" #level 6
+or this level should be 5~ rather #{dob.lv}"
document_structure_check_info(node6,node4,:error)
@collapsed_lv6=@collapsed_lv4+1
node4
@@ -1549,6 +1552,59 @@ or this level should be 5~ rather #{dob.lv}" #level 6
end
collapsed_level=@collapsed_lv6
node,ocn_sp=node6,"h#{ocnh}"
+ elsif ln==7 \
+ or ln=~@md.lv7
+ @lev_occurences[:l4] += 1
+ if not dob.obj =~/~#|-#/
+ ocn_flag=true
+ ocnh7+=1
+ node7="7:#{ocnh7};#{ocn}"
+ else
+ ocn_flag=false
+ node7="7:0;0"
+ end
+ parent=if node6
+ document_structure_check_info(node7,node6)
+ @collapsed_lv7=@collapsed_lv6+1
+ node5
+ elsif node5
+ warning_incorrect_parent_level_or_level(dob.obj)
+ puts "parent is level 5~ & this level #{dob.lv}
+either parent should be level 6~
+or this level should be 6~ rather #{dob.lv}"
+ document_structure_check_info(node7,node5,:error)
+ @collapsed_lv6=@collapsed_lv5+1
+ node5
+ elsif node4
+ warning_incorrect_parent_level_or_level(dob.obj)
+ puts "parent is level 4~ & this level #{dob.lv}
+either parent should be level 6~
+or this level should be 6~ rather #{dob.lv}"
+ document_structure_check_info(node7,node4,:error)
+ @collapsed_lv6=@collapsed_lv4+1
+ node4
+ elsif node3
+ warning_incorrect_parent_level_or_level(dob.obj)
+ document_structure_check_info(node7,node3,:error)
+ @collapsed_lv6=@collapsed_lv3+1
+ node3
+ elsif node2
+ warning_incorrect_parent_level_or_level(dob.obj)
+ document_structure_check_info(node7,node2,:error)
+ @collapsed_lv6=@collapsed_lv2+1
+ node2
+ elsif node1
+ warning_incorrect_parent_level_or_level(dob.obj)
+ document_structure_check_info(node7,node1,:error)
+ @collapsed_lv6=@collapsed_lv1+1
+ node1
+ else
+ warning_incorrect_parent_level_or_level(dob.obj)
+ document_structure_check_info(node7,node0,:error)
+ node0
+ end
+ collapsed_level=@collapsed_lv7
+ node,ocn_sp=node7,"h#{ocnh}"
end
else
unless @lev_occurences[:l1] > 0
diff --git a/lib/sisu/v6/constants.rb b/lib/sisu/v6/constants.rb
index 2a5e124c..38f0449a 100644
--- a/lib/sisu/v6/constants.rb
+++ b/lib/sisu/v6/constants.rb
@@ -267,8 +267,8 @@ else
}
end
Db={
- name_prefix: "SiSU#{SiSU_is[:version_dir]}b_",
- name_prefix_db: "sisu_#{SiSU_is[:version_dir]}b_",
+ name_prefix: "SiSU#{SiSU_is[:version_dir]}c_",
+ name_prefix_db: "sisu_#{SiSU_is[:version_dir]}c_",
col_title: 800,
col_title_part: 400,
col_title_edition: 10,
diff --git a/lib/sisu/v6/css.rb b/lib/sisu/v6/css.rb
index a2c75d3c..9cdb2d76 100644
--- a/lib/sisu/v6/css.rb
+++ b/lib/sisu/v6/css.rb
@@ -236,7 +236,7 @@ WOK
margin-bottom: 0px;
text-indent: 0mm;
}
- p, h0, h1, h2, h3, h4, h5, h6 {
+ p, h0, h1, h2, h3, h4, h5, h6, h7 {
display: block;
font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
font-size: 100%;
@@ -447,7 +447,7 @@ WOK
padding-left: 0em;
text-indent: 0em;
}
- p, h0, h1, h2, h3, h4, h5, h6 {
+ p, h0, h1, h2, h3, h4, h5, h6, h7 {
display: block;
font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
font-size: 100%;
@@ -1307,18 +1307,18 @@ WOK
font-weight: bold;
}
- h0, h1, h2, h3, h4, h5, h6 {
+ h0, h1, h2, h3, h4, h5, h6, h7 {
font-weight: bold;
line-height: 120%;
text-align: left;
margin-top: 20px;
margin-bottom: 10px;
}
- h4.norm, h5.norm, h6.norm {
+ h4.norm, h5.norm, h6.norm, h7.norm {
margin-top: 10px;
margin-bottom: 0px;
}
- h1.center, h2.center, h3.center, h4.center, h5.center, h6.center {
+ h1.center, h2.center, h3.center, h4.center, h5.center, h6.center, h7.center {
text-align: center;
}
h1 { font-size: 120%; }
@@ -1327,6 +1327,7 @@ WOK
h4 { font-size: 105%; }
h5 { font-size: 100%; }
h6 { font-size: 100%; }
+ h7 { font-size: 100%; }
h0 { font-size: 80%; }
h1.i {margin-left: 2em;}
@@ -1418,6 +1419,8 @@ WOK
}
h6.banner {
}
+ h7.banner {
+ }
.toc {
font-weight: normal;
@@ -1454,6 +1457,11 @@ WOK
font-size: 90%;
line-height: 110%;
}
+ h7.toc {
+ margin-left: 7em;
+ font-size: 85%;
+ line-height: 100%;
+ }
.microtoc {
margin-top: 2px;
@@ -1487,6 +1495,11 @@ WOK
font-weight: normal;
font-size: 90%;
}
+ h7.microtoc {
+ margin-left: 30mm;
+ font-weight: normal;
+ font-size: 85%;
+ }
.subtoc {
margin-right: 34%;
@@ -1504,6 +1517,12 @@ WOK
margin-top: 0px;
margin-bottom: 0px;
}
+ h7.subtoc {
+ margin-left: 4em;
+ font-size: 70%;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ }
div.substance {
width: 100%;
@@ -1629,15 +1648,19 @@ WOK
margin-left: 2em;
font-size: 85%;
}
+ h7.minitoc {
+ margin-left: 3em;
+ font-size: 80%;
+ }
h0.minitoc {
margin-left: 0em;
font-size: 90%;
}
- h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, p.c {
+ h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, h7.c, p.c {
text-align: center
}
- h1.red, h2.red, h3.red, h4.red, h5.red, h6.red {
+ h1.red, h2.red, h3.red, h4.red, h5.red, h6.red, h7.red {
text-align: center;
color: #ff0000;
margin-left: 5mm;
@@ -1646,7 +1669,7 @@ WOK
margin-bottom: 20px;
margin-right: 15mm;
}
- h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby {
+ h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby, h7.ruby {
text-align: center;
color: #990000;
margin-left: 5mm;
@@ -1856,6 +1879,11 @@ WOK
font-weight: bold;
text-align: left;
}
+ text[class|="h7"] {
+ font-size: 110%;
+ font-weight: bold;
+ text-align: left;
+ }
text[class|="indent0"] {
padding-left: 10%;
}
@@ -2591,6 +2619,11 @@ WOK
font-weight: bold;
text-align: left;
}
+ text[class|="h7"] {
+ font-size: 110%;
+ font-weight: bold;
+ text-align: left;
+ }
text[class|="indent0"] {
padding-left: 10%;
}
@@ -3271,6 +3304,11 @@ WOK
font-weight: bold;
text-align: left;
}
+ para.h7 {
+ font-size: 110%;
+ font-weight: bold;
+ text-align: left;
+ }
table {
margin-left: 5%;
display: block;
@@ -3427,6 +3465,11 @@ WOK
font-weight: bold;
text-align: left;
}
+ p.h7 {
+ font-size: 150%;
+ font-weight: bold;
+ text-align: left;
+ }
ocn {
display: block;
text-align: right;
diff --git a/lib/sisu/v6/db_create.rb b/lib/sisu/v6/db_create.rb
index 4d551ee2..55eab144 100644
--- a/lib/sisu/v6/db_create.rb
+++ b/lib/sisu/v6/db_create.rb
@@ -264,6 +264,7 @@ module SiSU_DbCreate
lev4 SMALLINT,
lev5 SMALLINT,
lev6 SMALLINT,
+ lev7 SMALLINT,
en_a SMALLINT NULL,
en_z SMALLINT NULL,
en_a_asterisk SMALLINT NULL,
@@ -506,9 +507,9 @@ module SiSU_DbCreate
%{COMMENT ON COLUMN doc_objects.metadata_tid
IS 'tie to title in metadata_and_text';},
%{COMMENT ON COLUMN doc_objects.lev_an
- IS 'doc level A-D 1-6';},
+ IS 'doc level A-D 1-4';},
%{COMMENT ON COLUMN doc_objects.lev
- IS 'doc level 0-6 \d\~';},
+ IS 'doc level 0-7 \d\~';},
%{COMMENT ON COLUMN doc_objects.seg
IS 'segment name from level number 4 (lv 1)';},
%{COMMENT ON COLUMN doc_objects.ocn
@@ -547,6 +548,8 @@ module SiSU_DbCreate
IS 'document structure, level number 5';},
%{COMMENT ON COLUMN doc_objects.lev6
IS 'document structure, level number 6';},
+ %{COMMENT ON COLUMN doc_objects.lev7
+ IS 'document structure, level number 7';},
%{COMMENT ON COLUMN doc_objects.t_of
IS 'document structure, type of object (object is of)';},
%{COMMENT ON COLUMN doc_objects.t_is
diff --git a/lib/sisu/v6/db_import.rb b/lib/sisu/v6/db_import.rb
index 5b44b173..54a2f434 100644
--- a/lib/sisu/v6/db_import.rb
+++ b/lib/sisu/v6/db_import.rb
@@ -118,7 +118,7 @@ module SiSU_DbImport
puts "#{__FILE__}:#{__LINE__}" if @opt.act[:maintenance][:set]==:on
end
@id_n =0 if @col[:lid].nil? or @col[:lid].to_s.empty?
- @col[:lv0]=@col[:lv1]=@col[:lv2]=@col[:lv3]=@col[:lv4]=@col[:lv5]=@col[:lv6]=0
+ @col[:lv0]=@col[:lv1]=@col[:lv2]=@col[:lv3]=@col[:lv4]=@col[:lv5]=@col[:lv6]=@col[:lv7]=0
@db=SiSU_Env::InfoDb.new
@pdf_fn=SiSU_Env::FileOp.new(@md).base_filename
@@dl ||=SiSU_Env::InfoEnv.new.digest.length
@@ -390,6 +390,7 @@ module SiSU_DbImport
when /1/ then @col[:lv1]+=1
when /2/ then @col[:lv2]+=1
when /3/ then @col[:lv3]+=1
+ when /4/ then @col[:lv4]+=1
end
@col[:lev]=@col[:plaintext]=@col[:body]=''
elsif data.is==:heading \
@@ -480,7 +481,8 @@ module SiSU_DbImport
@col[:lev]=@col[:plaintext]=@col[:body]=''
elsif data.is==:heading \
&& data.ln==6
- txt,@col[:ocn],@col[:lev_an],@col[:ocnd],@col[:ocns],@col[:t_of],@col[:t_is],@col[:node],@col[:parent],@col[:digest_clean],@col[:digest_all]=data.obj,data.ocn,data.lv,data.odv,data.osp,data.of,data.is,data.node,data.parent,'',''
+ txt, @col[:ocn],@col[:lev_an],@col[:ocnd],@col[:ocns],@col[:t_of],@col[:t_is],@col[:node],@col[:parent],@col[:digest_clean],@col[:digest_all]=
+ data.obj,data.ocn, data.lv, data.odv, data.osp, data.of, data.is, data.node, data.parent, '', ''
@@seg_full=data.name if data.is==:heading && data.ln==6 && data.name #check data.name
@@seg ||='' #nil # watch
@col[:seg]=@@seg
@@ -508,6 +510,37 @@ module SiSU_DbImport
t=SiSU_DbTuple::LoadDocuments.new(@conn,@col,@opt,@file_maint)
@tuple_array << t.tuple
@col[:lev]=@col[:plaintext]=@col[:body]=''
+ elsif data.is==:heading \
+ && data.ln==7
+ txt, @col[:ocn],@col[:lev_an],@col[:ocnd],@col[:ocns],@col[:t_of],@col[:t_is],@col[:node],@col[:parent],@col[:digest_clean],@col[:digest_all]=
+ data.obj,data.ocn, data.lv, data.odv, data.osp, data.of, data.is, data.node, data.parent, '', ''
+ @@seg_full=data.name if data.is==:heading && data.ln==7 && data.name #check data.name
+ @@seg ||='' #nil # watch
+ @col[:seg]=@@seg
+ @col[:lv7]+=1
+ @col[:lid]+=1
+ @col[:lev]=7
+ @hname=if @col[:seg] \
+ and not @col[:seg].to_s.empty?
+ @@hname=@col[:seg].to_s
+ else @@hname
+ end
+ @env=SiSU_Env::InfoEnv.new(@md.fns)
+ @base_url="#{@env.url.root}/#{@md.fnb}/#{@hname}.html"
+ txt=endnotes(txt).extract_any
+ body=SiSU_FormatShared::CSS_Format.new(@md,data).lev4_plus
+ @col[:body]=special_character_escape(body)
+ plaintext=@col[:body].dup
+ plaintext=strip_markup(plaintext)
+ @col[:plaintext]=clean_searchable_text(plaintext)
+ book_idx=book_idx_hash_to_str(data.idx)
+ @col[:book_idx]=clean_searchable_text(book_idx)
+ @en_a,@en_z=@en[0].first,@en[0].last if @en[0]
+ @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last if @en_ast[0]
+ @en_a_plus,@en_z_plus=@en_pls[0].first,@en_pls[0].last if @en_pls[0]
+ t=SiSU_DbTuple::LoadDocuments.new(@conn,@col,@opt,@file_maint)
+ @tuple_array << t.tuple
+ @col[:lev]=@col[:plaintext]=@col[:body]=''
#% :structure :layout :comment
elsif data.of==:structure \
|| data.of==:layout \
diff --git a/lib/sisu/v6/db_load_tuple.rb b/lib/sisu/v6/db_load_tuple.rb
index 46d29896..d1c3005b 100644
--- a/lib/sisu/v6/db_load_tuple.rb
+++ b/lib/sisu/v6/db_load_tuple.rb
@@ -69,8 +69,8 @@ module SiSU_DbTuple
def initialize(conn,col,opt,file_maint)
@conn,@col,@opt,@file_maint=conn,col,opt,file_maint
@col[:lev]=@col[:lev].to_i
- unless @col[:lev].inspect=~/^[0-6]/ \
- or @col[:lev]==0..6
+ unless @col[:lev].inspect=~/^[0-7]/ \
+ or @col[:lev]==0..7
@col[:lev]=9
end
@col[:ocn]=0 unless @col[:ocn].inspect=~/\d+/
@@ -78,11 +78,11 @@ module SiSU_DbTuple
end
def tuple #% import line
sql_entry=if @col[:en_a]
- "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, en_a, en_z, t_of, t_is, node, parent, digest_clean, digest_all) " +
- "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:en_a]}', '#{@col[:en_z]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
+ "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, lev7, en_a, en_z, t_of, t_is, node, parent, digest_clean, digest_all) " +
+ "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:lv7]}', '#{@col[:en_a]}', '#{@col[:en_z]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
else
- "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, t_of, t_is, node, parent, digest_clean, digest_all) " +
- "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
+ "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, lev7, t_of, t_is, node, parent, digest_clean, digest_all) " +
+ "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:lv7]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
end
if @opt.act[:verbose_plus][:set]==:on
if @opt.act[:maintenance][:set]==:on
@@ -97,7 +97,7 @@ module SiSU_DbTuple
end
end
if @opt.act[:verbose][:set]==:on
- if @col[:lev].inspect =~/[0-356]/
+ if @col[:lev].inspect =~/[0-35-7]/
lev=case @col[:lev].inspect
when /0/ then ':A'
when /1/ then ':B'
@@ -105,10 +105,11 @@ module SiSU_DbTuple
when /3/ then ':D'
when /5/ then ' 2'
when /6/ then ' 3'
+ when /7/ then ' 4'
end
- puts %{#{lev}>\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}}
+ puts %{#{lev}>\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:lv7]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}}
elsif @col[:lev].inspect =~/[4]/
- puts %{ #{@cX.green}1>#{@cX.off}\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}\t#{@col[:seg]}}
+ puts %{ #{@cX.green}1>#{@cX.off}\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:lv7]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}\t#{@col[:seg]}}
end
end
sql_entry
diff --git a/lib/sisu/v6/html_format.rb b/lib/sisu/v6/html_format.rb
index 2f7b030e..b2476719 100644
--- a/lib/sisu/v6/html_format.rb
+++ b/lib/sisu/v6/html_format.rb
@@ -1065,6 +1065,9 @@ WOK
def heading_body6
heading_normal('h6','norm')
end
+ def heading_body7
+ heading_normal('h7','norm')
+ end
def title_heading(tag,attrib)
cl=(@make.build.html_minitoc?) \
? 'content'
@@ -1228,6 +1231,8 @@ WOK
end
def navigation_toc_lev6
end
+ def navigation_toc_lev7
+ end
def endnote_seg_body(fn='') #FIX #url construction keep within single line... BUG WATCH 200408
fn='doc' if fn.to_s.empty? #you may wish to reconsider, sends to 'doc' where no segment info
%{
@@ -1265,6 +1270,9 @@ WOK
def subtoc_lev6
subtoc_lev('h6','subtoc') if @txt
end
+ def subtoc_lev7
+ subtoc_lev('h7','subtoc') if @txt
+ end
def heading_sub(tag,attrib)
@txt=@txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
%{
@@ -1357,6 +1365,9 @@ WOK
def lev6
lev('h6','toc')
end
+ def lev7
+ lev('h7','toc')
+ end
def strip_endnotes(txt)
txt=txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
txt
@@ -1389,6 +1400,10 @@ WOK
@txt=strip_endnotes(@txt)
lev('h6','minitoc')
end
+ def mini_lev7
+ @txt=strip_endnotes(@txt)
+ lev('h7','minitoc')
+ end
def mini_lev0 #docinfo
lev('h1','minitoc')
end
diff --git a/lib/sisu/v6/html_scroll.rb b/lib/sisu/v6/html_scroll.rb
index 27caaff9..9d036469 100644
--- a/lib/sisu/v6/html_scroll.rb
+++ b/lib/sisu/v6/html_scroll.rb
@@ -88,11 +88,13 @@ module SiSU_HTML_Scroll
@rcdc=false
@scr={ body: [], metadata: [], owner_details: [] }
data.each do |dob|
- dob.obj=dob.obj.gsub(/#{@md.file.output_path.html_seg.rel_image}/m,@md.file.output_path.html_scroll.rel_image)
+ dob.obj=dob.obj.gsub(/#{@md.file.output_path.html_seg.rel_image}/m,
+ @md.file.output_path.html_scroll.rel_image)
if defined? dob.name and dob.name =~/^meta/ \
and dob.obj =~/Document Information/
- dob.obj=dob.obj.gsub(/(Document Information(?: \(metadata\))?)/,
- '\1<a name="docinfo"></a>')
+ dob.obj=dob.obj.
+ gsub(/(Document Information(?: \(metadata\))?)/,
+ '\1<a name="docinfo"></a>')
end
if dob.obj =~/^Metadata$/ \
and dob.lv =='B'
@@ -108,7 +110,8 @@ module SiSU_HTML_Scroll
gsub(/href="#{Xx[:segment]}/m,'href="')
if dob.obj !~/(^#{Rx[:meta]}|#{Mx[:br_eof]})/
unless dob.is ==:code
- dob.obj=dob.obj.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
+ dob.obj=dob.obj.
+ gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
end
if defined? dob.ocn
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,dob.ocn)
@@ -129,6 +132,8 @@ module SiSU_HTML_Scroll
sto.heading_body5
elsif dob.ln==6
sto.heading_body6
+ elsif dob.ln==7
+ sto.heading_body7
end
elsif dob.is==:break \
and dob.from==:markup
@@ -162,7 +167,8 @@ module SiSU_HTML_Scroll
elsif dob.ln==4 \
and dob.obj=='Index'
sto.heading_body4
- book_idx=SiSU_Particulars::CombinedSingleton.instance.get_idx_html(@md.opt).html_idx
+ book_idx=SiSU_Particulars::CombinedSingleton.
+ instance.get_idx_html(@md.opt).html_idx
book_idx.each do |y| #takes book index prepared for segments & strips segment identifying info
y.gsub!(/<a href="\S+?\.html#(\d+)">(\1(?:-\d+)?)<\/a>/,
'<a href="#\1">\2</a>')
@@ -176,6 +182,10 @@ module SiSU_HTML_Scroll
unless dob.obj.empty?
sto.heading_body6
end
+ elsif dob.ln==7
+ unless dob.obj.empty?
+ sto.heading_body7
+ end
end
elsif dob.is==:para
if dob.indent \
@@ -222,7 +232,9 @@ module SiSU_HTML_Scroll
def tails
scr_tail=[]
format_head_scroll=SiSU_HTML_Format::HeadToc.new(@md)
- scr_tail << format_head_scroll.scroll_tail << format_head_scroll.html_close
+ scr_tail \
+ << format_head_scroll.scroll_tail \
+ << format_head_scroll.html_close
scr_tail
end
end
diff --git a/lib/sisu/v6/html_segments.rb b/lib/sisu/v6/html_segments.rb
index 941610ee..b410d0b0 100644
--- a/lib/sisu/v6/html_segments.rb
+++ b/lib/sisu/v6/html_segments.rb
@@ -67,7 +67,8 @@ module SiSU_HTML_Seg
require_relative 'shared_metadata' # shared_metadata.rb
class Output
def initialize(md,outputfile,seg,minitoc,type='')
- @md,@output_seg_file,@seg,@minitoc,@type=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).html_seg_title_banner?
@file=SiSU_Env::FileOp.new(@md)
@make=SiSU_Env::ProcessingSettings.new(@md)
@@ -79,59 +80,97 @@ module SiSU_HTML_Seg
if @seg[:title] =~/\S/
filename_seg=[]
if @make.build.html_top_band?
- filename_seg << @seg[:title] << @seg[:tocband_banner]
+ filename_seg \
+ << @seg[:title] \
+ << @seg[:tocband_banner]
else
- filename_seg << @seg[:title]
+ filename_seg \
+ << @seg[:title]
end
if @type=='endnotes'
@seg[:headings]=[]
format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md)
if @title_banner_
- @seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author)
+ @seg[:headings] \
+ << format_head_seg.
+ title_banner(@md.title.main,@md.title.sub,@author)
end
txt_obj={ txt: 'Endnotes', ocn_display: '' }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @seg[:headings] << format_seg.title_heading1
- filename_seg << @seg[:heading_endnotes] << @minitoc << @seg[:headings] << %{\n<div class="#{@cl}">\n} << @seg[:endnote_all] << '</div>' # << '</div>'
+ @seg[:headings] \
+ << format_seg.title_heading1
+ filename_seg \
+ << @seg[:heading_endnotes] \
+ << @minitoc << @seg[:headings] \
+ << %{\n<div class="#{@cl}">\n} \
+ << @seg[:endnote_all] \
+ << '</div>' # << '</div>'
elsif @type=='idx'
@seg[:headings]=[]
format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md)
if @title_banner_
- @seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author)
+ @seg[:headings] \
+ << format_head_seg.
+ title_banner(@md.title.main,@md.title.sub,@author)
end
txt_obj={ txt: 'Index', ocn_display: '' }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
@seg[:headings] << format_seg.title_heading1
- filename_seg << @seg[:heading_idx] << @minitoc << @seg[:headings] << %{\n<div class="#{@cl}">\n} << @seg[:idx] << '</div>' # << '</div>'
+ filename_seg \
+ << @seg[:heading_idx] \
+ << @minitoc << @seg[:headings] \
+ << %{\n<div class="#{@cl}">\n} \
+ << @seg[:idx] \
+ << '</div>' # << '</div>'
elsif @type=='metadata'
metadata=SiSU_Metadata::Summary.new(@md).xhtml_display.metadata
@seg[:headings]=[]
format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md)
if @title_banner_
- @seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author)
+ @seg[:headings] \
+ << format_head_seg.
+ title_banner(@md.title.main,@md.title.sub,@author)
end
txt_obj={ txt: 'Metadata', ocn_display: '' }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
@seg[:headings] << format_seg.title_heading1
- filename_seg << @seg[:heading_idx] << @minitoc << @seg[:headings] << %{\n<div class="#{@cl}">\n} << metadata << '</div>' # << '</div>'
+ filename_seg \
+ << @seg[:heading_idx] \
+ << @minitoc \
+ << @seg[:headings] \
+ << %{\n<div class="#{@cl}">\n} \
+ << metadata \
+ << '</div>' # << '</div>'
else
if @make.build.html_top_band?
- filename_seg << @minitoc << @seg[:headings] << @seg[:main] << "\n</div>\n"
+ filename_seg \
+ << @minitoc \
+ << @seg[:headings] \
+ << @seg[:main] \
+ << "\n</div>\n"
else
- filename_seg << @minitoc << @seg[:main] << "\n</div>\n"
+ filename_seg \
+ << @minitoc \
+ << @seg[:main] \
+ << "\n</div>\n"
end
end
filename_seg <<=if @make.build.html_top_band?
- @seg[:tail] << @seg[:tocband_bannerless] << @seg[:credits]
+ @seg[:tail] \
+ << @seg[:tocband_bannerless] \
+ << @seg[:credits]
else
- @seg[:tail] << @seg[:credits]
+ @seg[:tail] \
+ << @seg[:credits]
end
filename_seg=filename_seg.flatten.compact #watch
filename_seg.each do |str|
unless str =~/\A\s*\Z/
str=str.strip.
- gsub(Xx[:html_relative2],@file.path_rel_links.html_seg_2).
- gsub(Xx[:html_relative1],@file.path_rel_links.html_seg_1)
+ gsub(Xx[:html_relative2],
+ @file.path_rel_links.html_seg_2).
+ gsub(Xx[:html_relative1],
+ @file.path_rel_links.html_seg_1)
@output_seg_file << str
end
end
@@ -146,7 +185,17 @@ module SiSU_HTML_Seg
@@loop_count=@@seg_total=@@tracker=0
@@is4=@@is3=@@is2=@@is1=@@is0=0
@@heading0=@@heading1=@@heading2=@@heading3=@@heading4=0
- @@seg[:tocband_banner],@@seg[:tocband_bannerless],@@seg[:title],@@seg[:headings],@@seg[:main],@@seg[:idx],@@seg[:tail],@@seg[:credits],@@seg_subtoc_array,@@seg_endnotes_array,@@seg[:endnote_all]=Array.new(11){[]}
+ @@seg[:tocband_banner],
+ @@seg[:tocband_bannerless],
+ @@seg[:title],@@seg[:headings],
+ @@seg[:main],
+ @@seg[:idx],
+ @@seg[:tail],
+ @@seg[:credits],
+ @@seg_subtoc_array,
+ @@seg_endnotes_array,
+ @@seg[:endnote_all]=
+ Array.new(11){[]}
@@seg[:heading_endnotes]=''
@@tablehead,@@number_of_cols=0,0
@@dp,@@segtocband=nil,nil
@@ -192,7 +241,8 @@ module SiSU_HTML_Seg
idx_html=nil
if @md.book_idx
#my_make_source_file=SiSU_Env::CreateFile.new(@md.fns)
- idx_html=SiSU_Particulars::CombinedSingleton.instance.get_idx_html(@md.opt).html_idx
+ idx_html=SiSU_Particulars::CombinedSingleton.
+ instance.get_idx_html(@md.opt).html_idx
idx_html.each {|x| @@seg[:idx] << x }
@@seg[:heading_idx]=''
end
@@ -215,7 +265,8 @@ module SiSU_HTML_Seg
@@seg_name.length
).segmented
end
- map_nametags=SiSU_Particulars::CombinedSingleton.instance.get_map_nametags(@md).nametags_map #p map_nametags
+ map_nametags=SiSU_Particulars::CombinedSingleton.
+ instance.get_map_nametags(@md).nametags_map #p map_nametags
data.each do |dob|
if defined? dob.obj \
and dob.obj =~/href="#{Xx[:segment]}#+\S+?"/
@@ -227,10 +278,12 @@ module SiSU_HTML_Seg
lng=(inf.output_dir_structure.by_language_code?) \
? ''
: '.' + @md.opt.lng
- dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/,%{href="#{map_nametags[m][:segname]}#{lng}#{Sfx[:html]}#\\1"})
+ dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/,
+ %{href="#{map_nametags[m][:segname]}#{lng}#{Sfx[:html]}#\\1"})
else
p "NOT FOUND name_tags: #{m}"
- dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/,%{href="#\\1"}) # not satisfactory
+ dob.obj.sub!(/href="#{Xx[:segment]}#+(\S+?)"/,
+ %{href="#\\1"}) # not satisfactory
end
end
end
@@ -281,7 +334,8 @@ module SiSU_HTML_Seg
if tracking != 0
@file=SiSU_Env::FileOp.new(@md)
unless FileTest.directory?(@file.output_path.html_seg.dir)
- FileUtils::mkdir_p(@file.output_path.html_seg.dir) if File.writable?("#{@file.output_path.base.dir}/.")
+ FileUtils::mkdir_p(@file.output_path.html_seg.dir) \
+ if File.writable?("#{@file.output_path.base.dir}/.")
end
SiSU_HTML_Seg::Seg.new(@md).tail
fnh={
@@ -357,7 +411,7 @@ module SiSU_HTML_Seg
&& (@make.build.html_navigation_bar?)
x=if (dob.is==:heading \
|| dob.is==:heading_insert) \
- && (dob.ln.to_s =~/^[0-6]/)
+ && (dob.ln.to_s =~/^[0-7]/)
x=if @@tracker < @@seg_total-1
format_head_seg.dot_control_pre_next
else
@@ -387,10 +441,14 @@ module SiSU_HTML_Seg
@p_num ||= ''
if @@is0==1
@author=%{<b>#{@md.author}</b>\n} if @md.author.to_s =~/\S/
- @@seg[:tocband_banner] << format_head_seg.navigation_band(@@segtocband,@@seg[:dot_nav])
- @@seg[:tocband_bannerless] << '<br />' << format_head_seg.navigation_band_bottom(@@segtocband,@@seg[:dot_nav])
+ @@seg[:tocband_banner] \
+ << format_head_seg.navigation_band(@@segtocband,@@seg[:dot_nav])
+ @@seg[:tocband_bannerless] \
+ << '<br />' \
+ << format_head_seg.navigation_band_bottom(@@segtocband,@@seg[:dot_nav])
if @title_banner_
- @@seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author).gsub(clean,'')
+ @@seg[:headings] \
+ << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author).gsub(clean,'')
end
ocn=(@@heading0[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]) \
? $1
@@ -398,8 +456,10 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: @@heading0, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading0.gsub(clean,'')
- @@heading0=@@heading0.gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
+ @@seg[:headings] \
+ << format_seg.title_heading0.gsub(clean,'')
+ @@heading0=@@heading0.
+ gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
end
if @@is1==1
heading1=@@heading1
@@ -409,8 +469,10 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: heading1, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading1.gsub(clean,'')
- @@heading1=@@heading1.gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
+ @@seg[:headings] \
+ << format_seg.title_heading1.gsub(clean,'')
+ @@heading1=@@heading1.
+ gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
end
if @@is2==1
heading2=@@heading2
@@ -420,8 +482,10 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: heading2, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading2.gsub(clean,'')
- @@heading2=@@heading2.gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
+ @@seg[:headings] \
+ << format_seg.title_heading2.gsub(clean,'')
+ @@heading2=@@heading2.
+ gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
end
if @@is3==1
heading3=@@heading3
@@ -431,8 +495,10 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: heading3, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading3.gsub(clean,'')
- @@heading3=@@heading3.gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
+ @@seg[:headings] \
+ << format_seg.title_heading3.gsub(clean,'')
+ @@heading3=@@heading3.
+ gsub(/&nbsp;<a name="-[\d*+]+" href="#_[\d*+]+">&nbsp;<sup>[\d*+]+<\/sup>&nbsp;<\/a>/,'')
end
if @@is4==1
heading4=@@heading4
@@ -442,7 +508,8 @@ module SiSU_HTML_Seg
@p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
txt_obj={ txt: heading4, ocn_display: @p_num.ocn_display }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
- @@seg[:headings] << format_seg.title_heading4.gsub(clean,'')
+ @@seg[:headings] \
+ << format_seg.title_heading4.gsub(clean,'')
end
@@tracker=@@tracker+1
end
@@ -467,6 +534,8 @@ module SiSU_HTML_Seg
sto.seg_heading5
elsif dob.ln==6
sto.seg_heading6
+ elsif dob.ln==7
+ sto.seg_heading6
end
elsif dob.is==:para
if dob.indent \
@@ -589,7 +658,7 @@ module SiSU_HTML_Seg
end
end
if dob.is==:heading \
- && (dob.ln.to_s =~/^[56]/)
+ && (dob.ln.to_s =~/^[5-7]/)
case dob.ln
when 5
txt_obj={ txt: dob.obj.strip, ocn: dob.ocn }
@@ -599,6 +668,10 @@ module SiSU_HTML_Seg
txt_obj={ txt: dob.obj.strip, ocn: dob.ocn }
format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
subtoc=format_seg.subtoc_lev6 #keep and make available, this is the subtoc
+ when 7
+ txt_obj={ txt: dob.obj.strip, ocn: dob.ocn }
+ format_seg=SiSU_HTML_Format::FormatSeg.new(@md,txt_obj)
+ subtoc=format_seg.subtoc_lev7 #keep and make available, this is the subtoc
end
@@seg_subtoc_array << subtoc
end
diff --git a/lib/sisu/v6/hub_options.rb b/lib/sisu/v6/hub_options.rb
index 09559507..acd95612 100644
--- a/lib/sisu/v6/hub_options.rb
+++ b/lib/sisu/v6/hub_options.rb
@@ -1117,11 +1117,11 @@ end
{ bool: false, set: :na }
end
act[:xml_sax]=(select_arr.inspect \
- =~/"--xml-sax"/) \
+ =~/"--xml-sax"|"--sax"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
act[:xml_dom]=(select_arr.inspect \
- =~/"--xml-dom"/) \
+ =~/"--xml-dom"|"--dom"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
act[:xml_docbook_book]=(select_arr.inspect \
diff --git a/lib/sisu/v6/texpdf.rb b/lib/sisu/v6/texpdf.rb
index 42e8383f..9861a5b5 100644
--- a/lib/sisu/v6/texpdf.rb
+++ b/lib/sisu/v6/texpdf.rb
@@ -648,6 +648,8 @@ module SiSU_TeX
tst.heading_level_2
when 6
tst.heading_level_3
+ when 7
+ tst.heading_level_4
else dob
end
when :heading_insert
diff --git a/lib/sisu/v6/texpdf_format.rb b/lib/sisu/v6/texpdf_format.rb
index ba99efb7..95764b60 100644
--- a/lib/sisu/v6/texpdf_format.rb
+++ b/lib/sisu/v6/texpdf_format.rb
@@ -323,6 +323,9 @@ module SiSU_TeX_Pdf
def heading_level_3
heading_sublevels(@dob)
end
+ def heading_level_4
+ heading_sublevels(@dob)
+ end
def hang
case @dob.indent
when /0/
diff --git a/lib/sisu/v6/txt_plain.rb b/lib/sisu/v6/txt_plain.rb
index 69008276..fb39de37 100644
--- a/lib/sisu/v6/txt_plain.rb
+++ b/lib/sisu/v6/txt_plain.rb
@@ -254,6 +254,9 @@ WOK
def l6
'.'
end
+ def l7
+ '.'
+ end
self
end
def bold
@@ -402,6 +405,9 @@ WOK
end
when 5 then wrapped.upcase << break_line << decorate.heading_underscore.l5*times + p_num << break_line*2
when 6 then wrapped.upcase << break_line << decorate.heading_underscore.l6*times + p_num << break_line*2
+ when 7
+ wrapped.upcase << break_line << decorate.heading_underscore.l7*times + p_num << break_line*2
+ #when 7 then wrapped.upcase << break_line << decorate.heading_underscore.l7*times + p_num << break_line*2
end
else
@plaintext[:body] << wrapped + p_num << break_line # main text, contents, body KEEP
@@ -419,7 +425,9 @@ WOK
if make.build.plaintext_ocn?
if defined? dob.ocn \
and dob.ocn.is_a?(Fixnum)
- (defined? dob.ocn) ? "\n#{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}" : ''
+ (defined? dob.ocn) \
+ ? "\n#{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}" \
+ : ''
else ''
end
else ''
@@ -428,8 +436,8 @@ WOK
def markup(data) # Used for major markup instructions
SiSU_Env::InfoEnv.new(@md.fns)
@data_mod,@endnotes,@level,@cont,@copen,@plaintext_contents_close=Array.new(6){[]}
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @plaintext_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @plaintext_contents_close[x]='' }
plaintext_tail #($1,$2)
plaintext_metadata
table_message='[table omitted, see other document formats]'
diff --git a/lib/sisu/v6/xhtml.rb b/lib/sisu/v6/xhtml.rb
index ee19a12e..409a2b6c 100644
--- a/lib/sisu/v6/xhtml.rb
+++ b/lib/sisu/v6/xhtml.rb
@@ -310,8 +310,8 @@ WOK
@rcdc=false
@level,@cont,@copen,@xml_contents_close=[],[],[],[]
xml_head
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @xml_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @xml_contents_close[x]='' }
data.each do |dob|
dob=@trans.char_enc.utf8(dob) if @sys.locale =~/utf-?8/i #% utf8
dob=@trans.markup(dob)
@@ -337,6 +337,7 @@ WOK
when 4 then x.heading_body4
when 5 then x.heading_body5
when 6 then x.heading_body6
+ when 7 then x.heading_body7
end
else
if dob.is ==:verse
diff --git a/lib/sisu/v6/xhtml_epub2.rb b/lib/sisu/v6/xhtml_epub2.rb
index 0e65b469..9ab7c6ec 100644
--- a/lib/sisu/v6/xhtml_epub2.rb
+++ b/lib/sisu/v6/xhtml_epub2.rb
@@ -268,6 +268,7 @@ module SiSU_XHTML_EPUB2
lv_name='section_a' + @s_a_no.to_s
@nav_no+=1
@nav_no2=@nav_no
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
@@ -275,7 +276,8 @@ module SiSU_XHTML_EPUB2
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[2]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[1]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[0]
- @ncxo[0],@ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=true,false,false,false,false,false,false
+ @ncxo[0],@ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false, false, false, false, false
@epub.sections(dob_toc,lv_name)
if @level_a_first_occurrence \
&& @make.build.toc?
@@ -293,13 +295,15 @@ module SiSU_XHTML_EPUB2
lv_name='section_b' + @s_b_no.to_s
@nav_no+=1
@nav_no2=@nav_no
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[3]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[2]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[1]
- @ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=true,false,false,false,false,false
+ @ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false, false, false, false
@epub.sections(dob_toc,lv_name)
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
@@ -311,12 +315,14 @@ module SiSU_XHTML_EPUB2
lv_name='section_c' + @s_c_no.to_s
@nav_no+=1
@nav_no2=@nav_no
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[3]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[2]
- @ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=true,false,false,false,false
+ @ncxo[2],@ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false, false, false
@epub.sections(dob_toc,lv_name)
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
@@ -328,11 +334,13 @@ module SiSU_XHTML_EPUB2
lv_name='section_d' + @s_d_no.to_s
@nav_no+=1
@nav_no3=@nav_no
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[3]
- @ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6]=true,false,false,false
+ @ncxo[3],@ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false, false
@epub.sections(dob_toc,lv_name)
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
@@ -344,10 +352,12 @@ module SiSU_XHTML_EPUB2
lv_name=dob_toc.name
@nav_no+=1
@dob_name=dob.name
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[4]
- @ncxo[4],@ncxo[5],@ncxo[6]=true,false,false
+ @ncxo[4],@ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false, false
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name)
@@ -358,9 +368,11 @@ module SiSU_XHTML_EPUB2
hashtag='#o' + dob_toc.ocn.to_s
lv_name=@dob_name
@nav_no+=1
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[5]
- @ncxo[5],@ncxo[6]=true,false
+ @ncxo[5],@ncxo[6],@ncxo[7]=
+ true, false, false
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag)
@@ -371,13 +383,27 @@ module SiSU_XHTML_EPUB2
hashtag='#o' + dob_toc.ocn.to_s
lv_name=@dob_name
@nav_no+=1
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
@@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[6]
- @ncxo[6]=true
+ @ncxo[6],@ncxo[7]=
+ true, false
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc
md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag)
md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag)
md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name,hashtag)
SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_6
+ when 7
+ @ncx_cls=[]
+ hashtag='#o' + dob_toc.ocn.to_s
+ lv_name=@dob_name
+ @nav_no+=1
+ @@toc[:ncx] << @epub.toc_ncx.navpoint_close if @ncxo[7]
+ @ncxo[7]=true
+ @@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,lv_name,hashtag) if dob_toc
+ md_opf_a_content << @epub.metadata_opf.manifest_content(dob_toc,lv_name,hashtag)
+ md_opf_a_spine << @epub.metadata_opf.spine(dob_toc,lv_name,hashtag)
+ md_opf_a_guide << @epub.metadata_opf.guide(dob_toc,lv_name,hashtag)
+ SiSU_XHTML_EPUB2::Source::Toc.new(@md,dob_toc).level_7
else nil
end
toc.each do |k,d|
@@ -594,6 +620,27 @@ module SiSU_XHTML_EPUB2
end
toc
end
+ def level_7
+ dob=@data
+ linkname=dob.obj.gsub(/#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]}/,'').strip
+ ocn=dob.ocn
+ toc={}
+ if ocn \
+ and ocn !~/#/
+ p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn)
+ lnk_n_txt=%{ <a href="#{@@seg_url}#{Sfx[:epub_xhtml]}#o#{ocn}">
+ #{linkname}
+</a>}
+ txt_obj={ txt: lnk_n_txt }
+ format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj)
+ toc[:seg]=format_toc.lev7
+ title=%{#{p_num.goto}#{linkname}</a>}
+ txt_obj={ txt: title }
+ format_toc=SiSU_XHTML_EPUB2_Format::FormatToc.new(@md,txt_obj)
+ toc[:scr]=format_toc.lev7
+ end
+ toc
+ end
end
class ScrollHeadAndSegToc < Toc
def initialize(md='',toc='',links_guide_toc='')
diff --git a/lib/sisu/v6/xhtml_epub2_format.rb b/lib/sisu/v6/xhtml_epub2_format.rb
index 626eb79f..aba5b761 100644
--- a/lib/sisu/v6/xhtml_epub2_format.rb
+++ b/lib/sisu/v6/xhtml_epub2_format.rb
@@ -162,7 +162,7 @@ module SiSU_XHTML_EPUB2_Format
padding-left: 0em;
text-indent: 0mm;
}
- p, h0, h1, h2, h3, h4, h5, h6 {
+ p, h0, h1, h2, h3, h4, h5, h6, h7 {
display: block;
font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
font-size: 100%;
@@ -992,18 +992,18 @@ module SiSU_XHTML_EPUB2_Format
font-weight: bold;
}
- h0, h1, h2, h3, h4, h5, h6 {
+ h0, h1, h2, h3, h4, h5, h6, h7 {
font-weight: bold;
line-height: 120%;
text-align: left;
margin-top: 20px;
margin-bottom: 10px;
}
- h4.norm, h5.norm, h6.norm {
+ h4.norm, h5.norm, h6.norm, h7.norm {
margin-top: 10px;
margin-bottom: 0px;
}
- h1.center, h2.center, h3.center, h4.center, h5.center, h6.center {
+ h1.center, h2.center, h3.center, h4.center, h5.center, h6.center, h7.center {
text-align: center;
}
h1 { font-size: 120%; }
@@ -1012,6 +1012,7 @@ module SiSU_XHTML_EPUB2_Format
h4 { font-size: 105%; }
h5 { font-size: 100%; }
h6 { font-size: 100%; }
+ h7 { font-size: 100%; }
h0 { font-size: 80%; }
h1.i {margin-left: 2em;}
@@ -1059,6 +1060,11 @@ module SiSU_XHTML_EPUB2_Format
font-size: 90%;
line-height: 110%;
}
+ h7.toc {
+ margin-left: 7em;
+ font-size: 90%;
+ line-height: 105%;
+ }
.microtoc {
margin-top: 2px;
@@ -1092,6 +1098,11 @@ module SiSU_XHTML_EPUB2_Format
font-weight: normal;
font-size: 90%;
}
+ h7.microtoc {
+ margin-left: 30mm;
+ font-weight: normal;
+ font-size: 85%;
+ }
.subtoc {
margin-right: 34%;
@@ -1109,6 +1120,12 @@ module SiSU_XHTML_EPUB2_Format
margin-top: 0px;
margin-bottom: 0px;
}
+ h7.subtoc {
+ margin-left: 4em;
+ font-size: 70%;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ }
div.substance {
width: 100%;
@@ -1196,10 +1213,10 @@ module SiSU_XHTML_EPUB2_Format
background-color: #f9f9aa;
}
- h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, p.c {
+ h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, h7.c, p.c {
text-align: center
}
- h1.red, h2.red, h3.red, h4.red, h5.red, h6.red {
+ h1.red, h2.red, h3.red, h4.red, h5.red, h6.red, h7.red {
text-align: center;
color: #ff0000;
margin-left: 5mm;
@@ -1208,7 +1225,7 @@ module SiSU_XHTML_EPUB2_Format
margin-bottom: 20px;
margin-right: 15mm;
}
- h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby {
+ h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby, h7.ruby {
text-align: center;
color: #990000;
margin-left: 5mm;
@@ -2043,6 +2060,9 @@ output_epub_cont_seg.close
def seg_heading6
seg_heading_sub('p','bold',@txt)
end
+ def seg_heading7
+ seg_heading_sub('p','bold',@txt)
+ end
def dl #check :trailer
"<dl><b>#{@txt}</b> #{@trailer}</dl>"
end
@@ -2149,6 +2169,9 @@ output_epub_cont_seg.close
def subtoc_lev6
subtoc_lev('h6','subtoc') if @txt
end
+ def subtoc_lev7
+ subtoc_lev('h7','subtoc') if @txt
+ end
def heading_sub(tag,attrib,txt)
txt=txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
%{
@@ -2177,6 +2200,9 @@ output_epub_cont_seg.close
def heading6
heading_sub('p','bold',@txt)
end
+ def heading7
+ heading_sub('h7','bold',@txt)
+ end
def navigation_heading4
%{<table summary="navigation segment heading 4" width=100% bgcolor="#08163f" border="0">
<tr><td align="center">
@@ -2195,6 +2221,11 @@ output_epub_cont_seg.close
#{@txt}
</p>}
end
+ def navigation_heading7
+ %{<p class="bold">
+ #{@txt}
+</p>}
+ end
def navigation_center
%{<p class="centerbold">#{@txt}</p>}
end
@@ -2238,6 +2269,9 @@ output_epub_cont_seg.close
def lev6
lev('h6','toc')
end
+ def lev7
+ lev('h7','toc')
+ end
def lev0 #docinfo
lev('h0','toc')
end
diff --git a/lib/sisu/v6/xhtml_epub2_segments.rb b/lib/sisu/v6/xhtml_epub2_segments.rb
index 8f44b3e8..e5e44886 100644
--- a/lib/sisu/v6/xhtml_epub2_segments.rb
+++ b/lib/sisu/v6/xhtml_epub2_segments.rb
@@ -372,6 +372,8 @@ WOK
sto.seg_heading5
elsif dob.ln==6
sto.seg_heading6
+ elsif dob.ln==7
+ sto.seg_heading7
end
elsif dob.is==:para
if dob.indent \
@@ -486,7 +488,7 @@ WOK
end
end
if dob.is==:heading \
- and dob.ln.to_s =~/^[56]/
+ and dob.ln.to_s =~/^[5-7]/
case dob.ln
when 5
format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,dob)
@@ -494,6 +496,9 @@ WOK
when 6
format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,dob)
subtoc=format_seg.subtoc_lev6 #keep and make available, this is the subtoc
+ when 7
+ format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,dob)
+ subtoc=format_seg.subtoc_lev7 #keep and make available, this is the subtoc
end
@@seg_subtoc_array << subtoc
end
diff --git a/lib/sisu/v6/xml_dom.rb b/lib/sisu/v6/xml_dom.rb
index a3a64946..1285a1cc 100644
--- a/lib/sisu/v6/xml_dom.rb
+++ b/lib/sisu/v6/xml_dom.rb
@@ -226,12 +226,15 @@ WOK
WOK
if lv==4
@copen[1]=true
- @copen[2]=@copen[3]=false
+ @copen[2]=@copen[3]=@copen[4]=false
elsif lv==5
@copen[2]=true
- @copen[3]=false
+ @copen[3]=@copen[4]=false
elsif lv==6
@copen[3]=true
+ @copen[4]=false
+ elsif lv==7
+ @copen[4]=true
end
end
def xml_structure(dob,type='norm')
@@ -259,21 +262,24 @@ WOK
@cont[2]=false if @cont[2]
@cont[3]=false if @cont[3]
####### attempt to close contents
- if @copen[3] # 6~
+ if @copen[4] # 4~
+ [4,3,2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ @copen[1]=@copen[2]=@copen[3]=@copen[4]=false
+ elsif @copen[3] # 3~
[3,2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
@copen[1]=@copen[2]=@copen[3]=false
- elsif @copen[2] # 5~
+ elsif @copen[2] # 2~
[2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
@copen[1]=@copen[2]=@copen[3]=false
- elsif @copen[1] # 4~
+ elsif @copen[1] # 1~
[1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
@copen[1]=@copen[2]=@copen[3]=false
end
@@xml[:body] << "#{Ax[:tab]*y}</heading#{x}>" if @level[x]
@level[x]=false
end
- when 4..6
- 6.downto(lv) do |x|
+ when 4..7
+ 7.downto(lv) do |x|
if @level[x]==true
@xml_contents_close[x]=''
end
@@ -284,42 +290,61 @@ WOK
case lv
when 4
@@xml[:body] << "#{Ax[:tab]*5}</content>" if @cont[1]
- if @copen[3]==true # 6~
+ if @copen[4]==true # 4~
+ [4,3,2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ elsif @copen[3]==true # 3~
[3,2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
- elsif @copen[2]==true # 5~
+ elsif @copen[2]==true # 2~
[2,1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
- elsif @copen[1]==true # 4~
+ elsif @copen[1]==true # 1~
[1].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
end
@cont[1]=true
when 5
- if @cont[2] \
+ if @cont[3] \
+ or @cont[2] \
or @cont[1]
@@xml[:body] << "#{Ax[:tab]*5}</content>"
end
- if @copen[3]==true #6~
+ if @copen[4]==true #4~
+ [4,3,2].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ elsif @copen[3]==true #3~
[3,2].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
- elsif @copen[2]==true #5~
+ elsif @copen[2]==true #2~
[2].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
end
@cont[2]=true
when 6
- if @cont[3] \
+ if @cont[4] \
+ or @cont[3] \
or @cont[2] \
or @cont[1]
@@xml[:body] << "#{Ax[:tab]*5}</content>"
end
- if @copen[3] #6{
+ if @copen[4] #4~
+ [4,3].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ elsif @copen[3] #3~
[3].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
end
@cont[3]=true
+ when 7
+ if @cont[4] \
+ or @cont[3] \
+ or @cont[2] \
+ or @cont[1]
+ @@xml[:body] << "#{Ax[:tab]*5}</content>"
+ end
+ if @copen[4] #4~
+ [4].each { |v| @@xml[:body] << "#{Ax[:tab]*n}</contents#{v}>" }
+ end
+ @cont[4]=true
end
end
xml_el ||=''
xml_element(dob,xml_el,xml_content,type)
if lv
@level[lv]=true
- ((lv+1)..6).each { |x| @level[x]=false }
+ ((lv+1)..7).each { |x| @level[x]=false }
end
end
def add_to_body(dob,type='norm')
@@ -367,8 +392,8 @@ WOK
@level,@cont,@copen,@xml_contents_close=[],[],[],[]
@rcdc=false
type='norm'
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @xml_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @xml_contents_close[x]='' }
xml_head
data.each do |dob|
@trans.char_enc.utf8(dob) if @sys.locale =~/utf-?8/i #% utf8
@@ -420,6 +445,10 @@ WOK
type="heading_content_#{dob.lv}"
xml_structure(dob,type)
dob.obj=x.heading_body6
+ elsif dob.ln==7
+ type="heading_content_#{dob.lv}"
+ xml_structure(dob,type)
+ dob.obj=x.heading_body7
end
else
dob.ocn
@@ -486,7 +515,7 @@ WOK
end
end
@content_flag=true
- 6.downto(4) do |x|
+ 7.downto(4) do |x|
y=x - 1; v=x - 3
if @level[x]==true #2004w36 bug fix? watch/test previous logic broke on free.for.all @coontent_flag introduced
if @content_flag==true
diff --git a/lib/sisu/v6/xml_format.rb b/lib/sisu/v6/xml_format.rb
index 70c1a27f..38cc7f85 100644
--- a/lib/sisu/v6/xml_format.rb
+++ b/lib/sisu/v6/xml_format.rb
@@ -1115,6 +1115,9 @@ WOK
def heading_body6
heading_normal('h6','norm')
end
+ def heading_body7
+ heading_normal('h7','norm')
+ end
def title_header(tag,attrib)
%{
<div class="content">
@@ -1291,6 +1294,9 @@ WOK
def subtoc_lev6
subtoc_lev('h6','subtoc') if @txt
end
+ def subtoc_lev7
+ subtoc_lev('h7','subtoc') if @txt
+ end
#% para sisu
def header_sub(tag,attrib)
@txt=@txt.gsub(/(?:#{Mx[:en_a_o]}.+?#{Mx[:en_a_c]}|#{Mx[:en_b_o]}.+?#{Mx[:en_b_c]})\s*/m,' ')
@@ -1303,12 +1309,6 @@ WOK
</div>
}
end
- def header5
- header_sub('p','bold')
- end
- def header6
- header_sub('p','bold')
- end
def header4
%{
<div class="substance">
@@ -1320,6 +1320,15 @@ WOK
</div>
}
end
+ def header5
+ header_sub('p','bold')
+ end
+ def header6
+ header_sub('p','bold')
+ end
+ def header7
+ header_sub('p','bold')
+ end
def navigation_header4
%{<table summary="navigation segment header 4" width=100% bgcolor="#08163f" border="0">
<tr><td align="center">
@@ -1338,6 +1347,11 @@ WOK
#{@txt}
</p>}
end
+ def navigation_header7
+ %{<p class="bold">
+ #{@txt}
+</p>}
+ end
def navigation_center
"<center>#{@txt}</center>"
end
@@ -1381,6 +1395,10 @@ WOK
def lev6
lev('h6','toc')
end
+ def lev7
+ lev('h7','toc')
+ #lev('b','toc')
+ end
def lev0 #docinfo
lev('h0','toc')
end
@@ -1402,6 +1420,9 @@ WOK
def mini_lev6
lev('h6','minitoc')
end
+ def mini_lev7
+ lev('h7','minitoc')
+ end
def mini_lev0 #docinfo
lev('h0','minitoc')
end
diff --git a/lib/sisu/v6/xml_odf_odt.rb b/lib/sisu/v6/xml_odf_odt.rb
index bb69be5d..c5e06109 100644
--- a/lib/sisu/v6/xml_odf_odt.rb
+++ b/lib/sisu/v6/xml_odf_odt.rb
@@ -111,7 +111,9 @@ module SiSU_XML_ODF_ODT
SiSU_Screen::Ansi.new(
@opt.act[:color_state][:set],
@opt.fns,
- "file://#{@md.file.output_path.odt.dir}/#{@md.file.base_filename.odt}"
+ 'file://' \
+ + @md.file.output_path.odt.dir + '/' \
+ + @md.file.base_filename.odt
).flow
end
end
@@ -173,16 +175,19 @@ module SiSU_XML_ODF_ODT
if x =~/\S+/ then @n << x
end
end
- else @n << n
+ else @n << n
end
end
end
def odf_book_idx
if @md.book_idx
- idx_arr,idx_raw=[],SiSU_Particulars::CombinedSingleton.instance.get_idx_raw(@md.opt).raw_idx
+ idx_arr=[]
+ idx_raw=SiSU_Particulars::CombinedSingleton.
+ instance.get_idx_raw(@md.opt).raw_idx
idx_raw.each do |x|
x=if x.is_a?(String)
- SiSU_XML_ODF_ODT_Format::FormatBookIndex.new(x).book_idx_bookmark
+ SiSU_XML_ODF_ODT_Format::FormatBookIndex.new(x).
+ book_idx_bookmark
else nil
end
idx_arr << x.strip if x.is_a?(String)
@@ -191,7 +196,8 @@ module SiSU_XML_ODF_ODT
end
end
def odf_metadata
- @@odf[:metadata]=SiSU_Metadata::Summary.new(@md).odf.metadata
+ @@odf[:metadata]=SiSU_Metadata::Summary.new(@md).
+ odf.metadata
end
def odf_tail
manifest="#{@md.file.output_path.manifest.url}/#{@md.file.base_filename.manifest}"
@@ -224,19 +230,22 @@ module SiSU_XML_ODF_ODT
@@docstart=false
if dob.use_ != :dummy
dob.tmp=dob.obj
- dob.obj=%{#{breakpage}<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">#{p_num[:set_ref]}#{set_bookmark_tag(dob)}#{dob.obj}#{p_num[:display]}</text:h>}
+ dob.obj=%{#{breakpage}<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">} \
+ + %{#{p_num[:set_ref]}#{set_bookmark_tag(dob)}#{dob.obj}#{p_num[:display]}</text:h>}
else dob.tmp,dob.obj='',''
end
dob
end
def toc(dob,p_num)
- hardspace=(dob.lv =~/[A-C]/i) \
+ hardspace=(dob.lv =~/[A-D]/i) \
? '<text:p text:style-name="Standard"/>'
: ''
toc_heading=dob.ocn \
- ? %{<text:bookmark-ref text:reference-format="text" text:ref-name="#{dob.ocn}">#{dob.tmp}</text:bookmark-ref>}
+ ? (%{<text:bookmark-ref text:reference-format="text" text:ref-name="#{dob.ocn}">} \
+ + %{#{dob.tmp}</text:bookmark-ref>})
: dob.tmp
- dob.obj=%{<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">#{toc_heading}</text:h>#{hardspace}}
+ dob.obj=%{<text:h text:style-name="H_#{dob.ln}" text:outline-level="#{dob.ln}">} \
+ + %{#{toc_heading}</text:h>#{hardspace}}
dob
end
def image_src(i)
@@ -253,7 +262,9 @@ module SiSU_XML_ODF_ODT
@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}"
+ "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
@@ -271,7 +282,9 @@ module SiSU_XML_ODF_ODT
@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}"
+ "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
@@ -280,8 +293,10 @@ module SiSU_XML_ODF_ODT
# copy image to od image directory (unless exists)
# divide pixel dimension by 37.79485 and retain 3 decimal places
m=img[1]
- i=/^(\S+?\.(?:png|jpg|gif))/.match(m).captures.join if m =~/^(\S+?\.(?:png|jpg|gif))/
- c=/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/.match(m).captures.join if m =~/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/
+ i=/^(\S+?\.(?:png|jpg|gif))/.match(m).captures.join \
+ if m =~/^(\S+?\.(?:png|jpg|gif))/
+ c=/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/.match(m).captures.join \
+ if m =~/^\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"/
w,h=/\s(\d+)x(\d+)/.match(m).captures if m =~/\s\d+x\d+/
w=(w.to_i/37.79485).to_s
h=(h.to_i/37.79485).to_s
@@ -290,7 +305,10 @@ module SiSU_XML_ODF_ODT
image_source=image_src(i)
if image_source
if FileTest.file?("#{image_source}/#{i}")
- FileUtils::cp("#{image_source}/#{i}","#{@env.processing_path.odt}/Pictures/#{i}")
+ FileUtils::cp(
+ "#{image_source}/#{i}",
+ "#{@env.processing_path.odt}/Pictures/#{i}"
+ )
else STDERR.puts %{\t*WARN* did not find image - "#{image_source}/#{i}" [#{__FILE__}:#{__LINE__}]}
end
end
@@ -325,7 +343,8 @@ module SiSU_XML_ODF_ODT
def text_link_odf(txt,url,trail)
txt=txt.gsub(/(\\\+)/,'+') #this is convoluted, and risky :-(
url=url.gsub(/(\\\+)/,'+') #this is convoluted, and risky :-(
- map_nametags=SiSU_Particulars::CombinedSingleton.instance.get_map_nametags(@md).nametags_map
+ map_nametags=SiSU_Particulars::CombinedSingleton.
+ instance.get_map_nametags(@md).nametags_map
t=case url
when /^https?:/
%{<text:a xl:type="simple" xl:href="#{url}">#{txt.strip}</text:a>#{trail}}
@@ -342,7 +361,8 @@ module SiSU_XML_ODF_ODT
end
t=map_nametags[url] \
&& map_nametags[url][:segname] \
- ? %{<text:a xl:type="simple" xl:href="#{@env.url.root}/#{@md.fnb}/#{map_nametags[url][:segname]}#{Sfx[:html]}##{url}">#{txt.strip}</text:a>#{trail}}
+ ? (%{<text:a xl:type="simple" xl:href="#{@env.url.root}/#{@md.fnb}/#{map_nametags[url][:segname]}#{Sfx[:html]}##{url}">} \
+ + %{#{txt.strip}</text:a>#{trail}})
: %{#{txt.strip}#{trail}}
end
t
@@ -359,7 +379,8 @@ module SiSU_XML_ODF_ODT
txt=txt.gsub(/([)(\]\[])/,"\\\\\\1").
gsub(/([+?*])/,"\\\\\\1") # problems with +
url=url.gsub(/([+?])/,"\\\\\\1") # problems with +
- dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:url_o]}#{url}#{Mx[:url_c]}/m,text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url
+ dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:url_o]}#{url}#{Mx[:url_c]}/m,
+ text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url
gsub(/\\([)(\]\[?])/,'\1') #clumsy fix
end
m=nil
@@ -374,7 +395,8 @@ module SiSU_XML_ODF_ODT
txt=txt.gsub(/([)(\]\[])/,"\\\\\\1").
gsub(/([+?*])/,"\\\\\\1") # problems with +
url=url.gsub(/([+?])/,"\\\\\\1") # problems with +
- dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m,text_link_odf_bookmark(txt,url,trail)). #make sure trailing ']' are not caught in url
+ dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m,
+ text_link_odf_bookmark(txt,url,trail)). #make sure trailing ']' are not caught in url
gsub(/\\([)(\]\[?])/,'\1') #clumsy fix
end
m=nil
@@ -387,7 +409,8 @@ module SiSU_XML_ODF_ODT
m.each do |i|
txt,url,trail=i[1],i[2]
txt=txt.gsub(/([)(\]\[])/,"\\\\\\1")
- dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m,text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url
+ dob.obj=dob.obj.gsub(/#{Mx[:lnk_o]}[ ]*#{txt}#{Mx[:lnk_c]}#{Mx[:rel_o]}#{url}#{Mx[:rel_c]}/m,
+ text_link_odf(txt,url,trail)). #make sure trailing ']' are not caught in url
gsub(/\\([)(\]\[?])/,'\1') #clumsy fix
end
m=nil
@@ -431,11 +454,13 @@ module SiSU_XML_ODF_ODT
@astx||=10000
@astxs||=20000
if str =~/#{Mx[:en_a_o]}\d+\s+/
- str=str.gsub(/#{Mx[:en_a_o]}(\d+)\s+(.+?)#{Mx[:en_a_c]}/,'<text:note text:id="ftn\1" text:note-class="footnote"><text:note-citation>\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>')
+ str=str.gsub(/#{Mx[:en_a_o]}(\d+)\s+(.+?)#{Mx[:en_a_c]}/,
+ '<text:note text:id="ftn\1" text:note-class="footnote"><text:note-citation>\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>')
end
if str =~/#{Mx[:en_a_o]}([*]+)\s+/
a=$1.gsub(/([*])/,"\\\\\\1")
- str=str.gsub(/#{Mx[:en_a_o]}([*]+)\s+(.+?)#{Mx[:en_a_c]}/,%{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
+ str=str.gsub(/#{Mx[:en_a_o]}([*]+)\s+(.+?)#{Mx[:en_a_c]}/,
+ %{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
@astxs+=1
end
if str=~/#{Mx[:en_a_o]}[*+]+\s/
@@ -444,7 +469,8 @@ module SiSU_XML_ODF_ODT
a=x[0].gsub(/([*+])/,"\\\\\\1")
str=group_clean(str)
str=footnote_urls(str)
- str=str.gsub(/#{Mx[:en_a_o]}(#{a})\s+(.+?)#{Mx[:en_a_c]}/,%{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
+ str=str.gsub(/#{Mx[:en_a_o]}(#{a})\s+(.+?)#{Mx[:en_a_c]}/,
+ %{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
@astx+=1
end
end
@@ -454,7 +480,8 @@ module SiSU_XML_ODF_ODT
a=x[0].gsub(/([*+])/,"\\\\\\1")
str=group_clean(str)
str=footnote_urls(str)
- str=str.gsub(/#{Mx[:en_b_o]}(#{a})\s+(.+?)#{Mx[:en_b_c]}/,%{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
+ str=str.gsub(/#{Mx[:en_b_o]}(#{a})\s+(.+?)#{Mx[:en_b_c]}/,
+ %{<text:note text:id="ftn#{@astx.to_s}" text:note-class="footnote"><text:note-citation text:label="\\1">\\1</text:note-citation><text:note-body><text:p text:style-name="Footnote"> \\2</text:p><text:p text:style-name="Footnote"/></text:note-body></text:note>})
@astx+=1
end
end
@@ -495,7 +522,8 @@ module SiSU_XML_ODF_ODT
dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each_with_index do |parablock,i|
set_ref=(i==0) ? "#{p_num[:set_ref]}#{set_bookmark_tag(dob)}" : ''
parablock=group_clean(parablock)
- parablock=parablock.gsub(/&lt;text:a xl:type="simple" xl:href="(.+?)"&gt;/m,'<text:a xl:type="simple" xl:href="\1">').
+ parablock=parablock.gsub(/&lt;text:a xl:type="simple" xl:href="(.+?)"&gt;/m,
+ '<text:a xl:type="simple" xl:href="\1">').
gsub(/&lt;(\/text:a)&gt;/,'<\1>').
gsub(/&lt;(text:note text:id=.+?)&gt;/,'<\1>').
gsub(/&lt;(text:p text:style-name="Footnote")&gt;/,'<\1>').
@@ -519,13 +547,15 @@ module SiSU_XML_ODF_ODT
dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each_with_index do |parablock,i|
set_ref=(i==0) ? "#{p_num[:set_ref]}#{set_bookmark_tag(dob)}" : ''
parablock=group_clean(parablock)
- parablock=parablock.gsub(/&lt;text:a xl:type="simple" xl:href="(.+?)"&gt;/m,'<text:a xl:type="simple" xl:href="\1">').
+ parablock=parablock.gsub(/&lt;text:a xl:type="simple" xl:href="(.+?)"&gt;/m,
+ '<text:a xl:type="simple" xl:href="\1">').
gsub(/&lt;(\/text:a)&gt;/,'<\1>').
gsub(/&lt;(text:note text:id=.+?)&gt;/,'<\1>').
gsub(/&lt;(text:p text:style-name="Footnote")&gt;/,'<\1>').
gsub(/&lt;(\/?text:(?:note-citation|note-body|note|p))&gt;/,'<\1>')
parablock=footnote(parablock)
- parray << %{<text:p text:style-name="P_group">#{set_ref}#{parablock}</text:p>} if parablock =~/\S+/
+ parray << %{<text:p text:style-name="P_group">#{set_ref}#{parablock}</text:p>} \
+ if parablock =~/\S+/
end
dob.obj=parray.join \
+ %{<text:p text:style-name="P_group">#{p_num[:display]}</text:p>} \
@@ -593,7 +623,7 @@ module SiSU_XML_ODF_ODT
if dob.is==:heading
@@odf[:body] << heading(dob,p_num).obj << break_line*2
if SiSU_Env::ProcessingSettings.new(md).build.toc?
- if dob.lv =~/[A-C1]/i
+ if dob.lv =~/[A-D1]/i
@@odf[:toc] << toc(dob,p_num).obj
end
end
@@ -623,8 +653,8 @@ module SiSU_XML_ODF_ODT
dir.path.odt_bld
@data_mod,@endnotes,@level,@cont,@copen,@odf_contents_close=Array.new(6){[]}
@rcdc=false
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @odf_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @odf_contents_close[x]='' }
odf_tail #($1,$2)
bullet=image_src('bullet_09.png')
if bullet
@@ -668,7 +698,8 @@ module SiSU_XML_ODF_ODT
dob.obj=dob.obj.gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'<del>\1</del>').
gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'<ins>\1</ins>').
gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'<cite>\1</cite>').
- gsub(/#{Mx[:tag_o]}\S+?#{Mx[:tag_c]}/,'<text:bookmark-start text:name="\1"/><text:bookmark-end text:name="\1"/>'). #check
+ gsub(/#{Mx[:tag_o]}\S+?#{Mx[:tag_c]}/,
+ '<text:bookmark-start text:name="\1"/><text:bookmark-end text:name="\1"/>'). #check
gsub(/#{Mx[:mk_o]}#([a-zA-Z]+)#{Mx[:mk_c]}/,'&\1;').
gsub(/#{Mx[:mk_o]}(#[0-9]+)#{Mx[:mk_c]}/,'&\1;').
gsub(/#{Mx[:mk_o]}[~-]##{Mx[:mk_c]}/,'')
@@ -706,7 +737,8 @@ module SiSU_XML_ODF_ODT
wordlist=dob.obj.scan(/\S+/)
dob.obj=tidywords(wordlist).join(' ').strip
@rcdc=true if @rcdc==false \
- and (dob.obj =~/~metadata/ or dob =~/#{Mx[:lv_o]}1:meta#{Mx[:lv_x]}\s*Document Information/) #fix Mx[:lv_o]
+ and (dob.obj =~/~metadata/ \
+ or dob =~/#{Mx[:lv_o]}1:meta#{Mx[:lv_x]}\s*Document Information/) #fix Mx[:lv_o]
if dob.is !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ #check
if defined? dob.ocn and dob.ocn =~/\d+/
@p_num=SiSU_XML_ODF_ODT_Format::ParagraphNumber.new(@make,dob.ocn)
@@ -835,7 +867,8 @@ WOK
end
od.close
opendoc=@md.file.base_filename.odt #watch where output by language
- FileUtils::mkdir_p(@md.file.output_path.odt.dir) unless FileTest.directory?(@md.file.output_path.odt.dir)
+ FileUtils::mkdir_p(@md.file.output_path.odt.dir) \
+ unless FileTest.directory?(@md.file.output_path.odt.dir)
if FileTest.directory?(@env.processing_path.odt) \
and SiSU_Env::SystemCall.new.zip
pwd=Dir.pwd
diff --git a/lib/sisu/v6/xml_odf_odt_format.rb b/lib/sisu/v6/xml_odf_odt_format.rb
index 68457d00..09c039bc 100644
--- a/lib/sisu/v6/xml_odf_odt_format.rb
+++ b/lib/sisu/v6/xml_odf_odt_format.rb
@@ -166,6 +166,8 @@ module SiSU_XML_ODF_ODT_Format
end
def heading_body6
end
+ def heading_body7
+ end
end
class Table
@@tablehead,@@table_counter=0,0 #reinitialise on new file
diff --git a/lib/sisu/v6/xml_sax.rb b/lib/sisu/v6/xml_sax.rb
index d90b552b..d595e4a4 100644
--- a/lib/sisu/v6/xml_sax.rb
+++ b/lib/sisu/v6/xml_sax.rb
@@ -333,8 +333,8 @@ WOK
@endnotes,@level,@cont,@copen,@xml_contents_close=[],[],[],[],[]
@rcdc=false
xml_head
- (0..6).each { |x| @cont[x]=@level[x]=false }
- (4..6).each { |x| @xml_contents_close[x]='' }
+ (0..7).each { |x| @cont[x]=@level[x]=false }
+ (4..7).each { |x| @xml_contents_close[x]='' }
data.each do |dob|
@trans.char_enc.utf8(dob) if @sys.locale =~/utf-?8/i #% utf8
dob=@trans.markup(dob)
@@ -361,6 +361,7 @@ WOK
when 4 then x.heading_body4
when 5 then x.heading_body5
when 6 then x.heading_body6
+ when 7 then x.heading_body7
end
else
if dob.is==:verse
@@ -415,7 +416,7 @@ WOK
dob.obj=dob.obj.gsub(/#{Mx[:pa_o]}:\S+#{Mx[:pa_c]}/,'') if dob.obj
end
end
- 6.downto(4) do |x|
+ 7.downto(4) do |x|
y=x - 1; v=x - 3
@@xml[:body] << "#{Ax[:tab]*5}</content>\n#{Ax[:tab]*y}</contents#{v}>" if @level[x]==true
end
@@ -423,7 +424,7 @@ WOK
y=x - 1
@@xml[:body] << "#{Ax[:tab]*y}</heading#{x}>" if @level[x]==true
end
- #6.downto(1) { |x| y=x - 1; @@xml[:body] << "#{Ax[:tab]*y}</level #{x}>" if @level[x]==true }
+ #7.downto(1) { |x| y=x - 1; @@xml[:body] << "#{Ax[:tab]*y}</level #{x}>" if @level[x]==true }
end
def pre
rdf=SiSU_XML_Tags::RDF.new(@md)
diff --git a/man/man1/sisu.1 b/man/man1/sisu.1
index 5cc2c7d9..608f69a2 100644
--- a/man/man1/sisu.1
+++ b/man/man1/sisu.1
@@ -1,4 +1,4 @@
-.TH "sisu" "1" "2014-07-22" "5.5.2" "SiSU"
+.TH "sisu" "1" "2014-02-05" "6.2.1" "SiSU"
.br
.SH NAME
.br
@@ -128,14 +128,8 @@ document structure information. For more see: <http://sisudoc.org> or
.SH DOCUMENT PROCESSING COMMAND FLAGS
.TP
-.B -a [filename/wildcard]
-produces
-.I plaintext
-with Unix linefeeds and without markup, (object numbers are omitted), has
-footnotes at end of each paragraph that contains them [ -A for equivalent dos
-(linefeed) output file] [see -e for endnotes]. (Options include: --endnotes for
-endnotes --footnotes for footnotes at the end of each paragraph --unix for unix
-linefeed (default) --msdos for msdos linefeed)
+.B -[0-9] [filename/wildcard]
+see --act
.TP
.B --ao [filename/wildcard/url]
assumed for most other flags, creates new intermediate files for processing
@@ -143,6 +137,13 @@ 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 --act[0-9] [filename/wildcard]
+--act0 to --act9 configurable shortcuts for multiple flags, -0 to -9 synonyms,
+configure in sisurc.yml, sisu default action on a specified file where no flag
+is provided is --act0, current default setting for --act0 is --digest --qrcode
+--text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax
+--xml-dom --sqlite --manifest --verbose
+.TP
.B --asciitext [filename/wildcard]
asciitext, smart text (not available)
.TP
@@ -160,9 +161,6 @@ site more extensive than -C on its own, shared output directory files/force
update, existing shared output config files such as css and dtd files are
updated if this modifier is used.
.TP
-.B -CC
-see --configure
-.TP
.B -c [filename/wildcard]
see --color-toggle
.TP
@@ -214,6 +212,9 @@ screen.
.B --docbook [filename/wildcard/url]
docbook xml
.TP
+.B --dom [filename/wildcard/url]
+see --xml-dom
+.TP
.B --dump[=directory_path] [filename/wildcard]
places output in directory specified, if none is specified in the current
directory (pwd). Unlike using default settings
@@ -531,6 +532,9 @@ is first necessary to create them, before generating the search form) see
which must be writable, (with screen instructions given that they be copied to
the cgi-bin directory). Alias -F
.TP
+.B --sax [filename/wildcard/url]
+see --xml-sax
+.TP
.B --scp [filename/wildcard]
copies sisu output files to remote host using scp. This requires that
sisurc.yml has been provided with information on hostname and username, and
@@ -802,45 +806,6 @@ equivalent]
.BR
The -v is for verbose output.
-.SH SHORTCUTS, SHORTHAND FOR MULTIPLE FLAGS
-
-.TP
-.B --update [filename/wildcard]
-Checks existing file output and runs the flags required to update this output.
-This means that if only html and pdf output was requested on previous runs,
-only the -hp files will be applied, and only these will be generated this time,
-together with the summary. This can be very convenient, if you offer different
-outputs of different files, and just want to do the same again.
-.TP
-.B -0 to -5 [filename or wildcard]
-Default shorthand mappings (note that the defaults can be changed/configured in
-the sisurc.yml file):
-.TP
-.B -0
--NQhewpotbxXyYv [this is the default action run when no options are give, i.e.
-on 'sisu [filename]']
-.TP
-.B -1
--Qhewpoty
-.TP
-.B -2
--NQhewpotbxXy
-.TP
-.B -3
--NQhewpotbxXyY
-.TP
-.B -4
--NQhewpotbxXDyY --update
-.TP
-.B -5
--NQhewpotbxXDyYv --update
-
-.BR
-add -v for verbose mode and -c to toggle color state, e.g. sisu -2vc [filename
-or wildcard]
-
-.BR
-consider -u for appended url info or -v for verbose output
.SH COMMAND LINE WITH FLAGS - BATCH PROCESSING
@@ -1926,7 +1891,7 @@ information in each column
.BR
.B markup example:
-[^10]
+[^9]
.nf
!_ Table 3.1: Contributors to Wikipedia, January 2001 - June 2005
diff --git a/rbuild b/rbuild
index 525ea4cc..e42d15ee 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.6' #% set version
-SiSU_version_next_unstable = '6.2.0' #% set version
+SiSU_version_next_stable = '5.6.0' #% set version
+SiSU_version_next_unstable = '6.2.1' #% set version
#% rake file
SiSU_version_generic_next_stable = '5.4.x'
SiSU_version_generic_next_unstable = '6.0.x'