aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2012-03-12 18:51:21 -0400
committerRalph Amissah <ralph@amissah.com>2012-03-12 18:51:21 -0400
commit1b7b1b2aec62cf261faa94ce2fbc05e9c28c83e2 (patch)
tree52b39f3a8e625db1678c3353a2a88a271379d81f
parentdebian/changelog (3.1.14-1) (diff)
parentv3dv: documentation sisu_commands, add sqlite3 discreet (diff)
Merge tag 'sisu_3.1.15' into debian/sid
-rw-r--r--conf/sisu/v3dv/sisurc.yml10
-rw-r--r--data/doc/sisu/CHANGELOG_v373
-rw-r--r--data/doc/sisu/markup-samples/sisu_manual/sisu_commands.sst184
-rw-r--r--data/sisu/v3/v/version.yml6
-rw-r--r--data/sisu/v3dv/conf/editor-syntax-etc/vim/syntax/sisu.vim6
-rw-r--r--data/sisu/v3dv/v/version.yml6
-rw-r--r--lib/sisu/v3dv/concordance.rb17
-rw-r--r--lib/sisu/v3dv/css.rb16
-rw-r--r--lib/sisu/v3dv/dal_expand_insertions.rb8
-rw-r--r--lib/sisu/v3dv/db_create.rb4
-rw-r--r--lib/sisu/v3dv/db_dbi.rb12
-rw-r--r--lib/sisu/v3dv/db_drop.rb2
-rw-r--r--lib/sisu/v3dv/db_select.rb50
-rw-r--r--lib/sisu/v3dv/dbi.rb2
-rw-r--r--lib/sisu/v3dv/dbi_discreet.rb158
-rw-r--r--lib/sisu/v3dv/defaults.rb4
-rw-r--r--lib/sisu/v3dv/epub.rb58
-rw-r--r--lib/sisu/v3dv/epub_format.rb142
-rw-r--r--lib/sisu/v3dv/epub_segments.rb20
-rw-r--r--lib/sisu/v3dv/harvest.rb2
-rw-r--r--lib/sisu/v3dv/harvest_authors.rb4
-rw-r--r--lib/sisu/v3dv/harvest_topics.rb4
-rw-r--r--lib/sisu/v3dv/html.rb8
-rw-r--r--lib/sisu/v3dv/html_format.rb91
-rw-r--r--lib/sisu/v3dv/html_promo.rb21
-rw-r--r--lib/sisu/v3dv/html_segments.rb63
-rw-r--r--lib/sisu/v3dv/hub.rb8
-rw-r--r--lib/sisu/v3dv/manifest.rb22
-rw-r--r--lib/sisu/v3dv/options.rb309
-rw-r--r--lib/sisu/v3dv/param.rb82
-rw-r--r--lib/sisu/v3dv/qrcode.rb2
-rw-r--r--lib/sisu/v3dv/shared_images.rb7
-rw-r--r--lib/sisu/v3dv/sysenv.rb779
-rw-r--r--lib/sisu/v3dv/texinfo.rb28
-rw-r--r--lib/sisu/v3dv/texinfo_format.rb69
-rw-r--r--lib/sisu/v3dv/texpdf.rb37
-rw-r--r--lib/sisu/v3dv/texpdf_format.rb6
-rw-r--r--lib/sisu/v3dv/urls.rb2
-rw-r--r--lib/sisu/v3dv/xml_format.rb31
39 files changed, 1445 insertions, 908 deletions
diff --git a/conf/sisu/v3dv/sisurc.yml b/conf/sisu/v3dv/sisurc.yml
index 0d95d4c6..de2288f9 100644
--- a/conf/sisu/v3dv/sisurc.yml
+++ b/conf/sisu/v3dv/sisurc.yml
@@ -49,11 +49,11 @@ show_output_on: 'filesystem_url'
#% flag - set (non-default) processing flag shortcuts -1, -2 etc. (here adding colour and verbosity as default)
flag:
color: true # making colour default -c is toggle, and will now toggle colour off
- default: '-NhewpotbxXyYv' # -m run by default; includes verbose
+ default: '-NhewpotbxXyYdv' # -m run by default; includes verbose
i: '-Nhewpoty' # -m run by default
- ii: '-NhewpotbxX' # -m run by default
- iii: '-NhewpotbxXY' # -m run by default
- iv: '-NhewpotbxXiIY' # -m run by default
+ ii: '-NhewpotbxXd' # -m run by default
+ iii: '-NhewpotbxXYd' # -m run by default
+ iv: '-NhewpotbxXiIYd' # -m run by default
v: '-NhewpotbxXYDv --update' # -m run by default; includes verbose
#% papersize, (LaTeX/pdf) available values: A4, US_letter, book_b5, book_a5, US_legal
@@ -142,5 +142,5 @@ program_set:
# action: http://search.sisudoc.org
# db: sisu
# title: sample search form
-
#promo: sisu_search_libre, sisu_icon, sisu, open_society, fsf, ruby
+#omit: minitoc
diff --git a/data/doc/sisu/CHANGELOG_v3 b/data/doc/sisu/CHANGELOG_v3
index 34757240..0a2a57fd 100644
--- a/data/doc/sisu/CHANGELOG_v3
+++ b/data/doc/sisu/CHANGELOG_v3
@@ -13,13 +13,80 @@ Reverse Chronological:
%% Development branch UNSTABLE
v3 branch once stable will supersede & replace current stable v2 branch
+%% 3.1.15.orig.tar.xz (2012-03-12:11/1)
+http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/sisu_3.1.15
+http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_3.1.15-1
+http://www.jus.uio.no/sisu/pkg/src/sisu_3.1.15.orig.tar.xz
+ sisu_3.1.15.orig.tar.xz
+ sisu_3.1.15-1.dsc
+ sisu_3.1.15-1.debian.tar.gz
+
+* v3dv: sysenv, ProcessingSettings, start to use hooks to make it possible to
+ control (via: the command line; the document markup header, or; the
+ configuration file) the likes of: ocn, toc, segsubtoc, minitoc,
+ links-to-manifest, search-form, html-navigation, html-navigation-bar,
+ html-right-pane, html-top-band; these are switched on by default and may be
+ switched off in omit lists within configuration file, the document markup
+ header, or command line. The command line takes precedence & may switch on
+ or off overriding settings within the document markup header or the sisu
+ configuration file.
+ * --inc- on by default, but if switched off in doc header or configuration,
+ the command line --inc- has precedence; for each possible exclude
+ configuration the --inc- switch that overrides configuration settings
+ * --exc- == --no-; exclude/switch off feature (but --inc- include has
+ precedence)
+ * document header @build: :omit: [list output features to be omitted]
+ * configuration (sisurc.yml) omit:
+ exclude output feature, overrides configuration settings (omit --dev
+ development branch modifier once merged back to main)
+ --exc-ocn, html (seg, scroll), epub, xml, pdf
+ sisu --dev --exc-ocn --html --epub --xml-sax --xml-dom --xhtml -v filename.sst
+ --exc-toc, html (scroll), epub, pdf
+ sisu --dev --exc-toc --html --epub --pdf -v filename.sst
+ --exc-segsubtoc html (seg), epub
+ sisu --dev --exc-segsubtoc --html --epub -v filename.sst
+ --exc-minitoc, html (seg), concordance, manifest
+ sisu --dev --exc-minitoc --html --concordance -v filename.sst
+ --exc-manifest-minitoc, manifest
+ sisu --dev --exc-manifest-minitoc --html -v filename.sst
+ --exc-links_to_manifest, --exc-manifest-links,
+ html (seg, scroll)
+ sisu --dev --exc-manifest-links --html -v filename.sst
+ --exc-search-form, html (seg, scroll), manifest
+ sisu --dev --exc-search-form --html -v filename.sst
+ --exc-html-minitoc, html (seg), concordance
+ sisu --dev --exc-html-minitoc --html --concordance -v filename.sst
+ --exc-html-navigation, html (seg, scroll)?
+ sisu --dev --exc-html-navigation --html -v filename.sst
+ --exc-html-navigation-bar, html (seg)
+ sisu --dev --exc-html-navigation-bar --html -v filename.sst
+ --exc-html-search-form, html (seg, scroll)
+ sisu --dev --exc-html-search-form --html -v filename.sst
+ --exc-html-right-pane, html (seg, scroll)
+ sisu --dev --exc-html-right-pane --html -v filename.sst
+ --exc-html-top-band, html (seg, scroll), concordance
+ (minitoc is forced on to provide seg navigation)
+ sisu --dev --exc-html-top-band --html --concordance -v filename.sst
+
+* v3dv, vim syntax highlighting, document header added :omit: (under @make:)
+ for document output features to be omitted if any
+
+* v3dv, documentation sisu_commands, rearranged; update with regard to
+ excludes; & discreet sqlite output
+
+* v3dv, sqlite3 discreet .sql.db file for each document (in addition to
+ existing possibility of a shared db in sqlite3 or postgresql)
+
+* texinfo, fix (break holding back 3.2 merge)
+ [proposed next version starts 3.2, (merge dev branch after 3.1.15)]
+
%% 3.1.14.orig.tar.xz (2012-02-14:07/2)
http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/sisu_3.1.14
http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_3.1.14-1
http://www.jus.uio.no/sisu/pkg/src/sisu_3.1.14.orig.tar.xz
- sisu_3.1.14.orig.tar.xz
- sisu_3.1.14-1.dsc
- sisu_3.1.14-1.debian.tar.gz
+ 7e55bea5482dc34d4140c2214db2d53f8458e7c58003460768589c5d5221d6d8 1689384 sisu_3.1.14.orig.tar.xz
+ 137ec96c26497d6cfc974247aa6c62c5d3ed51bd3a125fe99afa9c16d50b71d7 1389 sisu_3.1.14-1.dsc
+ 341c4622b170e842a94bea786fcd31e7ea0910aae00730c24064dccc3984e03a 292616 sisu_3.1.14-1.debian.tar.gz
* v3dv: sysenv, output_dir_structure, rewritten, affected code modified
diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_commands.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_commands.sst
index 253553a0..405b5b89 100644
--- a/data/doc/sisu/markup-samples/sisu_manual/sisu_commands.sst
+++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_commands.sst
@@ -63,6 +63,15 @@ produces plaintext with Unix linefeeds and without markup, (object numbers are o
!_ -b [filename/wildcard] \\
see --xhtml
+!_ -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
+
!_ --color-toggle [filename/wildcard] \\
screen toggle ansi screen colour on or off depending on default set (unless -c flag is used: if sisurc colour default is set to 'true', output to screen will be with colour, if sisurc colour default is set to 'false' or is undefined screen output will be without colour). Alias -c
@@ -72,14 +81,11 @@ configure/initialise shared output directory files initialize shared output dire
!_ --concordance [filename/wildcard] \\
produces concordance (wordmap) a rudimentary index of all the words in a document. (Concordance files are not generated for documents of over 260,000 words unless this limit is increased in the file sisurc.yml). Alias -w
-!_ -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
+!_ -D [instruction] [filename] \\
+see --pg
-!_ -c [filename/wildcard] \\
-see --color-toggle
+!_ -d [--db-[database type (sqlite|pg)]] --[instruction] [filename] \\
+see --sqlite
!_ --dal [filename/wildcard/url] \\
assumed for most other flags, creates new intermediate files for processing (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
@@ -90,20 +96,28 @@ see --zap
!_ --dump[=directory_path] [filename/wildcard] \\
places output in directory specified, if none is specified in the current directory (pwd). Compare --redirect
-!_ -D [instruction] [filename] \\
-see --pg
-
-!_ -d [--db-[database type (sqlite|pg)]] --[instruction] [filename] \\
-see --sqlite
+!_ -e [filename/wildcard] \\
+see --epub
!_ --epub [filename/wildcard] \\
produces an epub document, [sisu version >=2 ] (filename.epub). Alias -e
-!_ -e [filename/wildcard] \\
-see --epub
-
-!_ --find [optional string part of filename] \\
-without match string, glob all .sst .ssm files in directory (including language subdirectories). With match string, find files that match given string in directory (including language subdirectories). Alias -f, --glob, -G
+!_ --exc-* \\
+exclude output feature, overrides configuration settings
+ --exc-ocn, (exclude object citation numbering, affects html (seg, scroll), epub, xhtml, xml);
+ --exc-toc, (exclude table of contents, affects html (scroll), epub, pdf);
+ --exc-links-to-manifest, --exc-manifest-links, (exclude links to manifest, affects html (seg, scroll));
+ --exc-search-form, (exclude search form, affects html (seg, scroll), manifest);
+ --exc-minitoc, (exclude mini table of contents, affects html (seg), concordance, manifest);
+ --exc-manifest-minitoc, (exclude mini table of contents, affects manifest);
+ --exc-html-minitoc, (exclude mini table of contents, affects html (seg), concordance);
+ --exc-html-navigation, (exclude navigation, affects html (seg));
+ --exc-html-navigation-bar, (exclude navigation bar, affects html (seg));
+ --exc-html-search-form, (exclude search form, affects html (seg, scroll));
+ --exc-html-right-pane, (exclude right pane/column, affects html (seg, scroll));
+ --exc-html-top-band, (exclude top band, affects html (seg, scroll), concordance (minitoc forced on to provide seg navigation));
+ --exc-segsubtoc (exclude sub table of contents, affects html (seg), epub);
+see also --inc-*
!_ -F [--webserv=webrick] \\
see --sample-search-form
@@ -111,11 +125,8 @@ see --sample-search-form
!_ -f [optional string part of filename] \\
see --find
-!_ --git [filename/wildcard] \\
-produces or updates markup source file structure in a git repo (experimental and subject to change). Alias -g
-
-!_ --glob [optional string part of filename] \\
-see --find
+!_ --find [optional string part of filename] \\
+without match string, glob all .sst .ssm files in directory (including language subdirectories). With match string, find files that match given string in directory (including language subdirectories). Alias -f, --glob, -G
!_ -G [optional string part of filename] \\
see --find
@@ -123,6 +134,15 @@ see --find
!_ -g [filename/wildcard] \\
see --git
+!_ --git [filename/wildcard] \\
+produces or updates markup source file structure in a git repo (experimental and subject to change). Alias -g
+
+!_ --glob [optional string part of filename] \\
+see --find
+
+!_ -h [filename/wildcard] \\
+see --html
+
!_ --harvest *.ss[tm] \\
makes two lists of sisu output based on the sisu markup documents in a directory: list of author and authors works (year and titles), and; list by topic with titles and author. Makes use of header metadata fields (author, title, date, topic_register). Can be used with maintenance (-M) and remote placement (-R) flags.
@@ -132,15 +152,16 @@ provides help on the selected topic, where topics (keywords) include: list, (com
!_ --html [filename/wildcard] \\
produces html output, segmented text with table of contents (toc.html and index.html) and the document in a single file (scroll.html). Alias -h
-!_ -h [filename/wildcard] \\
-see --html
-
!_ -I [filename/wildcard] \\
see --texinfo
!_ -i [filename/wildcard] \\
see --manpage
+!_ --inc-* \\
+include output feature, overrides configuration settings, (usually the default if none set), has precedence over --exc-* (exclude output feature). Some detail provided under --exc-*,
+see --exc-*
+
!_ -j [filename/wildcard] \\
copies images associated with a file for use by html, xhtml & xml outputs (automatically invoked by --dump & redirect).
@@ -150,6 +171,12 @@ see --maintenance
!_ -L \\
prints license information.
+!_ -M [filename/wildcard/url] \\
+see --maintenance
+
+!_ -m [filename/wildcard/url] \\
+see --dal (document abstraction level/layer)
+
!_ --machine [filename/wildcard/url] \\
see --dal (document abstraction level/layer)
@@ -159,29 +186,32 @@ maintenance mode, interim processing files are preserved and their locations ind
!_ --manpage [filename/wildcard] \\
produces man page of file, not suitable for all outputs. Alias -i
-!_ -M [filename/wildcard/url] \\
-see --maintenance
-
-!_ -m [filename/wildcard/url] \\
-see --dal (document abstraction level/layer)
-
-!_ --no-ocn \\
-[with --html --pdf or --epub] switches off object citation numbering. Produce output without identifying numbers in margins of html or LaTeX/pdf output.
-
!_ -N [filename/wildcard/url] \\
document digest or document content certificate ( DCC ) as md5 digest tree of the document: the digest for the document, and digests for each object contained within the document (together with information on software versions that produced it) (digest.txt). -NV for verbose digest output to screen.
!_ -n [filename/wildcard/url] \\
skip the creation of intermediate processing files (document abstraction) if they already exist, this skips the equivalent of -m which is otherwise assumed by most processing flags.
+!_ --no-* \\
+see --exc-*
+
+!_ --no-ocn \\
+[with --html --pdf or --epub] switches off object citation numbering. Produce output without identifying numbers in margins of html or LaTeX/pdf output.
+
+!_ -o [filename/wildcard/url] \\
+see --odt
+
!_ --odf [filename/wildcard/url] \\
see --odt
!_ --odt [filename/wildcard/url] \\
output basic document in opendocument file format (opendocument.odt). Alias -o
-!_ -o [filename/wildcard/url] \\
-see --odt
+!_ -P [language_directory/filename language_directory] \\
+see --po4a
+
+!_ -p [filename/wildcard] \\
+see --pdf
!_ --pdf [filename/wildcard] \\
produces LaTeX pdf (portrait.pdf & landscape.pdf). Default paper size is set in config file, or document header, or provided with additional command line parameter, e.g. --papersize-a4 preset sizes include: 'A4', U.S. 'letter' and 'legal' and book sizes 'A5' and 'B5' (system defaults to A4). Alias -p
@@ -195,11 +225,11 @@ see --po4a
!_ --po4a [language_directory/filename language_directory] \\
produces .pot and po files for the file in the languages specified by the language directory. SiSU markup is placed in subdirectories named with the language code, e.g. en/ fr/ es/. The sisu config file must set the output directory structure to multilingual. v3, experimental
-!_ -P [language_directory/filename language_directory] \\
-see --po4a
+!_ -Q [filename/wildcard] \\
+see --qrcode
-!_ -p [filename/wildcard] \\
-see --pdf
+!_ -q [filename/wildcard] \\
+see --quiet
!_ --qrcode [filename/wildcard] \\
generate QR code image of metadata (used in manifest). v3 only.
@@ -207,11 +237,11 @@ generate QR code image of metadata (used in manifest). v3 only.
!_ --quiet [filename/wildcard] \\
quiet less output to screen.
-!_ -Q [filename/wildcard] \\
-see --qrcode
+!_ -R [filename/wildcard] \\
+see --rsync
-!_ -q [filename/wildcard] \\
-see --quiet
+!_ -r [filename/wildcard] \\
+see --scp
!_ --redirect[=directory_path] [filename/wildcard] \\
places output in subdirectory under specified directory, subdirectory uses the filename (without the suffix). If no output directory is specified places the subdirectory under the current directory (pwd). Compare --dump
@@ -219,11 +249,14 @@ places output in subdirectory under specified directory, subdirectory uses the f
!_ --rsync [filename/wildcard] \\
copies sisu output files to remote host using rsync. 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. Note the behavior of rsync different if -R is used with other flags from if used alone. Alone the rsync --delete parameter is sent, useful for cleaning the remote directory (when -R is used together with other flags, it is not). Also see --scp. Alias -R
-!_ -R [filename/wildcard] \\
-see --rsync
+!_ -S \\
+see --sisupod
-!_ -r [filename/wildcard] \\
-see --scp
+!_ -S [filename/wildcard] \\
+see --sisupod
+
+!_ -s [filename/wildcard] \\
+see --source
!_ --sample-search-form [--webserv=webrick] \\
generate examples of (naive) cgi search form for sqlite and pgsql depends on your already having used sisu to populate an sqlite and/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 -d -D and the database section below. If the optional parameter --webserv=webrick is passed, the cgi examples created will be set up to use the default port set for use by the webrick server, (otherwise the port is left blank and the system setting used, usually 80). 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
@@ -232,7 +265,7 @@ generate examples of (naive) cgi search form for sqlite and pgsql depends on you
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
!_ --sqlite --[instruction] [filename] \\
-database type default set to sqlite, (for which --sqlite may be used instead) or to specify another database --db-[pgsql, sqlite] (however see -D) possible instructions include: --createdb; --create; --dropall; --import [filename]; --update [filename]; --remove [filename]; see database section below. Alias -d
+database type set to sqlite, this produces one of two possible databases, without additional database related instructions it produces a discreet sqlite file for the document processed; with additional instructions it produces a common sqlite database of all processed documents that (come from the same document preparation directory and as a result) share the same output directory base path (possible instructions include: --createdb; --create; --dropall; --import [filename]; --update [filename]; --remove [filename]); see database section below. Alias -d
!_ --sisupod \\
produces a sisupod a zipped sisu directory of markup files including sisu markup source files and the directories local configuration file, images and skins. Note: this only includes the configuration files or skins contained in ./_sisu not those in ~/.sisu -S [filename/wildcard] option. Note: (this option is tested only with zsh). Alias -S
@@ -243,14 +276,11 @@ produces a zipped file of the prepared document specified along with associated
!_ --source [filename/wildcard] \\
copies sisu markup file to output directory. Alias -s
-!_ -S \\
-see --sisupod
-
-!_ -S [filename/wildcard] \\
-see --sisupod
+!_ -T [filename/wildcard (*.termsheet.rb)] \\
+standard form document builder, preprocessing feature
-!_ -s [filename/wildcard] \\
-see --source
+!_ -t [filename/wildcard] \\
+see --txt
!_ --texinfo [filename/wildcard] \\
produces texinfo and info file, (view with pinfo). Alias -I
@@ -258,29 +288,14 @@ produces texinfo and info file, (view with pinfo). Alias -I
!_ --txt [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). Alias -t
-!_ -T [filename/wildcard (*.termsheet.rb)] \\
-standard form document builder, preprocessing feature
-
-!_ -t [filename/wildcard] \\
-see --txt
-
-!_ --urls [filename/wildcard] \\
-prints url output list/map for the available processing flags options and resulting files that could be requested, (can be used to get a list of processing options in relation to a file, together with information on the output that would be produced), -u provides url output mapping for those flags requested for processing. The default assumes sisu_webrick is running and provides webrick url mappings where appropriate, but these can be switched to file system paths in sisurc.yml. Alias -U
-
!_ -U [filename/wildcard] \\
see --urls
!_ -u [filename/wildcard] \\
provides url mapping of output files for the flags requested for processing, also see -U
-!_ --v2 [filename/wildcard] \\
-invokes the sisu v2 document parser/generator. This is the default and is normally omitted.
-
-!_ --v3 [filename/wildcard] \\
-invokes the sisu v3 document parser/generator. Currently under development and incomplete, v3 requires >= ruby1.9.2p180. You may run sisu3 instead.
-
-!_ --verbose [filename/wildcard] \\
-provides verbose output of what is being generated, where output is placed (and error messages if any), as with -u flag provides a url mapping of files created for each of the processing flag requests. Alias -v
+!_ --urls [filename/wildcard] \\
+prints url output list/map for the available processing flags options and resulting files that could be requested, (can be used to get a list of processing options in relation to a file, together with information on the output that would be produced), -u provides url output mapping for those flags requested for processing. The default assumes sisu_webrick is running and provides webrick url mappings where appropriate, but these can be switched to file system paths in sisurc.yml. Alias -U
!_ -V \\
on its own, provides SiSU version and environment information (sisu --help env)
@@ -294,16 +309,25 @@ on its own, provides SiSU version information
!_ -v [filename/wildcard] \\
see --verbose
-!_ --webrick \\
-starts ruby's webrick webserver points at sisu output directories, the default port is set to 8081 and can be changed in the resource configuration files. [tip: the webrick server requires link suffixes, so html output should be created using the -h option rather than -H ; also, note -F webrick ]. Alias -W
+!_ --v2 [filename/wildcard] \\
+invokes the sisu v2 document parser/generator. This is the default and is normally omitted.
+
+!_ --v3 [filename/wildcard] \\
+invokes the sisu v3 document parser/generator. Currently under development and incomplete, v3 requires >= ruby1.9.2p180. You may run sisu3 instead.
+
+!_ --verbose [filename/wildcard] \\
+provides verbose output of what is being generated, where output is placed (and error messages if any), as with -u flag provides a url mapping of files created for each of the processing flag requests. Alias -v
!_ -W \\
see --webrick
-!_ --wordmap [filename/wildcard] \\
+!_ -w [filename/wildcard] \\
see --concordance
-!_ -w [filename/wildcard] \\
+!_ --webrick \\
+starts ruby's webrick webserver points at sisu output directories, the default port is set to 8081 and can be changed in the resource configuration files. [tip: the webrick server requires link suffixes, so html output should be created using the -h option rather than -H ; also, note -F webrick ]. Alias -W
+
+!_ --wordmap [filename/wildcard] \\
see --concordance
!_ --xhtml [filename/wildcard] \\
@@ -327,12 +351,12 @@ produces a short sitemap entry for the document, based on html output and the si
!_ -y [filename/wildcard] \\
produces an html summary of output generated (hyperlinked to content) and document specific metadata (sisu_manifest.html). This step is assumed for most processing flags.
-!_ --zap [filename/wildcard] \\
-Zap, if used with other processing flags deletes output files of the type about to be processed, prior to processing. If -Z is used as the lone processing related flag (or in conjunction with a combination of -[mMvVq]), will remove the related document output directory. Alias -Z
-
!_ -Z [filename/wildcard] \\
see --zap
+!_ --zap [filename/wildcard] \\
+Zap, if used with other processing flags deletes output files of the type about to be processed, prior to processing. If -Z is used as the lone processing related flag (or in conjunction with a combination of -[mMvVq]), will remove the related document output directory. Alias -Z
+
1~command_modifiers command line modifiers
!_ --no-ocn \\
diff --git a/data/sisu/v3/v/version.yml b/data/sisu/v3/v/version.yml
index 38c6f821..7e565f62 100644
--- a/data/sisu/v3/v/version.yml
+++ b/data/sisu/v3/v/version.yml
@@ -1,5 +1,5 @@
---
-:version: 3.1.14
-:date_stamp: 2012w07/2
-:date: "2012-02-14"
+:version: 3.1.15
+:date_stamp: 2012w11/1
+:date: "2012-03-12"
:project: SiSU
diff --git a/data/sisu/v3dv/conf/editor-syntax-etc/vim/syntax/sisu.vim b/data/sisu/v3dv/conf/editor-syntax-etc/vim/syntax/sisu.vim
index 4545ee8f..71d72d3a 100644
--- a/data/sisu/v3dv/conf/editor-syntax-etc/vim/syntax/sisu.vim
+++ b/data/sisu/v3dv/conf/editor-syntax-etc/vim/syntax/sisu.vim
@@ -1,7 +1,7 @@
" SiSU Vim syntax file
" SiSU Maintainer: Ralph Amissah <ralph@amissah.com>
-" SiSU Markup: SiSU (sisu-3.1.0)
-" Last Change: 2011-10-03
+" SiSU Markup: SiSU (sisu-3.2.0)
+" Last Change: 2012-03-06
" URL: <http://git.sisudoc.org/?p=code/sisu.git;a=blob;f=data/sisu/v3/conf/editor-syntax-etc/vim/syntax/sisu.vim;hb=HEAD>
"(originally looked at Ruby Vim by Mirko Nasato)
@@ -46,7 +46,7 @@ if !exists("sisu_no_identifiers")
syn match sisu_sub_header_classify "^\s\+:\(topic_register\|coverage\|format\|identifier\|keywords\|relation\|subject\|type\|dewey\|loc\|oclc\|pg\|isbn\):\s"
syn match sisu_sub_header_date "^\s\+:\(added_to_site\|available\|created\|issued\|modified\|published\|valid\|translated\|original_publication\):\s"
syn match sisu_sub_header_original "^\s\+:\(publisher\|date\|language\|lang_char\|institution\|nationality\|source\):\s"
- syn match sisu_sub_header_make "^\s\+:\(headings\|num_top\|breaks\|language\|italics\|bold\|emphasis\|plaintext_wrap\|texpdf_font_mono\|texpdf_font\|skin\|stamp\|promo\|ad\|manpage\):\s"
+ syn match sisu_sub_header_make "^\s\+:\(headings\|num_top\|breaks\|language\|italics\|bold\|emphasis\|omit\|plaintext_wrap\|texpdf_font_mono\|texpdf_font\|skin\|stamp\|promo\|ad\|manpage\):\s"
syn match sisu_sub_header_notes "^\s\+:\(abstract\|comment\|description\|history\|prefix\|prefix_[ab]\|suffix\):\s"
"% "semantic markers: (ignore)
diff --git a/data/sisu/v3dv/v/version.yml b/data/sisu/v3dv/v/version.yml
index f99d49f7..cf6ccb69 100644
--- a/data/sisu/v3dv/v/version.yml
+++ b/data/sisu/v3dv/v/version.yml
@@ -1,5 +1,5 @@
---
-:version: 3.2.0~pre_3.1.14
-:date_stamp: 2012w07/2
-:date: "2012-02-14"
+:version: 3.2.0~pre_3.1.15
+:date_stamp: 2012w11/1
+:date: "2012-03-12"
:project: SiSU
diff --git a/lib/sisu/v3dv/concordance.rb b/lib/sisu/v3dv/concordance.rb
index 7ec234bc..3d8ab38a 100644
--- a/lib/sisu/v3dv/concordance.rb
+++ b/lib/sisu/v3dv/concordance.rb
@@ -122,7 +122,18 @@ WOK
head_banner=SiSU_HTML_Format::HeadToc.new(@md)
minitoc=SiSU_HTML_MiniToc::TocMini.new(@md,@data).songsheet.join("\n")
stylesheet=SiSU_Style::CSS_HeadInfo.new(@md).stylesheet
- toc='<div class="toc">' + minitoc + '</div>'
+ make=SiSU_Env::ProcessingSettings.new(@md)
+ if make.build.manifest_minitoc?
+ toc='<div class="toc">' + minitoc + '</div>'
+ div_class='content'
+ else
+ toc=''
+ div_class='content0'
+ end
+ top_band=if make.build.html_top_band?
+ head_banner.concordance_navigation_band('pdf')
+ else ''
+ end
<<WOK
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
@@ -141,9 +152,9 @@ WOK
</head>
<body>
#{@vz.js_top}
- #{head_banner.concordance_navigation_band('pdf')}
+ #{top_band}
#{toc}
-<div class="content">
+<div class="#{div_class}">
#{@doc_details}
<p>Word index links are to html versions of the text the segmented version followed by the scroll (single document) version.<br />[For segmented text references [T1], [T2] or [T3] appearing without a link, indicates that the word appears in a title (or subtitle) of the text (that is identifiable by the appended object citation number).]</p>
<p>(The word listing/index is Case sensitive: Capitalized words appear before lower case)</p>
diff --git a/lib/sisu/v3dv/css.rb b/lib/sisu/v3dv/css.rb
index cdcd16cd..cbbd05ca 100644
--- a/lib/sisu/v3dv/css.rb
+++ b/lib/sisu/v3dv/css.rb
@@ -64,7 +64,7 @@ module SiSU_Style
@md,@ft=md,ft
@env=SiSU_Env::InfoEnv.new('',md)
@fn_css ||=SiSU_Env::CSS_Default.new
- @o_str ||=SiSU_Env::OutputStructure.new(md).output_dir_structure
+ @o_str ||=SiSU_Env::ProcessingSettings.new(md).output_dir_structure
css_copy
end
def stylesheet
@@ -107,12 +107,12 @@ module SiSU_Style
end
def css_head
(css_embed?) \
- ? css_action\
+ ? css_action
: "#{css_path.html}#{css_path.html_seg}"
end
def css_head_seg
(css_embed?) \
- ? css_action \
+ ? css_action
: css_path.html_seg
end
def css_head_xml
@@ -1534,12 +1534,12 @@ WOK
padding-left: 1em;
padding-right: 1em;
}
-/*
- div.content {
- margin-left: 1em;
- margin-right: 1em;
+ div.content0, div.main_column0 {
+ margin: 0;
+ padding: 0;
+ border-left: 0% solid #ffffff;
+ padding-left: 5%;
}
-*/
div.scroll {
margin: 0;
padding: 0;
diff --git a/lib/sisu/v3dv/dal_expand_insertions.rb b/lib/sisu/v3dv/dal_expand_insertions.rb
index 9e675bc4..ef25fcdd 100644
--- a/lib/sisu/v3dv/dal_expand_insertions.rb
+++ b/lib/sisu/v3dv/dal_expand_insertions.rb
@@ -141,7 +141,7 @@ module SiSU_DAL_Insertions
def xml_dom
"#{@base_path}/xml/#{@linked_doc}.xml"
end
- def txt
+ def txt
"#{@base_path}/txt/#{@linked_doc}.txt"
end
def digest
@@ -241,7 +241,7 @@ module SiSU_DAL_Insertions
def xml_dom
"#{@base_path}/scroll.#{@lng}.dom.xml"
end
- def txt
+ def txt
"#{@base_path}/plain.#{@lng}.txt"
end
def digest
@@ -277,10 +277,10 @@ module SiSU_DAL_Insertions
pre=pre.strip
elsif /\{(?<txt>.+?)\s\[(?<cmd>\d[sS]*)\]\}(?<source>(?<linked_doc>\S+?)\.ss[tm]\b)(?<note>.*)/m =~ para
end
- if linked_doc =~ /(\S+?)\/(\S+)/
+ if linked_doc =~ /(\S+?)\/(\S+)/
linked_doc,linked_doc_lang=$1,$2
else
- linked_doc,linked_doc_lang=linked_doc,@md.opt.lng_base
+ linked_doc,linked_doc_lang=linked_doc,@md.opt.lng_base
end
else
puts "error, does currently support relative paths (reltive paths were removed, as had problems for citation, and was not suited to all output types should possibly reconsider) #{__FILE__} #{__LINE__}"
diff --git a/lib/sisu/v3dv/db_create.rb b/lib/sisu/v3dv/db_create.rb
index 6420c3ec..627f0ea5 100644
--- a/lib/sisu/v3dv/db_create.rb
+++ b/lib/sisu/v3dv/db_create.rb
@@ -81,9 +81,9 @@ module SiSU_DbCreate
def create_db
@env=SiSU_Env::InfoEnv.new(@opt.fns)
tell=(@sql_type=='sqlite') \
- ? SiSU_Screen::Ansi.new(@opt.cmd,'invert','Create Sqlite db tables in:',%{"#{@env.path.output}/sisu_sqlite.db"})
+ ? SiSU_Screen::Ansi.new(@opt.cmd,'invert','Create Sqlite db tables in:',%{"#{@file}"})
: SiSU_Screen::Ansi.new(@opt.cmd,'invert','Create PG db tables in:',%{"#{Db[:name_prefix]}#{@env.path.stub_pwd}"})
- tell.colorize if @opt.cmd =~/vVM/
+ tell.colorize if @opt.cmd =~/[vVM]/
SiSU_Env::SystemCall.new.create_pg_db(@env.path.stub_pwd) if @sql_type=='pg' #watch use of path.stub_pwd instead of stub
end
def output_dir?
diff --git a/lib/sisu/v3dv/db_dbi.rb b/lib/sisu/v3dv/db_dbi.rb
index f15b2456..0c19578f 100644
--- a/lib/sisu/v3dv/db_dbi.rb
+++ b/lib/sisu/v3dv/db_dbi.rb
@@ -69,17 +69,17 @@ module SiSU_DbDBI
require_relative 'db_import' # db_import.rb
class ColumnSize < SiSU_DbColumns::ColumnSize # db_columns.rb
end
- class Test < SiSU_DbTests::Test # db_tests.rb
+ class Test < SiSU_DbTests::Test # db_tests.rb
end
- class Create <SiSU_DbCreate::Create # db_create.rb
+ class Create <SiSU_DbCreate::Create # db_create.rb
end
- class Case <SiSU_DbSelect::Case # db_select.rb
+ class Case <SiSU_DbSelect::Case # db_select.rb
end
- class Index <SiSU_DbIndex::Index # db_indexes.rb
+ class Index <SiSU_DbIndex::Index # db_indexes.rb
end
- class Drop <SiSU_DbDrop::Drop # db_drop.rb
+ class Drop <SiSU_DbDrop::Drop # db_drop.rb
end
- class Remove <SiSU_DbRemove::Remove # db_remove.rb
+ class Remove <SiSU_DbRemove::Remove # db_remove.rb
end
class LoadDocuments <SiSU_DbTuple::LoadDocuments # db_load_tuple.rb
end
diff --git a/lib/sisu/v3dv/db_drop.rb b/lib/sisu/v3dv/db_drop.rb
index 97bf8665..4b9aba7d 100644
--- a/lib/sisu/v3dv/db_drop.rb
+++ b/lib/sisu/v3dv/db_drop.rb
@@ -104,7 +104,7 @@ module SiSU_DbDrop
sdb.create_table.endnotes_plus
sdb.create_table.urls
sdb_index.create_indexes
- rescue; SiSU_Errors::InfoError.new($!,$@,'-D').error; @sdb.output_dir?
+ rescue; SiSU_Errors::InfoError.new($!,$@,'-D').error; sdb.output_dir?
end
exit
else
diff --git a/lib/sisu/v3dv/db_select.rb b/lib/sisu/v3dv/db_select.rb
index bab898f0..52fbe8ba 100644
--- a/lib/sisu/v3dv/db_select.rb
+++ b/lib/sisu/v3dv/db_select.rb
@@ -108,56 +108,56 @@ module SiSU_DbSelect
when /^--createdb$/
@sdb.output_dir?
begin
- @sdb.create_db
+ @sdb.create_db
rescue; @sdb.output_dir?
end
when /^--(?:init(?:ialize)?|create(?:all)?)$/
@sdb.output_dir?
begin
- @sdb.create_table.metadata_and_text
- @sdb.create_table.doc_objects
- @sdb.create_table.endnotes
- @sdb.create_table.endnotes_asterisk
- @sdb.create_table.endnotes_plus
- @sdb.create_table.urls
- @sdb_index.create_indexes
+ @sdb.create_table.metadata_and_text
+ @sdb.create_table.doc_objects
+ @sdb.create_table.endnotes
+ @sdb.create_table.endnotes_asterisk
+ @sdb.create_table.endnotes_plus
+ @sdb.create_table.urls
+ @sdb_index.create_indexes
rescue; SiSU_Errors::InfoError.new($!,$@,'-D').error; @sdb.output_dir?
end
when /^--createtables?$/
@sdb.output_dir?
begin
- @sdb.create_table.metadata_and_text
- @sdb.create_table.doc_objects
- @sdb.create_table.endnotes
- @sdb.create_table.endnotes_asterisk
- @sdb.create_table.endnotes_plus
- @sdb.create_table.urls
- @sdb_index.create_indexes
+ @sdb.create_table.metadata_and_text
+ @sdb.create_table.doc_objects
+ @sdb.create_table.endnotes
+ @sdb.create_table.endnotes_asterisk
+ @sdb.create_table.endnotes_plus
+ @sdb.create_table.urls
+ @sdb_index.create_indexes
rescue; @sdb.output_dir?
end
when /^--recreate$/
@sdb.output_dir?
begin
- @sdb_no.drop.tables
- @sdb.create_table.metadata_and_text
- @sdb.create_table.doc_objects
- @sdb.create_table.endnotes
- @sdb.create_table.endnotes_asterisk
- @sdb.create_table.endnotes_plus
- @sdb.create_table.urls
- @sdb_index.create_indexes
+ @sdb_no.drop.tables
+ @sdb.create_table.metadata_and_text
+ @sdb.create_table.doc_objects
+ @sdb.create_table.endnotes
+ @sdb.create_table.endnotes_asterisk
+ @sdb.create_table.endnotes_plus
+ @sdb.create_table.urls
+ @sdb_index.create_indexes
rescue; @sdb.output_dir?
end
when /^--cr(eate)?lex$/
@sdb.output_dir?
begin
- @sdb.create_table.doc_objects
+ @sdb.create_table.doc_objects
rescue; @sdb.output_dir?
end
when /^--cr(eate)?metadata$/
@sdb.output_dir?
begin
- @sdb.create_table.metadata_and_text
+ @sdb.create_table.metadata_and_text
rescue; @sdb.output_dir?
end
when /^--import$/
diff --git a/lib/sisu/v3dv/dbi.rb b/lib/sisu/v3dv/dbi.rb
index e0bd169e..f11d9e81 100644
--- a/lib/sisu/v3dv/dbi.rb
+++ b/lib/sisu/v3dv/dbi.rb
@@ -71,7 +71,7 @@ module SiSU_DBI
SiSU_Env::Load.new('dbi',true).prog
@opt=opt
@db=SiSU_Env::InfoDb.new
- if @opt.cmd =~/d/i \
+ if @opt.cmd =~/[Dd]/ \
or @opt.mod.inspect =~/--(pg(?:sql)?|(?:sq)?lite)/
@sql_type=if @opt.cmd=~/D/ \
or @opt.mod.inspect =~/--pg(?:sql)?/
diff --git a/lib/sisu/v3dv/dbi_discreet.rb b/lib/sisu/v3dv/dbi_discreet.rb
new file mode 100644
index 00000000..d9ecd8e7
--- /dev/null
+++ b/lib/sisu/v3dv/dbi_discreet.rb
@@ -0,0 +1,158 @@
+# encoding: utf-8
+=begin
+
+ * Name: SiSU
+
+ * Description: a framework for document structuring, publishing and search
+
+ * Author: Ralph Amissah
+
+ * Copyright: (C) 1997 - 2012, 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.jus.uio.no/sisu/gpl.fsf/toc.html>
+ <http://www.jus.uio.no/sisu/gpl.fsf/doc.html>
+ <http://www.jus.uio.no/sisu/gpl.fsf/plain.txt>
+
+ * 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.jus.uio.no/sisu/SiSU/download.html>
+
+ * Ralph Amissah
+ <ralph@amissah.com>
+ <ralph.amissah@gmail.com>
+
+ ** Description: postgresql module, dbi import frame
+
+=end
+module SiSU_DBI_Discreet #% database building
+ require_relative 'help' # help.rb
+ require_relative 'sysenv' # sysenv.rb
+ include SiSU_Env; include SiSU_Screen
+ require_relative 'param' # param.rb
+ include SiSU_Param
+ require_relative 'db_dbi' # db_dbi.rb
+ include SiSU_DbDBI
+ require_relative 'shared_html_lite' # shared_html_lite.rb
+ include SiSU_FormatShared
+ require 'fileutils'
+ include FileUtils::Verbose
+ class SQL
+ def initialize(opt)
+ SiSU_Env::Load.new('dbi',true).prog
+ @opt=opt
+ @particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt)
+ @md=@particulars.md
+ if @opt.cmd =~/[d]/ \
+ or @opt.mod.inspect =~/--((?:sq)?lite)/
+ @sql_type='sqlite'
+ maintenance_check(@opt,__FILE__,__LINE__) if @opt.cmd.inspect =~/M/
+ end
+ @output_path=@md.file.output_path.sqlite_discreet.dir
+ @filename=@md.file.base_filename.sqlite_discreet
+ @file="#{@output_path}/#{@filename}"
+ end
+ def build
+ prepare
+ create_and_populate
+ end
+ def maintenance_check(opt,file,line)
+ p opt.mod
+ p opt.cmd
+ p "at #{file} #{line}"
+ end
+ def prepare
+ if not FileTest.directory?(@output_path)
+ FileUtils::mkdir_p(@output_path)
+ elsif @file
+ FileUtils::rm_rf(@file)
+ end
+ end
+ def db_exist?(db,conn)
+ msg=%{no connection with sqlite database established, createdb "#{db.sqlite.db}"?}
+ if (not (FileTest.file?(db.sqlite.db)) \
+ or FileTest.zero?(db.sqlite.db))
+ puts msg
+ exit
+ end
+ if conn.class==NilClass
+ puts msg
+ exit
+ end
+ end
+ def create_and_populate
+ db=SiSU_Env::DbOp.new(@md)
+ conn=db.sqlite_discreet.conn_sqlite3
+ sdb=SiSU_DbDBI::Create.new(@opt,conn,@file,'sqlite')
+ sdb_index=SiSU_DbDBI::Index.new(@opt,conn,@file,'sqlite')
+ sdb.output_dir?
+ begin
+ sdb.create_db
+ sdb.create_table.metadata_and_text
+ sdb.create_table.doc_objects
+ sdb.create_table.endnotes
+ sdb.create_table.endnotes_asterisk
+ sdb.create_table.endnotes_plus
+ sdb.create_table.urls
+ sdb_index.create_indexes
+ db_exist?(db,conn)
+ sdb_import=SiSU_DbDBI::Import.new(@opt,conn,@file,'sqlite')
+ sdb_import.marshal_load
+ tell=SiSU_Screen::Ansi.new(@opt.cmd,"sqlite3 #{db.sqlite.db} database?")
+ tell.puts_grey if @opt.cmd =~/v/
+ rescue; SiSU_Errors::InfoError.new($!,$@,'-d').error; sdb.output_dir?
+ end
+ end
+ def read_sqlite
+ begin
+ @conn=@db.sqlite.conn_sqlite3
+ rescue
+ ensure
+ end
+ end
+ def connect
+ begin
+ sql_type='sqlite'
+ SiSU_Screen::Ansi.new(@opt.cmd,"DBI (#{@sql_type}) #{@opt.mod}",@opt.fns).dbi_title unless @opt.cmd =~/q/
+ @db.sqlite_discreet.conn_sqlite3
+ rescue
+ SiSU_Errors::InfoError.new($!,$@,@cf,@opt.fns).error
+ ensure
+ end
+ end
+ def populate
+ end
+ end
+end
+__END__
diff --git a/lib/sisu/v3dv/defaults.rb b/lib/sisu/v3dv/defaults.rb
index eab42b71..e74ff83c 100644
--- a/lib/sisu/v3dv/defaults.rb
+++ b/lib/sisu/v3dv/defaults.rb
@@ -1890,7 +1890,7 @@ outputs include: plaintext, html, XHTML, XML, ODF (OpenDocument), EPUB, LaTeX, P
---
</p>
<p class="small">
- License, SiSU is licensed under
+ License, SiSU is licensed under
<a href="http://www.gnu.org/licenses/gpl.html" target="_top">
GPLv3 or later
</a>
@@ -2032,7 +2032,7 @@ as a developers tool it is flexible and extensible
</p>
<br />
<p class="small">
-<a href="http://www.sisudoc.org"><b>SiSU</b></a> at <a href="http://www.sisudoc.org">&lt;www.sisudoc.org&gt;</a> or <a href="http://www.jus.uio.no/sisu/">&lt;www.jus.uio.no/sisu/&gt;</a></p>
+<a href="http://www.sisudoc.org"><b>SiSU</b></a> at <a href="http://www.sisudoc.org">&lt;www.sisudoc.org&gt;</a> or <a href="http://www.jus.uio.no/sisu/">&lt;www.jus.uio.no/sisu/&gt;</a></p>
</div>
<div id="column_right">
<p class="tiny">
diff --git a/lib/sisu/v3dv/epub.rb b/lib/sisu/v3dv/epub.rb
index 7d90883b..e9aeb4de 100644
--- a/lib/sisu/v3dv/epub.rb
+++ b/lib/sisu/v3dv/epub.rb
@@ -192,6 +192,7 @@ module SiSU_EPUB
@vz=SiSU_Env::GetInit.instance.skin
@epub=SiSU_EPUB_Format::HeadInformation.new(@md)
@tell=SiSU_Screen::Ansi.new(@md.opt.cmd) if @md
+ @make=SiSU_Env::ProcessingSettings.new(@md)
end
def songsheet #extracts toc for scroll & seg
SiSU_Screen::Ansi.new(@md.opt.cmd,'Toc').txt_grey if @md.opt.cmd =~/[MVv]/
@@ -211,8 +212,10 @@ module SiSU_EPUB
@@toc[:seg] << %{<div class="content">\n<div class="substance">}
@@toc[:scr] << %{<div class="content">\n<div class="substance">}
md_opf_a_content << @epub.metadata_opf.manifest_content_sisu_toc
- md_opf_a_spine << @epub.metadata_opf.spine_sisu_toc
- md_opf_a_guide << @epub.metadata_opf.guide_sisu_toc
+ if @make.build.toc?
+ md_opf_a_spine << @epub.metadata_opf.spine_sisu_toc
+ md_opf_a_guide << @epub.metadata_opf.guide_sisu_toc
+ end
@ncxo=[nil,false,false,false,false,false,false]
@dob_toc2,@dob_toc3=nil,nil
@ncx_cls=[]
@@ -234,7 +237,8 @@ module SiSU_EPUB
@ncxo[1],@ncxo[2],@ncxo[3],@ncxo[4]=true,false,false,false
@epub.sections(dob_toc,name_s_a)
@@toc[:ncx] << @epub.toc_ncx.navpoint(dob_toc,@nav_no,name_s_a) if dob_toc
- if @level_a_first_occurrence
+ if @level_a_first_occurrence \
+ && @make.build.toc?
@nav_no+=1
@@toc[:ncx] << @epub.toc_ncx.navmap_sisu_toc(@nav_no) #epub ncx navmap, toc
@level_a_first_occurrence=false
@@ -298,7 +302,6 @@ module SiSU_EPUB
begin
@@toc[:seg] << toc[:seg]
@@toc[:scr] << toc[:seg]
- @@toc[:seg_mini] << toc[:seg_mini] if toc[:seg_mini]
rescue; SiSU_Errors::InfoError.new($!,$@,@md.opt.cmd,@md.fns).error
end
end
@@ -323,10 +326,6 @@ module SiSU_EPUB
@md.firstseg=@@firstseg
@@toc
end
- def minitoc
- minitoc=@@toc[:seg_mini].join("\n")
- '<div class="toc">' + minitoc + '</div>'
- end
protected
def level_1
dob=@data
@@ -348,14 +347,6 @@ module SiSU_EPUB
format_toc.lev0
else format_toc.lev1
end
- toc[:seg_mini]=if dob.name =~/^meta/ \
- and dob.obj =~/Document Information/ #check
- x=if @md.concord_make
- format_toc.mini_concord_tail
- else format_toc.mini_tail
- end
- else format_toc.mini_lev1
- end
title=if dob.ocn ==0
if dob.name =~/^meta/ \
and dob.obj =~/Document Information/
@@ -389,7 +380,6 @@ module SiSU_EPUB
format_toc=SiSU_EPUB_Format::FormatToc.new(@md,txt_obj)
toc={}
toc[:seg]=format_toc.lev2
- toc[:seg_mini]=format_toc.mini_lev2
if p_num
title=%{#{p_num.goto}#{linkname}</a>}
txt_obj={ txt: title }
@@ -409,7 +399,6 @@ module SiSU_EPUB
format_toc=SiSU_EPUB_Format::FormatToc.new(@md,txt_obj)
toc={}
toc[:seg]=format_toc.lev3
- toc[:seg_mini]=format_toc.mini_lev3
if p_num
title=%{#{p_num.goto}#{linkname}</a>}
txt_obj={ txt: title }
@@ -437,7 +426,6 @@ module SiSU_EPUB
format_toc=SiSU_EPUB_Format::FormatToc.new(@md,txt_obj)
toc={}
toc[:seg]=format_toc.lev4
- toc[:seg_mini]=format_toc.mini_lev4
title=%{#{p_num.goto}#{linkname}</a>} if p_num
txt_obj={ txt: title }
format_toc=SiSU_EPUB_Format::FormatToc.new(@md,txt_obj)
@@ -457,7 +445,6 @@ module SiSU_EPUB
txt_obj={ txt: lnk_n_txt }
format_toc=SiSU_EPUB_Format::FormatToc.new(@md,txt_obj)
toc[:seg]=format_toc.lev5
- toc[:seg_mini]=format_toc.mini_lev5
title=%{#{p_num.goto}#{linkname}</a>}
txt_obj={ txt: title }
format_toc=SiSU_EPUB_Format::FormatToc.new(@md,txt_obj)
@@ -478,7 +465,6 @@ module SiSU_EPUB
txt_obj={ txt: lnk_n_txt }
format_toc=SiSU_EPUB_Format::FormatToc.new(@md,txt_obj)
toc[:seg]=format_toc.lev6
- toc[:seg_mini]=format_toc.mini_lev6
title=%{#{p_num.goto}#{linkname}</a>}
txt_obj={ txt: title }
format_toc=SiSU_EPUB_Format::FormatToc.new(@md,txt_obj)
@@ -582,7 +568,8 @@ module SiSU_EPUB
@md,@output=md,output
@epub_doc="#{@md.fnb}.epub"
@epub_header=SiSU_EPUB_Format::HeadInformation.new(@md)
- @make=SiSU_Env::CreateFile.new(@md.fns)
+ @make=SiSU_Env::ProcessingSettings.new(@md)
+ @make_file=SiSU_Env::CreateFile.new(@md.fns)
end
def songsheet
mimetype
@@ -593,23 +580,23 @@ module SiSU_EPUB
output_zip
end
def mimetype
- out=@make.epub.mimetype
+ out=@make_file.epub.mimetype
out<<@epub_header.mimetype
out.close
end
def metainf_container #container.xml file in META-INF directory
- out=@make.epub.metainf_cont
+ out=@make_file.epub.metainf_cont
out<<@epub_header.metainf_container
out.close
end
def css
- out=@make.epub.xhtml_css
+ out=@make_file.epub.xhtml_css
out << SiSU_EPUB_Format::CSS.new.css_epub_xhtml
out.close
end
def epub_toc_ncx
begin
- out=@make.epub.toc_ncx
+ out=@make_file.epub.toc_ncx
@output.each do |para|
unless para =~/\A\s*\Z/
out.puts para
@@ -621,7 +608,7 @@ module SiSU_EPUB
end
def epub_metadata_opf
begin
- out=@make.epub.metadata
+ out=@make_file.epub.metadata
@output.each do |para|
unless para =~/\A\s*\Z/
out.puts para
@@ -663,17 +650,16 @@ module SiSU_EPUB
end
def segtoc
begin
- filename_html_segtoc=@make.epub.xhtml_segtoc
- filename_html_index=@make.epub.xhtml_index
- @output.each do |para|
- para=para.strip
- unless para =~/\A\s*\Z/
- filename_html_segtoc.puts para,"\n"
- filename_html_index.puts para,"\n"
+ if @make.build.toc?
+ filename_html_index=@make_file.epub.xhtml_index
+ @output.each do |para|
+ para=para.strip
+ unless para =~/\A\s*\Z/
+ filename_html_index.puts para,"\n"
+ end
end
+ filename_html_index.close
end
- filename_html_segtoc.close
- filename_html_index.close
rescue; SiSU_Errors::InfoError.new($!,$@,@md.opt.cmd,@md.fns).error
end
end
diff --git a/lib/sisu/v3dv/epub_format.rb b/lib/sisu/v3dv/epub_format.rb
index f88b6745..e11f5d3d 100644
--- a/lib/sisu/v3dv/epub_format.rb
+++ b/lib/sisu/v3dv/epub_format.rb
@@ -63,26 +63,22 @@ module SiSU_EPUB_Format
@md,@ocn=md,ocn.to_s
@ocn ||=''
vz=SiSU_Env::GetInit.instance.skin
- @skin_no_ocn=if defined? vz.ocn_display_off \
- and vz.ocn_display_off==true
- true
- else false
- end
end
def ocn_display
- if @md.markup.inspect =~/no_ocn/ \
- or @md.opt.mod.inspect =~/--no-ocn/ \
- or @skin_no_ocn
- ocn_class='ocn_off'
- @ocn.gsub(/^(\d+|)$/,
- %{<label class="#{ocn_class}">&nbsp;</label>})
- elsif @ocn.to_i==0
- @ocn.gsub(/^(\d+|)$/,
- %{<label class="#{ocn_class}">&nbsp;</label>})
- else
+ @make=SiSU_Env::ProcessingSettings.new(@md)
+ if @make.build.ocn?
ocn_class='ocn'
+ if @ocn.to_i==0
+ @ocn.gsub(/^(\d+|)$/,
+ %{<label class="#{ocn_class}">&nbsp;</label>})
+ else
+ @ocn.gsub(/^(\d+|)$/,
+ %{<label class="#{ocn_class}"><a href="#o\\1" class="lnk#{ocn_class}">\\1</a></label>})
+ end
+ else
+ ocn_class='ocn_off'
@ocn.gsub(/^(\d+|)$/,
- %{<label class="#{ocn_class}"><a href="#o\\1" class="lnk#{ocn_class}">\\1</a></label>})
+ %{<label class="#{ocn_class}">&nbsp;</label>})
end
end
def name
@@ -1198,36 +1194,6 @@ module SiSU_EPUB_Format
background-color: #f9f9aa;
}
- .minitoc {
- font-weight: normal;
- margin-top: 2px;
- margin-bottom: 2px;
- }
- h1.minitoc, h2.minitoc, h3.minitoc {
- margin-left: 0em;
- font-weight: bold;
- text-align: left;
- font-size: 90%;
- margin-top: 4px;
- margin-bottom: 4px;
- }
- h4.minitoc {
- margin-left: 0em;
- font-size: 90%;
- }
- h5.minitoc {
- margin-left: 1em;
- font-size: 85%;
- }
- h6.minitoc {
- margin-left: 2em;
- font-size: 85%;
- }
- h0.minitoc {
- margin-left: 0em;
- font-size: 90%;
- }
-
h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, p.c {
text-align: center
}
@@ -2123,52 +2089,6 @@ WOK
def initialize(md,txt)
super(md,txt)
end
- def navigation_toc_lev1_advert
- %{#{@banner.home_button}\n
-<p class="center">
-#{@txt}
-#{@two}
-</a></p>}
- end
- def navigation_toc_lev1
- %{#{@banner.nav_toc}}
- end
- def navigation_toc_lev2 #change bold use css
- %{<table summary="navigation segment level 2">
-<tr><td width ="20">
-</td>
-<td>
- <font size="3" #{@vz.font_face}>
- <b>#{@txt}</b>
- </font>
- </p>
-#{@vz.table_close}}
- end
- def navigation_toc_lev3 #change bold use css
- %{<table summary="navigation segment level 3">
-<tr><td width ="20">
-</td>
-<td>
- <font size="3" #{@vz.font_face}>
- <b>#{@txt}</b>
- </font>
- </p>
-#{@vz.table_close}}
- end
- def navigation_toc_lev4
- %{<table summary="navigation segment level 4">
-<tr><td width ="80">
-</td>
-<td>
-<p>
- #{@txt}
-</p>
-#{@vz.table_close}}
- end
- def navigation_toc_lev5
- end
- def navigation_toc_lev6
- 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
%{
@@ -2298,44 +2218,6 @@ WOK
def lev0 #docinfo
lev('h0','toc')
end
- def mini_lev1
- lev('h1','minitoc')
- end
- def mini_lev2
- lev('h2','minitoc')
- end
- def mini_lev3
- lev('h3','minitoc')
- end
- def mini_lev4
- lev('h4','minitoc')
- end
- def mini_lev5
- lev('h5','minitoc')
- end
- def mini_lev6
- lev('h6','minitoc')
- end
- def mini_lev0 #docinfo
- lev('h0','minitoc')
- end
- def mini_tail
- %{
- <h4 class="minitoc">
- <a href="sisu_manifest.html">Manifest (alternative outputs)</a>
- </h4>
-}
- end
- def mini_concord_tail
- %{
- <h4 class="minitoc">
- <a href="concordance.html">Concordance (wordlist)</a>
- </h4>
- <h4 class="minitoc">
- <a href="sisu_manifest.html">Manifest (alternative outputs)</a>
- </h4>
-}
- end
end
end
__END__
diff --git a/lib/sisu/v3dv/epub_segments.rb b/lib/sisu/v3dv/epub_segments.rb
index 96abfdc0..262fde3c 100644
--- a/lib/sisu/v3dv/epub_segments.rb
+++ b/lib/sisu/v3dv/epub_segments.rb
@@ -61,8 +61,8 @@ module SiSU_EPUB_Seg
require_relative 'epub' # epub.rb
require_relative 'shared_metadata' # shared_metadata.rb
class Output
- def initialize(md,outputfile,seg,minitoc,type='')
- @md,@output_epub_cont_seg,@seg,@minitoc,@type=md,outputfile,seg,minitoc,type
+ def initialize(md,outputfile,seg,type='')
+ @md,@output_epub_cont_seg,@seg,@type=md,outputfile,seg,type
end
def output #CONSIDER
if @seg[:title] =~/\S/
@@ -132,10 +132,10 @@ WOK
@vz=SiSU_Env::GetInit.instance.skin
@seg_name_xhtml=@@seg_name_xhtml || nil
@seg_name_xhtml_tracker=@@tracker || nil
+ @make=SiSU_Env::ProcessingSettings.new(@md) if @md
end
def songsheet
begin
- @minitoc=SiSU_EPUB::Source::Toc.new(@md,@data).minitoc
data=get_subtoc_endnotes(@data)
data=articles(data)
SiSU_EPUB_Seg::Seg.new.cleanup # (((( added ))))
@@ -231,15 +231,15 @@ WOK
output_epub_cont_seg=File.new(segfilename,'w') if @@seg_name_xhtml[tracking-1]
if dob.is==:heading \
or @@seg_name_xhtml[tracking-1] !~/endnotes|book_index|metadata/
- SiSU_EPUB_Seg::Output.new(@md,output_epub_cont_seg,@@seg,@minitoc).output
+ SiSU_EPUB_Seg::Output.new(@md,output_epub_cont_seg,@@seg).output
elsif dob.is==:heading_insert
if @@seg_name_xhtml[tracking-1]=='endnotes'
- SiSU_EPUB_Seg::Output.new(@md,output_epub_cont_seg,@@seg,@minitoc,'endnotes').output
+ SiSU_EPUB_Seg::Output.new(@md,output_epub_cont_seg,@@seg,'endnotes').output
elsif @@seg_name_xhtml[tracking-1]=='book_index'
- SiSU_EPUB_Seg::Output.new(@md,output_epub_cont_seg,@@seg,@minitoc,'idx').output
+ SiSU_EPUB_Seg::Output.new(@md,output_epub_cont_seg,@@seg,'idx').output
@@seg[:idx]=[]
elsif @@seg_name_xhtml[tracking-1]=='metadata' # navigation bug FIX
- SiSU_EPUB_Seg::Output.new(@md,output_epub_cont_seg,@@seg,@minitoc,'metadata').output
+ SiSU_EPUB_Seg::Output.new(@md,output_epub_cont_seg,@@seg,'metadata').output
else puts "#{__FILE__}::#{__LINE__}"
end
else puts "#{__FILE__}::#{__LINE__}"
@@ -250,7 +250,7 @@ WOK
if @@seg_name_xhtml[tracking] =='metadata'
segfilename="#{dir_epub_cont}/#{@@seg_name_xhtml[tracking]}#{Sfx[:epub_xhtml]}"
output_epub_cont_seg=File.new(segfilename,'w')
- SiSU_EPUB_Seg::Output.new(@md,output_epub_cont_seg,@@seg,@minitoc,'metadata').output
+ SiSU_EPUB_Seg::Output.new(@md,output_epub_cont_seg,@@seg,'metadata').output
SiSU_EPUB_Seg::Seg.new.reinitialise #BUG navigation bug with items following metadata, and occurring before manifest, this becomes a bug ... work area for book index, FIX
end
#@output_epub_cont_seg.close #%(((( EOF )))) -->
@@ -411,7 +411,9 @@ WOK
and dob.ln==4
@@seg[:main] << %{\n<div class="content">\n}
@@seg[:main] << dob_xhtml
- @@seg[:main] << @@seg_subtoc[@@get_hash_fn] #% insertion of sub-toc
+ if @make.build.segsubtoc?
+ @@seg[:main] << @@seg_subtoc[@@get_hash_fn] #% insertion of sub-toc
+ end
else
@@seg[:main] << dob_xhtml
end
diff --git a/lib/sisu/v3dv/harvest.rb b/lib/sisu/v3dv/harvest.rb
index 6bd87777..71adb0f0 100644
--- a/lib/sisu/v3dv/harvest.rb
+++ b/lib/sisu/v3dv/harvest.rb
@@ -78,7 +78,7 @@ module SiSU_Harvest
def help
puts <<WOK
harvest --harvest extracts document index metadata
-
+
WOK
end
def css(opt)
diff --git a/lib/sisu/v3dv/harvest_authors.rb b/lib/sisu/v3dv/harvest_authors.rb
index fa6934a5..5bb702be 100644
--- a/lib/sisu/v3dv/harvest_authors.rb
+++ b/lib/sisu/v3dv/harvest_authors.rb
@@ -70,8 +70,8 @@ module SiSU_Harvest_Authors
idx_array={}
@opt.f_pths.each do |y|
lang_hash_file_array={}
- name=y[:f]
- filename=y[:pth] + '/' + y[:f]
+ name=y[:f]
+ filename=y[:pth] + '/' + y[:f]
File.open(filename,'r') do |file|
file.each_line("\n\n") do |line|
if line =~/^@(?:title|creator|date):(?:\s|$)/m
diff --git a/lib/sisu/v3dv/harvest_topics.rb b/lib/sisu/v3dv/harvest_topics.rb
index 504e0a4d..dd7ec8c2 100644
--- a/lib/sisu/v3dv/harvest_topics.rb
+++ b/lib/sisu/v3dv/harvest_topics.rb
@@ -72,8 +72,8 @@ module SiSU_Harvest_Topics
idx_array={}
@opt.f_pths.each do |y|
lang_hash_file_array={}
- name=y[:f]
- filename=y[:pth] + '/' + y[:f]
+ name=y[:f]
+ filename=y[:pth] + '/' + y[:f]
File.open(filename,'r') do |file|
file.each_line("\n\n") do |line|
if line =~/^@(?:title|creator|classify):(?:\s|$)/m
diff --git a/lib/sisu/v3dv/html.rb b/lib/sisu/v3dv/html.rb
index 75d89382..fee51f2c 100644
--- a/lib/sisu/v3dv/html.rb
+++ b/lib/sisu/v3dv/html.rb
@@ -510,6 +510,7 @@ WOK
def initialize(md='',toc='',links_guide_toc='')
@md,@toc,@links_guide_toc=md,toc,links_guide_toc
@vz=SiSU_Env::GetInit.instance.skin
+ @make=SiSU_Env::ProcessingSettings.new(@md)
end
def in_common
toc_shared=[]
@@ -566,8 +567,9 @@ WOK
if defined? @md.prefix_b
toc_shared << prefix_b
end
- #Table of Contents added/appended here
- toc_shared << @toc[:scr]
+ scr_toc=if @make.build.toc? #Table of Contents added/appended here
+ toc_shared << @toc[:scr]
+ end
@segtoc << @links_guide_toc
@segtoc << @toc[:seg]
if defined? @md.rights.all \
@@ -608,7 +610,7 @@ WOK
def initialize(data='',md='')
@data,@md=data,md
@file=SiSU_Env::FileOp.new(md)
- @o_str ||=SiSU_Env::OutputStructure.new(md).output_dir_structure
+ @o_str ||=SiSU_Env::ProcessingSettings.new(md).output_dir_structure
end
def scroll
begin
diff --git a/lib/sisu/v3dv/html_format.rb b/lib/sisu/v3dv/html_format.rb
index d8b44760..56360455 100644
--- a/lib/sisu/v3dv/html_format.rb
+++ b/lib/sisu/v3dv/html_format.rb
@@ -62,27 +62,22 @@ module SiSU_HTML_Format
def initialize(md,ocn)
@md,@ocn=md,ocn.to_s
@ocn ||=''
- vz=SiSU_Env::GetInit.instance.skin
- @skin_no_ocn=if defined? vz.ocn_display_off \
- and vz.ocn_display_off==true
- true
- else false
- end
end
def ocn_display
- if @md.markup.inspect =~/no_ocn/ \
- or @md.opt.mod.inspect =~/--no-ocn/ \
- or @skin_no_ocn
+ @make=SiSU_Env::ProcessingSettings.new(@md)
+ if @make.build.ocn?
+ ocn_class='ocn'
+ if @ocn.to_i==0
+ @ocn.gsub(/^(\d+|)$/,
+ %{<label class="#{ocn_class}"><a name="#{@ocn}">&nbsp;</a></label>})
+ else
+ @ocn.gsub(/^(\d+|)$/,
+ %{<label class="#{ocn_class}"><a name="#{@ocn}" href="##{@ocn}" class="lnk#{ocn_class}">\\1</a></label>})
+ end
+ else
ocn_class='ocn_off'
@ocn.gsub(/^(\d+|)$/,
%{<label class="#{ocn_class}">&nbsp;</label>})
- elsif @ocn.to_i==0
- @ocn.gsub(/^(\d+|)$/,
- %{<label class="#{ocn_class}"><a name="#{@ocn}">&nbsp;</a></label>})
- else
- ocn_class='ocn'
- @ocn.gsub(/^(\d+|)$/,
- %{<label class="#{ocn_class}"><a name="#{@ocn}" href="##{@ocn}" class="lnk#{ocn_class}">\\1</a></label>})
end
end
def name
@@ -109,7 +104,7 @@ module SiSU_HTML_Format
@metalink='#metadata'
@tocband_scroll,@tocband_segtoc=nil,nil
@stylesheet=SiSU_Style::CSS_HeadInfo.new(md).stylesheet
- @o_str ||=SiSU_Env::OutputStructure.new(md).output_dir_structure
+ @o_str ||=SiSU_Env::ProcessingSettings.new(md).output_dir_structure
@index='index'
@toc="#{@md.file.output_path.html_seg.dir}/#{@md.file.base_filename.html_segtoc}"
end
@@ -206,7 +201,8 @@ module SiSU_HTML_Format
@cf_defaults=SiSU_Env::InfoProcessingFlag.new
@env=SiSU_Env::InfoEnv.new(md.fns)
@file=SiSU_Env::FileOp.new(md)
- @o_str ||=SiSU_Env::OutputStructure.new(md).output_dir_structure
+ @o_str ||=SiSU_Env::ProcessingSettings.new(md).output_dir_structure
+ @make=SiSU_Env::ProcessingSettings.new(@md)
end
def home
%{<td align="center" bgcolor=#{@vz.color_band2}>
@@ -234,11 +230,15 @@ module SiSU_HTML_Format
}
end
def search
- env=SiSU_Env::InfoEnv.new(@md.fns,@md)
- env.widget.search_form('sisusearch',nil,nil,true)
+ if @make.build.html_search_form?
+ env=SiSU_Env::InfoEnv.new(@md.fns,@md)
+ env.widget.search_form('sisusearch',nil,nil,true)
+ else ''
+ end
end
def manifest
- if not @o_str.dump_or_redirect?
+ if @make.build.links_to_manifest? \
+ and not @o_str.dump_or_redirect?
manifest_lnk=if @file.output_dir_structure.by_language_code? \
or @file.output_dir_structure.by_filetype?
"#{Xx[:html_relative1]}manifest/#{@file.base_filename.manifest}"
@@ -321,28 +321,30 @@ module SiSU_HTML_Format
def initialize(md)
super(md)
@md=md
- @o_str ||=SiSU_Env::OutputStructure.new(md).output_dir_structure
+ @o_str ||=SiSU_Env::ProcessingSettings.new(md).output_dir_structure
+ @make=SiSU_Env::ProcessingSettings.new(@md)
end
def scroll_head_navigation_band
- pdf=if @md.programs[:pdf]
- <<WOK
+ if @make.build.html_top_band?
+ search_and_manifest=<<WOK
<td align="center" width="60%">
- #{make_seg_scroll_pdf}
+ #{make_scroll_search_form_and_manifest_link}
</td>
WOK
- else ''
- end
- %{<table summary="table of contents scroll navigation band" id="toc" width="100%" bgcolor=#{@vz.color_band1}>
+ %{<table summary="table of contents scroll navigation band" id="toc" width="100%" bgcolor=#{@vz.color_band1}>
<tr><td width="20%">
#{@vz.banner_band}
-</td>#{pdf}
+</td>#{search_and_manifest}
<td width="20%">
&nbsp;
#{@vz.table_close}
<p />}
+ else ''
+ end
end
def concordance_navigation_band(type='')
- %{<table summary="concordance navigation band" id="toc" width="100%" bgcolor=#{@vz.color_band1}>
+ if @make.build.html_top_band?
+ %{<table summary="concordance navigation band" id="toc" width="100%" bgcolor=#{@vz.color_band1}>
<tr><td width="20%">
#{@vz.banner_band}
</td>
@@ -352,6 +354,8 @@ WOK
</a>&nbsp;
#{@vz.table_close}
<p />}
+ else ''
+ end
end
def seg_head_navigation_band(type='')
firstseg=%{<a href="#{@md.firstseg}#{@md.lang_code_insert}#{Sfx[:html]}" target="_top" alt="-&gt;">
@@ -369,25 +373,6 @@ WOK
#{@vz.table_close}
<p />}
end
- def seg_head_navigation_band_bottom(type='') #retired 2.7.9
- if type=~/pdf/
- @tocband_segtoc=make_scroll_seg_pdf
- end
- firstseg=%{<a href="#{@md.firstseg}#{@md.lang_code_insert}#{Sfx[:html]}" target="_top" alt="-&gt;">
- #{png_nav.nxt}
- </a>} if @md.firstseg =~/\S+/
- %{<table summary="table of contents segment navigation band" id="toc" width="100%" bgcolor=#{@vz.color_band1}>
-<tr><td width="20%">
- &nbsp;
-</td>
-<td width="75%" align="center">
- #{@tocband_segtoc}
-</td>
-<td width="5%" align="right">
- &nbsp;#{firstseg}&nbsp;
-#{@vz.table_close}
-<p />}
- end
def manifest_link(text)
# @file=SiSU_Env::FileOp.new(@md) if @md
%{<font size=2>
@@ -404,7 +389,7 @@ WOK
else ''
end
end
- def make_seg_scroll_pdf
+ def make_scroll_search_form_and_manifest_link
wgt=SiSU_HTML_Format::Widget.new(@md)
scroll=%{<td align="center" bgcolor=#{@vz.color_band2}>
#{@vz.nav_txt_doc_link}
@@ -992,6 +977,7 @@ WOK
end
@p_num=ParagraphNumber.new(@md,@ocn)
@vz=SiSU_Env::GetInit.instance.skin
+ @make=SiSU_Env::ProcessingSettings.new(@md)
end
def nametags_scroll(dob)
tags=''
@@ -1134,8 +1120,11 @@ WOK
heading_normal('h6','norm')
end
def title_heading(tag,attrib)
+ cl=(@make.build.html_minitoc?) \
+ ? 'content'
+ : 'content0'
%{
-<div class="content">
+<div class="#{cl}">
<#{tag} class="#{attrib}">
#{@named}#{@txt}
</#{tag}>
diff --git a/lib/sisu/v3dv/html_promo.rb b/lib/sisu/v3dv/html_promo.rb
index 7617b52c..f53211e9 100644
--- a/lib/sisu/v3dv/html_promo.rb
+++ b/lib/sisu/v3dv/html_promo.rb
@@ -67,22 +67,33 @@ module SiSU_HTML_Promo
@ad=SiSU_Env::GetInit.instance.ads
@vz=SiSU_Env::GetInit.instance.skin
@flag=@env.widget.promo?
+ @make=SiSU_Env::ProcessingSettings.new(@md)
end
def div
def major
- @flag[:ad] ? '<div id="pane_major">' : ''
+ (@make.build.html_right_pane? \
+ && @flag[:ad]) \
+ ? '<div id="pane_major">'
+ : ''
end
def minor
- @flag[:ad] ? '<div id="pane_minor">' : ''
+ (@make.build.html_right_pane? \
+ && @flag[:ad]) \
+ ? '<div id="pane_minor">'
+ : ''
end
def close
- @flag[:ad] ? '</div>' : ''
+ (@make.build.html_right_pane? \
+ && @flag[:ad]) \
+ ? '</div>'
+ : ''
end
self
end
- def display #(type=nil,id=nil)
+ def display
ads_array,promo_array=[],[]
- if @flag[:ad]
+ if @make.build.html_right_pane? \
+ && @flag[:ad]
ads=if @md.promo && @md.promo.length > 0 #promo set in document
promo_array=@md.promo
elsif @flag[:sk] #promo set in associated skin
diff --git a/lib/sisu/v3dv/html_segments.rb b/lib/sisu/v3dv/html_segments.rb
index b20d2271..b1dbf73f 100644
--- a/lib/sisu/v3dv/html_segments.rb
+++ b/lib/sisu/v3dv/html_segments.rb
@@ -66,11 +66,19 @@ module SiSU_HTML_Seg
@md,@output_seg_file,@seg,@minitoc,@type=md,outputfile,seg,minitoc,type
@title_banner_=SiSU_Env::CreateSite.new(@md.opt.cmd).html_seg_title_banner?
@file=SiSU_Env::FileOp.new(@md)
+ @make=SiSU_Env::ProcessingSettings.new(@md)
+ @cl=(@make.build.html_minitoc?) \
+ ? 'content'
+ : 'content0'
end
def output
if @seg[:title] =~/\S/
filename_seg=[]
- filename_seg << @seg[:title] << @seg[:tocband_banner]
+ if @make.build.html_top_band?
+ filename_seg << @seg[:title] << @seg[:tocband_banner]
+ else
+ filename_seg << @seg[:title]
+ end
if @type=='endnotes'
@seg[:headings]=[]
format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md)
@@ -80,7 +88,7 @@ module SiSU_HTML_Seg
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="content">\n} << @seg[:endnote_all] << '</div>' # << '</div>'
+ 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)
@@ -90,7 +98,7 @@ module SiSU_HTML_Seg
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="content">\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]=[]
@@ -101,11 +109,19 @@ module SiSU_HTML_Seg
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="content">\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"
+ else
+ 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]
else
- filename_seg << @minitoc << @seg[:headings] << @seg[:main] << "\n</div>\n"
+ @seg[:tail] << @seg[:credits]
end
- filename_seg << @seg[:tail] << @seg[:tocband_bannerless] << @seg[:credits]
filename_seg=filename_seg.flatten.compact #watch
filename_seg.each do |str|
unless str =~/\A\s*\Z/
@@ -138,7 +154,13 @@ module SiSU_HTML_Seg
@seg_name_html=@@seg_name_html || nil
@seg_name_html_tracker=@@tracker || nil
@env=SiSU_Env::InfoEnv.new(@md.fns) if @md
- @make=SiSU_Env::InfoSet.new(@md) if @md
+ if @md
+ @make=SiSU_Env::ProcessingSettings.new(@md)
+ @cl=(@make.build.html_minitoc?) \
+ ? 'content'
+ : 'content0'
+ else @cl='content'
+ end
if @md
@title_banner_=SiSU_Env::CreateSite.new(@md.opt.cmd).html_seg_title_banner?
end
@@ -245,7 +267,7 @@ module SiSU_HTML_Seg
SiSU_HTML_Seg::Seg.new(@md).tail
segfilename="#{@file.output_path.html_seg.dir}/#{@@seg_name_html[tracking-1]}#{@md.lang_code_insert}#{Sfx[:html]}"
output_seg_file=File.new(segfilename,'w') if @@seg_name_html[tracking-1]
- minitoc=(@make.html_minitoc?) \
+ minitoc=(@make.build.html_minitoc?) \
? @minitoc
: ''
if dob.is==:heading \
@@ -306,12 +328,19 @@ module SiSU_HTML_Seg
end
def heading_art(dob)
format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md)
- if (dob.is==:heading \
- || dob.is==:heading_insert) \
- && (dob.ln.to_s =~/^[1-6]/)
- if @@tracker < @@seg_total-1; @@seg[:dot_nav]=format_head_seg.dot_control_pre_next
- else @@seg[:dot_nav]=format_head_seg.dot_control_pre
+ @@seg[:dot_nav]=if (@make.build.html_navigation?) \
+ && (@make.build.html_navigation_bar?)
+ x=if (dob.is==:heading \
+ || dob.is==:heading_insert) \
+ && (dob.ln.to_s =~/^[1-6]/)
+ x=if @@tracker < @@seg_total-1
+ format_head_seg.dot_control_pre_next
+ else
+ format_head_seg.dot_control_pre
+ end
+ else @@seg[:dot_nav]
end
+ else @@seg[:dot_nav]=''
end
ads=SiSU_HTML_Promo::Ad.new(@md)
@@seg[:title]=format_head_seg.head_seg << ads.div.major
@@ -458,9 +487,11 @@ module SiSU_HTML_Seg
if (dob.is==:heading \
|| dob.is==:heading_insert) \
&& dob.ln==4
- @@seg[:main] << %{\n<div class="content">\n}
+ @@seg[:main] << %{\n<div class="#{@cl}">\n}
@@seg[:main] << dob_html
- @@seg[:main] << @@seg_subtoc[@@get_hash_fn] #% insertion of sub-toc
+ if @make.build.segsubtoc?
+ @@seg[:main] << @@seg_subtoc[@@get_hash_fn] #% insertion of sub-toc
+ end
else
@@seg[:main] << dob_html #unless @@flag_alt==true
end
@@ -469,7 +500,7 @@ module SiSU_HTML_Seg
def tail
format_head_seg=SiSU_HTML_Format::HeadSeg.new(@md)
if @md.flag_auto_endnotes and @@seg_endnotes[@@get_hash_fn]
- @@seg[:tail] << %{\n<div class="content">\n<div class="endnote">\n}
+ @@seg[:tail] << %{\n<div class="#{@cl}">\n<div class="endnote">\n}
if @@seg_endnotes[@@get_hash_fn].flatten.length > 0
@@seg[:tail] << format_head_seg.endnote_mark
@@seg[:tail] << @@seg_endnotes[@@get_hash_fn].flatten #endnotes deposited at end of individual segments ||@|EXTRACTION OF ENDNOTES|
diff --git a/lib/sisu/v3dv/hub.rb b/lib/sisu/v3dv/hub.rb
index fd7909ec..5f256314 100644
--- a/lib/sisu/v3dv/hub.rb
+++ b/lib/sisu/v3dv/hub.rb
@@ -224,7 +224,8 @@ module SiSU
when /^qrcode$/; SiSU_QRcode::Source.new(@opt).read # -Q qrcode.rb
when /^sitemaps$/; SiSU_Sitemaps::Source.new(@opt).read # -Y sitemaps.rb
when /^zap$/; SiSU_Zap::Source.new(@opt).read # -Z zap.rb
- when /^dbi$/; SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb
+ when /^dbi$/; SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb
+ when /^dbi_discreet$/; SiSU_DBI_Discreet::SQL.new(@opt).build # -d dbi_discreet.rb
end
@n_do=@n_do+1
SiSU_Screen::Ansi.new(@opt.cmd,@n_do,"#{@req.upcase} processed").files_processed if @opt.cmd =~/[MVv]/
@@ -255,7 +256,7 @@ module SiSU
end
end
end
- elsif @req =~/^dbi$/; SiSU_DBI::SQL.new(@opt).connect # -D -d
+ elsif @req =~/^dbi$/; SiSU_DBI::SQL.new(@opt).connect # -D -d
elsif @req=~/^sisupod_make$/; SiSU_Doc::Source.new(@opt).read # -S
end
SiSU::Operations.new.counter
@@ -564,6 +565,9 @@ p "here #{__FILE__} #{__LINE__}" if @opt =~/M/
if @opt.act[:psql][:bool] #% --pg, -D DB postgresql
op('dbi','postgresql')
end
+ if @opt.act[:sqlite_discreet][:bool] #% --sqlite, -d DB sqlite
+ op('dbi_discreet','sqlite')
+ end
if @opt.act[:sqlite][:bool] #% --sqlite, -d DB sqlite
op('dbi','sqlite')
end
diff --git a/lib/sisu/v3dv/manifest.rb b/lib/sisu/v3dv/manifest.rb
index 19fdc65c..0eb580b3 100644
--- a/lib/sisu/v3dv/manifest.rb
+++ b/lib/sisu/v3dv/manifest.rb
@@ -103,10 +103,11 @@ module SiSU_Manifest
@manifest={ txt: [], html: [] }
@md,@fns=md,md.fns
@env=SiSU_Env::InfoEnv.new(@md.fns)
+ @make=SiSU_Env::ProcessingSettings.new(@md)
@fnb=@md.fnb
@base_url="#{@env.url.root}/#{@fnb}"
@f=SiSU_Env::FileOp.new(@md)
- @o_str=SiSU_Env::OutputStructure.new(md).output_dir_structure
+ @o_str=SiSU_Env::ProcessingSettings.new(md).output_dir_structure
@image_path=if @o_str.dump_or_redirect?
%{./image}
else
@@ -395,6 +396,13 @@ module SiSU_Manifest
id,file='Manpage',@f.base_filename.manpage
summarize(id,file,pth,rel,url)
end
+ if FileTest.file?(@f.place_file.sqlite_discreet.dir)==true
+ id,file='SQLite3 file',@f.base_filename.sqlite_discreet
+ pth=@f.output_path.sqlite_discreet.dir
+ rel=@f.output_path.sqlite_discreet.rel_sm
+ url=@f.output_path.sqlite_discreet.url
+ summarize(id,file,pth,rel,url)
+ end
if FileTest.file?(@f.place_file.txt.dir)==true
if @md.opt.cmd =~/a/; id='Plaintext (Unix (UTF-8) with footnotes)'
elsif @md.opt.cmd =~/e/; id='Plaintext (Unix (UTF-8) with endnotes)'
@@ -439,7 +447,7 @@ module SiSU_Manifest
def qrc_image
fn=@md.fnb
pth=(@o_str.dump_or_redirect?) \
- ? '.' \
+ ? '.'
: 'qrcode'
img_md="#{pth}/#{fn}.md.png"
img_title="#{pth}/#{fn}.title.png"
@@ -758,13 +766,17 @@ WOK
minitoc=SiSU_HTML_MiniToc::TocMini.new(@md,data).songsheet.join("\n")
id,file='',''
vz=SiSU_Env::GetInit.instance.skin
+ search_form=if @make.build.search_form?
+ "<td>#{@env.widget_static.search_form}</td>"
+ else ''
+ end
banner_table=if vz.banner_home_button_only !~ /http:\/\/www\.jus\.uio\.no\/sisu/ \
and vz.banner_home_button_only !~ /sisu\.home\.png/
<<WOK
<table summary="band" border="0" cellpadding="3" cellspacing="0">
<tr><td align="left" width="15%" bgcolor="#ffffff">#{vz.banner_band}</td>
<td width="70%"><p class="tiny">#{@brace_url.xml_open}<a href="#{@base_url}/#{file}">#{@base_url}/#{file}</a>#{@brace_url.xml_close}</p></td>
-<td>#{@env.widget_static.search_form}</td></tr>
+#{search_form}</tr>
</table>
WOK
else
@@ -772,7 +784,7 @@ WOK
<table summary="band" border="0" cellpadding="3" cellspacing="0">
<tr><td align="left" bgcolor="#ffffff"><a href="http://www.jus.uio.no/sisu/" target="_top"><img border="0" src="#{vz.url_path_image_sys}/sisu.png" alt="SiSU --&gt;" /></a></td>
<td><p class="tiny">#{@brace_url.xml_open}<a href="#{@base_url}/#{file}">#{@base_url}/#{file}</a>#{@brace_url.xml_close}</p></td>
-<td>#{@env.widget_static.search_form}</td></tr>
+#{search_form}</tr>
</table>
WOK
end
@@ -793,7 +805,7 @@ SiSU manifest: #{@md.title.full}
<body bgcolor="#ffffff" text="#000000" link="#003090" lang="en" xml:lang="en">
#{banner_table}
WOK
- if @env.manifest_minitoc?
+ if @make.build.manifest_minitoc?
if @o_str.dump_or_redirect?
elsif @env.output_dir_structure.by_language_code? \
or @env.output_dir_structure.by_filetype?
diff --git a/lib/sisu/v3dv/options.rb b/lib/sisu/v3dv/options.rb
index b2b7ff15..11d03e1d 100644
--- a/lib/sisu/v3dv/options.rb
+++ b/lib/sisu/v3dv/options.rb
@@ -435,47 +435,47 @@ module SiSU_Commandline
act={}
act[:license]=(cmd =~/L/ \
|| mod.inspect =~/"--license/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:site_init]=(cmd =~/C/ \
|| mod.inspect =~/"--init-site/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:rc]=if mod.inspect =~/"--rc=/
x=Dir.pwd + '/' + mod.join.gsub(/--rc=/,'')
- { bool: true, inst: x }
+ { bool: true, set: :on, inst: x }
else
- { bool: false, inst: '' }
+ { bool: false, set: :na, inst: '' }
end
act[:dump]=if mod.inspect =~/"--dump=/
base_pth=mod.join(';').gsub(/^.*--dump=['"]?(.+?)(?:['"]?;.+)?$/,'\1')
- { bool: true, inst: base_pth }
+ { bool: true, set: :on, inst: base_pth }
elsif mod.inspect =~/"--dump/
- { bool: true, inst: @base_path }
+ { bool: true, set: :on, inst: @base_path }
else
- { bool: false, inst: nil }
+ { bool: false, set: :na, inst: nil }
end
act[:redirect]=if mod.inspect =~/"--redirect=/
base_pth=mod.join(';').gsub(/^.*--redirect=['"]?(.+?)(?:['"]?;.+)?$/,'\1')
- { bool: true, inst: base_pth }
+ { bool: true, set: :on, inst: base_pth }
elsif mod.inspect =~/"--redirect/
- { bool: true, inst: @base_path }
+ { bool: true, set: :on, inst: @base_path }
else
- { bool: false, inst: nil }
+ { bool: false, set: :na, inst: nil }
end
act[:verbose]=(cmd =~/v/ \
|| mod.inspect =~/"--verbose"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:quiet]=(cmd =~/q/ \
|| mod.inspect =~/"--quiet"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:color_state]=if mod.inspect =~/"--color-on"|"--color"/
- { bool: true }
+ { bool: true, set: :on }
elsif mod.inspect =~/"--color-off"/
- { bool: false }
- else { bool: true } #fix default color
+ { bool: false, set: :off }
+ else { bool: true, set: :na } #fix default color
end
# act[:color_toggle]=if cmd =~/c/ \
# or mod.inspect =~/"--color-toggle"/
@@ -484,202 +484,259 @@ module SiSU_Commandline
# end
act[:maintenance]=(cmd =~/M/ \
|| mod.inspect =~/"--maintenance|--keep-processing-files"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:switch]=if mod.inspect =~/"--switch-off=/
off_list=mod.join(';').gsub(/^.*--switch-off=['"]?(.+?)(?:['"];.+)?$/,'\1')
off_list=off_list.scan(/[^,;\s]+/)
- { bool: false, off: off_list}
- else { bool: true, off: [] }
+ { bool: false, set: :off, off: off_list}
+ else { bool: true, set: :na, off: [] }
end
- act[:ocn]=if mod.inspect =~/"--no-ocn"/ \
+ act[:ocn]=
+ if mod.inspect =~/"--inc-ocn"/
+ { bool: true, set: :on }
+ elsif mod.inspect =~/"--(?:exc|no)-ocn"/ \
|| act[:switch][:off].inspect =~/"ocn"/
- { bool: false }
- else { bool: true }
+ { bool: false, set: :off }
+ else { bool: true, set: :na }
end
- act[:toc]=if mod.inspect =~/"--no-toc"/ \
+ act[:toc]=if mod.inspect =~/"--inc-toc"/
+ { bool: true, set: :on }
+ elsif mod.inspect =~/"--(?:exc|no)-toc"/ \
|| act[:switch][:off].inspect =~/"toc"/
- { bool: false }
- else { bool: true }
+ { bool: false, set: :off }
+ else { bool: true, set: :na }
end
- act[:manifest]=if mod.inspect =~/"--no-manifest"/ \
+ act[:minitoc]=if mod.inspect =~/"--inc-minitoc"/
+ { bool: true, set: :on }
+ elsif mod.inspect =~/"--(?:exc|no)-minitoc"/ \
+ || act[:switch][:off].inspect =~/"minitoc"/
+ { bool: false, set: :off }
+ else { bool: true, set: :na }
+ end
+ act[:manifest]=if mod.inspect =~/"--inc-manifest"/
+ { bool: true, set: :on }
+ elsif mod.inspect =~/"--(?:exc|no)-manifest"/ \
|| act[:switch][:off].inspect =~/"manifest"/
- #|| mod.inspect =~/"--(?:redirect|dump)/
- { bool: false }
- else { bool: true }
+ { bool: false, set: :off }
+ else { bool: true, set: :na }
end
- act[:manifest_links]=if mod.inspect =~/"--no-manifest-links"/ \
- || act[:switch][:off].inspect =~/"manifest_links"/ \
+ act[:links_to_manifest]=if mod.inspect =~/"--inc-links-to-manifest"|"--inc-manifest-links"/
+ { bool: true, set: :on }
+ elsif mod.inspect =~/"--(?:exc|no)-links-to-manifest"|"--(?:exc|no)-manifest-links"/ \
+ || act[:switch][:off].inspect =~/"links_to_manifest"|"manifest_links"/ \
|| mod.inspect =~/"--(?:redirect|dump)/
- { bool: false }
- else { bool: true }
+ { bool: false, set: :off }
+ else { bool: true, set: :na }
end
- act[:manifest_minitoc]=if mod.inspect =~/"--no-manifest-minitoc"/ \
+ act[:manifest_minitoc]=if mod.inspect =~/"--inc-manifest-minitoc"|"--inc-minitoc"/
+ { bool: true, set: :on }
+ elsif mod.inspect =~/"--(?:exc|no)-manifest-minitoc"|"--(?:exc|no)-minitoc"/ \
|| act[:switch][:off].inspect =~/"manifest_minitoc"|"minitoc"/
#|| mod.inspect =~/"--(?:redirect|dump)/
- { bool: false }
- else { bool: true }
+ { bool: false, set: :off }
+ else { bool: true, set: :na }
end
- act[:metadata]=if mod.inspect =~/"--no-metadata"/ \
+ act[:metadata]=if mod.inspect =~/"--inc-metadata"/
+ { bool: true, set: :on }
+ elsif mod.inspect =~/"--(?:exc|no)-metadata"/ \
|| act[:switch][:off].inspect =~/"metadata"/
- { bool: false }
- else { bool: true }
+ { bool: false, set: :off }
+ else { bool: true, set: :na }
end
- act[:html_minitoc]=if mod.inspect =~/"--no-html-minitoc"/ \
+ act[:html_minitoc]=if mod.inspect =~/"--inc-html-minitoc"|"--inc-minitoc"/
+ { bool: true, set: :on }
+ elsif mod.inspect =~/"--(?:exc|no)-html-minitoc"|"--(?:exc|no)-minitoc"/ \
|| act[:switch][:off].inspect =~/"html_minitoc"|"minitoc"/
- { bool: false }
- else { bool: true }
+ { bool: false, set: :off }
+ else { bool: true, set: :na }
end
- act[:html_navigation]=if mod.inspect =~/"--no-html-navigation"/ \
+ act[:html_navigation]=if mod.inspect =~/"--inc-html-navigation"|"--inc-navigation"/
+ { bool: true, set: :on }
+ elsif mod.inspect =~/"--(?:exc|no)-html-navigation"|"--(?:exc|no)-navigation"/ \
|| act[:switch][:off].inspect =~/"html_navigation"|"nav"/
- { bool: false }
- else { bool: true }
+ { bool: false, set: :off }
+ else { bool: true, set: :na }
end
- act[:html_navigation_bar]=if mod.inspect =~/"--no-html-navigation-bar"/ \
+ act[:html_navigation_bar]=if mod.inspect =~/"--inc-html-navigation-bar"|"--inc-navigation-bar"/
+ { bool: true, set: :on }
+ elsif mod.inspect =~/"--(?:exc|no)-html-navigation-bar"|"--(?:exc|no)-navigation-bar"/ \
|| act[:switch][:off].inspect =~/"html_navigation_bar"|"navbar"/
- { bool: false }
- else { bool: true }
+ { bool: false, set: :off }
+ else { bool: true, set: :na }
+ end
+ act[:segsubtoc]=if mod.inspect =~/"--inc-segsubtoc"/
+ { bool: true, set: :on }
+ elsif mod.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"/
+ { bool: true, set: :on }
+ elsif mod.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"/
+ { 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"/
+ { bool: false, set: :off }
+ else { bool: true, set: :na }
end
- act[:html_search_form]=if mod.inspect =~/"--no-html-search-form"/ \
- || act[:switch][:off].inspect =~/"html_search_form"|"search"/
- { bool: false }
- else { bool: true }
+ act[:html_right_pane]=if mod.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"/ \
+ || act[:switch][:off].inspect =~/"html_right_pane"|"html_right_column"|"promo"/
+ { bool: false, set: :off }
+ else { bool: true, set: :na }
end
- act[:html_right_column]=if mod.inspect =~/"--no-html-right-column"/ \
- || act[:switch][:off].inspect =~/"html_right_column"|"promo"/
- { bool: false }
- else { bool: true }
+ act[:html_top_band]=if mod.inspect =~/"--inc-html-top-band"|"--inc-top-band"/
+ { bool: true, set: :on }
+ elsif mod.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[:dal]=(cmd =~/m/ \
|| mod.inspect =~/"--dal"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:html]=(cmd =~/h/ \
|| mod.inspect =~/"--html"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:concordance]=(cmd =~/w/ \
|| mod.inspect =~/"--concordance"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:images]=(cmd =~/j/ \
|| mod.inspect =~/"--images"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:pdf]=(cmd =~/p/ \
|| mod.inspect =~/"--pdf"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:epub]=(cmd =~/e/ \
|| mod.inspect =~/"--epub"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:odt]=(cmd =~/o/ \
|| mod.inspect =~/"--odf"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:xml_sax]=(cmd =~/x/ \
|| mod.inspect =~/"--xml-sax"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:xml_dom]=(cmd =~/X/ \
|| mod.inspect =~/"--xml-dom"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:xhtml]=(cmd =~/b/ \
|| mod.inspect =~/"--xhtml"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:txt]=(cmd =~/[at]/ \
|| mod.inspect =~/"--txt"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:manpage]=(cmd =~/i/ \
|| mod.inspect =~/"--manpage"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:texinfo]=(cmd =~/I/ \
|| mod.inspect =~/"--texinfo"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:fictionbook]=(cmd =~/f/ \
|| mod.inspect =~/"--fictionbook"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:psql]=(cmd =~/D/ \
|| mod.inspect =~/"--pg"|"--pgsql"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:sqlite]=(cmd =~/d/ \
|| mod.inspect =~/"--sqlite"/) \
- ? { bool: true }
- : { bool: false }
+ && (mod.inspect =~/"--createdb"|"--create"|"--recreate"|"--dropall"|"--recreate"|"--import"|"--update"|"--remove"/) \
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
+ act[:sqlite_discreet]=(cmd =~/d/ \
+ || mod.inspect =~/"--sql"|"--sqlite"/) \
+ && (mod.inspect =~/"--both"/ \
+ || mod.inspect !~/"--createdb"|"--create"|"--recreate"|"--dropall"|"--recreate"|"--import"|"--update"|"--remove"/) \
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:harvest]=(mod.inspect =~/"--harvest"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:po4a]=(cmd =~/P/ \
|| mod.inspect =~/"--po4a"|"--pot?"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:git]=(cmd =~/g/ \
|| mod.inspect =~/"--git"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:hash_digests]=(cmd =~/N/ \
|| mod.inspect =~/"--hash-digests"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:sample_search_form]=(cmd =~/F/ \
|| mod.inspect =~/"--sample-search-form"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:webrick]=(cmd =~/W/ \
|| mod.inspect =~/"--webrick"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:share_source]=(cmd =~/s/ \
|| mod.inspect =~/"--source"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:sisupod]=(cmd =~/S/ \
|| mod.inspect =~/"--sisupod"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:scp]=(cmd =~/r/ \
|| mod.inspect =~/"--scp"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:rsync]=(cmd =~/R/ \
|| mod.inspect =~/"--rsync"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:delete_output]=(cmd =~/z/ \
|| mod.inspect =~/"--delete"|"--zap"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:urls_all]=(cmd =~/U/ \
|| mod.inspect =~/"--urls-all"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:urls_seleted]=(cmd =~/u/ \
|| mod.inspect =~/"--urls"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:sitemap]=(cmd =~/Y/ \
|| mod.inspect =~/"--sitemap"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:qrcode]=(cmd =~/Q/ \
|| mod.inspect =~/"--qrcode"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:manifest]=(cmd =~/y/ \
|| mod.inspect =~/"--manifest"/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
act[:help]=(mod.inspect =~/"--help/) \
- ? { bool: true }
- : { bool: false }
+ ? { bool: true, set: :on }
+ : { bool: false, set: :na }
@act=act
end
def cmd
diff --git a/lib/sisu/v3dv/param.rb b/lib/sisu/v3dv/param.rb
index 8d3379b7..5563f780 100644
--- a/lib/sisu/v3dv/param.rb
+++ b/lib/sisu/v3dv/param.rb
@@ -811,8 +811,88 @@ module SiSU_Param
else nil
end
end
- def omit_list
+ def omit
m=@h['omit']
+ @m=m ? (m.split(/,\s+/)) : nil
+ def list
+ @m
+ end
+ self
+ end
+ def ocn?
+ (omit.list.inspect =~/"ocn"/) \
+ ? :off
+ : :na
+ end
+ def toc?
+ (omit.list.inspect =~/"toc"/) \
+ ? :off
+ : :na
+ end
+ def manifest?
+ (omit.list.inspect =~/"manifest"/) \
+ ? :off
+ : :na
+ end
+ def links_to_manifest?
+ (omit.list.inspect =~/"manifest_links"|"links_to_manifest"/) \
+ ? :off
+ : :na
+ end
+ def metadata?
+ (omit.list.inspect =~/"metadata"/) \
+ ? :off
+ : :na
+ end
+ def minitoc?
+ (omit.list.inspect =~/"minitoc"/) \
+ ? :off
+ : :na
+ end
+ def html_minitoc?
+ (omit.list.inspect =~/"html_minitoc"/) \
+ ? :off
+ : :na
+ end
+ def html_top_band?
+ (omit.list.inspect =~/"html_top_band"/) \
+ ? :off
+ : :na
+ end
+ def html_navigation?
+ (omit.list.inspect =~/"html_navigation"/) \
+ ? :off
+ : :na
+ end
+ def html_navigation_bar?
+ (omit.list.inspect =~/"html_navigation_bar"/) \
+ ? :off
+ : :na
+ end
+ def segsubtoc?
+ (omit.list.inspect =~/"segsubtoc"/) \
+ ? :off
+ : :na
+ end
+ def search_form?
+ (omit.list.inspect =~/"search_form"/) \
+ ? :off
+ : :na
+ end
+ def html_search_form?
+ (omit.list.inspect =~/"html_search_form"/) \
+ ? :off
+ : :na
+ end
+ def html_right_pane?
+ (omit.list.inspect =~/"html_right_column"|"html_right_pane"/) \
+ ? :off
+ : :na
+ end
+ def manifest_minitoc?
+ (omit.list.inspect =~/"manifest_minitoc"/) \
+ ? :off
+ : :na
end
def texpdf_font
def main
diff --git a/lib/sisu/v3dv/qrcode.rb b/lib/sisu/v3dv/qrcode.rb
index 49ef8ee3..d2b16753 100644
--- a/lib/sisu/v3dv/qrcode.rb
+++ b/lib/sisu/v3dv/qrcode.rb
@@ -149,7 +149,7 @@ module SiSU_QRcode
def summarize(id,file,pth='',rel='',url='',img='● ')
size=(File.size("#{pth}/#{file}")/1024.00).to_s
kb=/([0-9]+\.[0-9]{0,1})/m.match(size)[1]
- @manifest[:txt] <<<<WOK
+ @manifest[:txt] <<<<WOK
#{id} #{kb}
#{@brace_url.txt_open}#{url}/#{file}#{@brace_url.txt_close}
WOK
diff --git a/lib/sisu/v3dv/shared_images.rb b/lib/sisu/v3dv/shared_images.rb
index a61fdd38..1d398213 100644
--- a/lib/sisu/v3dv/shared_images.rb
+++ b/lib/sisu/v3dv/shared_images.rb
@@ -56,6 +56,7 @@
** Description: common file for xml generation
=end
module SiSU_Images
+ require_relative 'particulars' # particulars.rb
class Source
def initialize(opt)
@particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt)
@@ -68,7 +69,7 @@ module SiSU_Images
@particulars=particulars
@md=@particulars.md
@env=@particulars.env
- @o_str ||=SiSU_Env::OutputStructure.new(@md).output_dir_structure
+ @o_str ||=SiSU_Env::ProcessingSettings.new(@md).output_dir_structure
end
def songsheet
images_set.select_sisu_base
@@ -97,11 +98,11 @@ module SiSU_Images
def dest_path(image_type)
pth=if image_type==:image_sys
pth=(@o_str.dump_or_redirect?) \
- ? "#{@md.file.output_path.html.dir}/image" \
+ ? "#{@md.file.output_path.html.dir}/image"
: "#{@env.path.webserv}/_sisu/image_sys"
elsif image_type==:image
pth=(@o_str.dump_or_redirect?) \
- ? "#{@md.file.output_path.html.dir}/image" \
+ ? "#{@md.file.output_path.html.dir}/image"
: "#{@env.path.webserv}/_sisu/image"
end
end
diff --git a/lib/sisu/v3dv/sysenv.rb b/lib/sisu/v3dv/sysenv.rb
index fcfc234b..4383a893 100644
--- a/lib/sisu/v3dv/sysenv.rb
+++ b/lib/sisu/v3dv/sysenv.rb
@@ -435,27 +435,27 @@ module SiSU_Env
end
def dump?
((by?) ==:dump) \
- ? true \
+ ? true
: false
end
def redirect?
((by?) ==:redirect) \
- ? true \
+ ? true
: false
end
def by_language_code?
((by?) ==:language) \
- ? true \
+ ? true
: false
end
def by_filetype?
((by?) ==:filetype) \
- ? true \
+ ? true
: false
end
def by_filename?
((by?) ==:filename) \
- ? true \
+ ? true
: false
end
def multilingual?
@@ -804,9 +804,10 @@ module SiSU_Env
end
def makeinfo #texinfo
program='makeinfo'
+ options='' #'--force' #''
program_ref="\n\t\tsee http://www.gnu.org/software/texinfo/"
(program_found?(program)) \
- ? system("#{program} #{@input}\n")
+ ? system("#{program} #{options} #{@input}\n")
: (puts "\tWARN: #{program} is not installed #{program_ref}")
end
def scp
@@ -1193,13 +1194,6 @@ module SiSU_Env
end
end
def manifest_minitoc?
- flag=if defined? @rc['manifest']['minitoc'] \
- and not @rc['manifest']['minitoc'].nil?
- @rc['manifest']['minitoc']
- else false
- end
- end
- def manifest_minitoc?
flag=if (defined? @rc['manifest']['minitoc'] \
and not @rc['manifest']['minitoc'].nil?)
@rc['manifest']['minitoc']
@@ -1222,7 +1216,7 @@ module SiSU_Env
listed=if omit_list
x=(omit_list.scan(/\b#{test}\b/)).join
test==x \
- ? true \
+ ? true
: false
else
false
@@ -1230,48 +1224,67 @@ module SiSU_Env
listed
end
def ocn?
- flag=if (defined? @rc['omit']['ocn'] \
+ if (defined? @rc['omit']['ocn'] \
and not @rc['omit']['ocn'].nil?) \
or listed?('ocn')
- false
+ :off
else
- true
+ :na
end
end
def toc?
- flag=if (defined? @rc['omit']['toc'] \
+ if (defined? @rc['omit']['toc'] \
and not @rc['omit']['toc'].nil?) \
or listed?('toc')
- false
+ :off
else
- true
+ :na
end
end
def manifest?
- flag=if (defined? @rc['omit']['manifest'] \
+ if (defined? @rc['omit']['manifest'] \
and not @rc['omit']['manifest'].nil?) \
or listed?('manifest')
- false
+ :off
else
- true
+ :na
end
end
- def manifest_links?
- flag=if (defined? @rc['omit']['manifest_links'] \
- and not @rc['omit']['manifest_links'].nil?) \
- or listed?('manifest_links')
- false
+ def links_to_manifest?
+ flag=if (defined? @rc['omit']['links_to_manifest'] \
+ and not @rc['omit']['links_to_manifest'].nil?) \
+ or (listed?('links_to_manifest') \
+ || listed?('manifest_links'))
+ :off
else
- true
+ :na
+ end
+ end
+ def metadata?
+ if (defined? @rc['omit']['metadata'] \
+ and not @rc['omit']['metadata'].nil?) \
+ or listed?('metadata')
+ :off
+ else
+ :na
+ end
+ end
+ def minitoc?
+ flag=if (defined? @rc['omit']['minitoc'] \
+ and not @rc['omit']['minitoc'].nil?) \
+ or (listed?('minitoc'))
+ :off
+ else
+ :na
end
end
def manifest_minitoc?
flag=if (defined? @rc['omit']['manifest_minitoc'] \
and not @rc['omit']['manifest_minitoc'].nil?) \
or listed?('manifest_minitoc')
- false
+ :off
else
- true
+ :na
end
end
def html_minitoc?
@@ -1279,45 +1292,72 @@ module SiSU_Env
and not @rc['omit']['html_minitoc'].nil?) \
or (listed?('html_minitoc') \
|| listed?('minitoc'))
- false
+ :off
else
- true
+ :na
end
end
def html_navigation?
flag=if (defined? @rc['omit']['html_navigation'] \
and not @rc['omit']['html_navigation'].nil?) \
or listed?('html_navigation')
- false
+ :off
else
- true
+ :na
end
end
def html_navigation_bar?
flag=if (defined? @rc['omit']['html_navigation_bar'] \
and not @rc['omit']['html_navigation_bar'].nil?) \
or listed?('html_navigation_bar')
- false
+ :off
else
- true
+ :na
end
end
- def html_search_form?
- flag=if (defined? @rc['omit']['html_search_form'] \
- and not @rc['omit']['html_search_form'].nil?) \
- or listed?('html_search_form')
- false
+ def segsubtoc?
+ flag=if (defined? @rc['omit']['segsubtoc'] \
+ and not @rc['omit']['segsubtoc'].nil?) \
+ or listed?('segsubtoc')
+ :off
else
- true
+ :na
end
end
- def html_right_column?
- flag=if (defined? @rc['omit']['html_right_column'] \
- and not @rc['omit']['html_right_column'].nil?) \
- or listed?('html_right_column')
- false
+ def html_right_pane?
+ flag=if (defined? @rc['omit']['html_right_pane'] \
+ and not @rc['omit']['html_right_pane'].nil?) \
+ or listed?('html_right_pane')
+ :off
else
- true
+ :na
+ end
+ end
+ def html_top_band?
+ flag=if (defined? @rc['omit']['html_top_band'] \
+ and not @rc['omit']['html_top_band'].nil?) \
+ or listed?('html_top_band')
+ :off
+ else
+ :na
+ end
+ end
+ def search_form? #decide later, as is configured here (in sisurc) and can be turned off on command line
+ flag=if (defined? @rc['omit']['search_form'] \
+ and not @rc['omit']['search_form'].nil?) \
+ or listed?('search_form')
+ :off
+ else
+ :na
+ end
+ end
+ def html_search_form? #decide later, as is configured here (in sisurc) and can be turned off on command line
+ flag=if (defined? @rc['omit']['html_search_form'] \
+ and not @rc['omit']['html_search_form'].nil?) \
+ or listed?('html_search_form')
+ :off
+ else
+ :na
end
end
self
@@ -2693,7 +2733,7 @@ WOK
and not (@rc['flag']['default'].nil? \
or @rc['flag']['default'].empty?)
@rc['flag']['default']
- else '-NQhewpotbxXyYv'
+ else '-NQhewpotbxXdyYv'
end
end
def cf_1 #processing flag shortcuts
@@ -2709,7 +2749,7 @@ WOK
and not (@rc['flag']['ii'].nil? \
or @rc['flag']['ii'].empty?)
@rc['flag']['ii']
- else '-NQhewpotbxXy'
+ else '-NQhewpotbxXdy'
end
end
def cf_3 #processing flag shortcuts
@@ -2717,7 +2757,7 @@ WOK
and not (@rc['flag']['iii'].nil? \
or @rc['flag']['iii'].empty?)
@rc['flag']['iii']
- else '-NQhewpotbxXyY'
+ else '-NQhewpotbxXdyY'
end
end
def cf_4 #processing flag shortcuts
@@ -2725,7 +2765,7 @@ WOK
and not (@rc['flag']['iv'].nil? \
or @rc['flag']['iv'].empty?)
@rc['flag']['iv']
- else '-NQhewpotbxXDyY --update'
+ else '-NQhewpotbxXdDyY --update'
end
end
def cf_5 #processing flag shortcuts
@@ -2733,7 +2773,7 @@ WOK
and not (@rc['flag']['v'].nil? \
or @rc['flag']['v'].empty?)
@rc['flag']['v']
- else '-NQhewpotbxXDyYv --update'
+ else '-NQhewpotbxXdDyYv --update'
end
end
end
@@ -3467,41 +3507,274 @@ WOK
end
end
end
- class OutputStructure
+ class ProcessingSettings
def initialize(md)
@md=md
- @env=SiSU_Env::InfoEnv.new(@md.fns)
+ end
+ def cnf_rc #sisurc.yml
+ @rc=SiSU_Env::GetInit.instance.sisu_yaml.rc
+ end
+ def env_rc #env rc (including sisurc.yml)
+ @env_rc ||=SiSU_Env::InfoEnv.new(@md.fns)
+ end
+ def doc_rc #document rc, make instructions
+ @md.make
+ end
+ def cmd_rc #command-line rc
+ @cmd_rc=@md.opt.opt_act
+ end
+ def build
+ def ocn?
+ if cmd_rc[:ocn][:set]==:on
+ true
+ elsif cmd_rc[:ocn][:set]==:off
+ false
+ elsif @md.make.ocn? ==:off
+ false
+ elsif env_rc.build.ocn? ==:off
+ false
+ else
+ true
+ end
+ end
+ def toc?
+ if cmd_rc[:toc][:set]==:on
+ true
+ elsif cmd_rc[:toc][:set]==:off
+ false
+ elsif @md.make.toc? ==:off
+ false
+ elsif env_rc.build.toc? ==:off
+ false
+ else
+ true
+ end
+ end
+ def manifest?
+ if cmd_rc[:manifest][:set]==:on
+ true
+ elsif cmd_rc[:manifest][:set]==:off
+ false
+ elsif @md.make.manifest? ==:off
+ false
+ elsif env_rc.build.manifest? ==:off
+ false
+ else
+ true
+ end
+ end
+ def links_to_manifest?
+ if cmd_rc[:links_to_manifest][:set]==:on
+ true
+ elsif cmd_rc[:links_to_manifest][:set]==:off
+ false
+ elsif @md.make.links_to_manifest? ==:off
+ false
+ elsif env_rc.build.links_to_manifest? ==:off
+ false
+ else
+ true
+ end
+ end
+ def metadata?
+ if cmd_rc[:metadata][:set]==:on
+ true
+ elsif cmd_rc[:metadata][:set]==:off
+ false
+ elsif @md.make.metadata? ==:off
+ false
+ elsif env_rc.build.metadata? ==:off
+ false
+ else
+ true
+ end
+ end
+ def minitoc?
+ if html_top_band? == false #one form of navigation necessary
+ true
+ elsif cmd_rc[:minitoc][:set]==:on
+ true
+ elsif cmd_rc[:minitoc][:set]==:off
+ false
+ elsif @md.make.minitoc? ==:off
+ false
+ elsif env_rc.build.minitoc? ==:off
+ false
+ else
+ true
+ end
+ end
+ def manifest_minitoc?
+ if html_top_band? == false #one form of navigation necessary
+ true
+ elsif cmd_rc[:manifest_minitoc][:set]==:on \
+ || cmd_rc[:minitoc][:set]==:on
+ true
+ elsif cmd_rc[:manifest_minitoc][:set]==:off \
+ || cmd_rc[:minitoc][:set]==:off
+ false
+ elsif @md.make.manifest_minitoc? ==:off \
+ || @md.make.minitoc? ==:off
+ false
+ elsif env_rc.build.manifest_minitoc? ==:off \
+ || env_rc.build.minitoc? ==:off
+ false
+ elsif minitoc? == false
+ false
+ else
+ true
+ end
+ end
+ def html_minitoc?
+ if html_top_band? == false #one form of navigation necessary
+ true
+ elsif cmd_rc[:html_minitoc][:set]==:on \
+ || cmd_rc[:minitoc][:set]==:on
+ true
+ elsif cmd_rc[:html_minitoc][:set]==:off \
+ || cmd_rc[:minitoc][:set]==:off
+ false
+ elsif @md.make.html_minitoc? ==:off \
+ || @md.make.minitoc? ==:off
+ false
+ elsif env_rc.build.html_minitoc? ==:off \
+ || env_rc.build.minitoc? ==:off
+ false
+ elsif minitoc? == false
+ false
+ else
+ true
+ end
+ end
+ def html_top_band?
+ if cmd_rc[:html_top_band][:set]==:on
+ true
+ elsif cmd_rc[:html_top_band][:set]==:off
+ false
+ elsif @md.make.html_top_band? ==:off
+ false
+ elsif env_rc.build.html_top_band? ==:off
+ false
+ else
+ true
+ end
+ end
+ def html_navigation?
+ if cmd_rc[:html_navigation][:set]==:on
+ true
+ elsif cmd_rc[:html_navigation][:set]==:off
+ false
+ elsif @md.make.html_navigation? ==:off
+ false
+ elsif env_rc.build.html_navigation? ==:off
+ false
+ else
+ true
+ end
+ end
+ def html_navigation_bar?
+ if cmd_rc[:html_navigation_bar][:set]==:on
+ true
+ elsif cmd_rc[:html_navigation_bar][:set]==:off
+ false
+ elsif @md.make.html_navigation_bar? ==:off
+ false
+ elsif env_rc.build.html_navigation_bar? ==:off
+ false
+ else
+ true
+ end
+ end
+ def search_form?
+ if cmd_rc[:search_form][:set]==:on
+ true
+ elsif cmd_rc[:search_form][:set]==:off
+ false
+ elsif @md.make.search_form? ==:off
+ false
+ elsif env_rc.build.search_form? ==:off
+ false
+ else
+ true
+ end
+ end
+ def html_search_form?
+ if cmd_rc[:html_search_form][:set]==:on \
+ || cmd_rc[:search_form][:set]==:on
+ true
+ elsif cmd_rc[:html_search_form][:set]==:off \
+ || cmd_rc[:search_form][:set]==:off
+ false
+ elsif @md.make.html_search_form? ==:off \
+ || @md.make.search_form? ==:off
+ false
+ elsif env_rc.build.html_search_form? ==:off \
+ || env_rc.build.search_form? ==:off
+ false
+ elsif search_form? == false
+ false
+ else
+ true
+ end
+ end
+ def html_right_pane?
+ if cmd_rc[:html_right_pane][:set]==:on
+ true
+ elsif cmd_rc[:html_right_pane][:set]==:off
+ false
+ elsif @md.make.html_right_pane? ==:off
+ false
+ elsif env_rc.build.html_right_pane? ==:off
+ false
+ else
+ true
+ end
+ end
+ def segsubtoc?
+ if cmd_rc[:segsubtoc][:set]==:on
+ true
+ elsif cmd_rc[:segsubtoc][:set]==:off
+ false
+ elsif @md.make.segsubtoc? ==:off
+ false
+ elsif env_rc.build.segsubtoc? ==:off
+ false
+ else
+ true
+ end
+ end
+ self
end
def output_dir_structure
def by_language_code?
- @env.output_dir_structure.by_language_code?
+ env_rc.output_dir_structure.by_language_code?
end
def by_filetype?
- @env.output_dir_structure.by_filetype?
+ env_rc.output_dir_structure.by_filetype?
end
def by_filename?
- @env.output_dir_structure.by_filename?
+ env_rc.output_dir_structure.by_filename?
end
def multilingual?
by_language_code?
end
def dump?
- ((@md.opt.opt_act[:dump][:bool] \
- && @md.opt.opt_act[:dump][:inst]) \
- || (@env.output_dir_structure.dump?)) \
- ? true \
+ ((cmd_rc[:dump][:bool] \
+ && cmd_rc[:dump][:inst]) \
+ || (env_rc.output_dir_structure.dump?)) \
+ ? true
: false
end
def redirect?
- ((@md.opt.opt_act[:redirect][:bool] \
- && @md.opt.opt_act[:redirect][:inst]) \
- || (@env.output_dir_structure.redirect?)) \
- ? true \
+ ((cmd_rc[:redirect][:bool] \
+ && cmd_rc[:redirect][:inst]) \
+ || (env_rc.output_dir_structure.redirect?)) \
+ ? true
: false
end
def dump_or_redirect?
((dump?) || (redirect?)) \
- ? true \
+ ? true
: false
end
def by?
@@ -3522,6 +3795,134 @@ WOK
self
end
end
+ class InfoDb < InfoEnv
+ @@rc=nil
+ def initialize
+ @@pwd ||=Dir.pwd
+ @pwd=Dir.pwd
+ @env=SiSU_Env::InfoEnv.new
+ pt=Pathname.new(@pwd)
+ r=Px[:lng_lst].join('|')
+ u=/.+?\/([^\/]+)(?:\/(?:#{r})$|$)/
+ @pwd_stub=pt.realpath.to_s[u,1]
+ @rc=@@rc ||=GetInit.instance.sisu_yaml.rc
+ @defaults=SiSU_Env::InfoEnv.new.defaults
+ end
+ def share_source?
+ ((defined? @rc['db']['share_source']) \
+ && @rc['db']['share_source']==true) \
+ ? @rc['db']['share_source']
+ : false
+ end
+ def engine
+ def default
+ ((defined? @rc['db']['engine']['default']) \
+ && @rc['db']['engine']['default']=~/postgresql|sqlite/) \
+ ? @rc['db']['engine']['default']
+ : 'sqlite'
+ end
+ self
+ end
+ def psql
+ def user
+ ((defined? @rc['db']['postgresql']['user']) \
+ && @rc['db']['postgresql']['user']=~/\S+/) \
+ ? @rc['db']['postgresql']['user']
+ : @env.user
+ end
+ def db #db_name
+ "#{Db[:name_prefix]}#{@pwd_stub}"
+ end
+ def port #PGPORT
+ ((defined? @rc['db']['postgresql']['port']) \
+ && ( @rc['db']['postgresql']['port'] =~/\d+/ \
+ || @rc['db']['postgresql']['port'].class==Fixnum)) \
+ ? @rc['db']['postgresql']['port']
+ : (@defaults[:postgresql_port])
+ end
+ def password
+ ((defined? @rc['db']['postgresql']['password']) \
+ && @rc['db']['postgresql']['password']=~/\S+/) \
+ ? @rc['db']['postgresql']['password']
+ : ''
+ end
+ def host
+ ((defined? @rc['db']['postgresql']['host']) \
+ && @rc['db']['postgresql']['host']=~/(?:\S{1,3}\.){3}\S{1,3}|\S+?\.\S+/) \
+ ? @rc['db']['postgresql']['host']
+ : ''
+ end
+ def dbi
+ (psql.host =~/(?:\S{1,3}\.){3}\S{1,3}|\S+?\.\S+/) \
+ ? "DBI:Pg:database=#{psql.db};host=#{psql.host};port=#{psql.port}"
+ : "DBI:Pg:database=#{psql.db};port=#{psql.port}"
+ end
+ def conn_dbi
+ DBI.connect(psql.dbi,psql.user,psql.db)
+ end
+ self
+ end
+ def mysql
+ def db
+ #"#{Db[:name_prefix]}#{@pwd_stub}"
+ end
+ def port
+ '**'
+ end
+ def dbi
+ "dbi:Mysql:database=#{mysql.db};port=#{mysql.port}"
+ end
+ self
+ end
+ def sqlite
+ def db
+ "#{@env.path.webserv}/#{@pwd_stub}/sisu_sqlite.db"
+ end
+ def db_discreet(md)
+ # "#{@env.path.webserv}/#{@pwd_stub}/sisu_sqlite.db"
+ end
+ def dbi
+ "DBI:SQLite3:#{sqlite.db}" #sqlite3 ?
+ end
+ def sqlite3
+ sqlite.db #sqlite3 ?
+ end
+ def conn_dbi
+ DBI.connect(sqlite.dbi)
+ end
+ def conn_sqlite3
+ SQLite3::Database.new(sqlite.sqlite3)
+ end
+ self
+ end
+ end
+ class DbOp <InfoDb
+ def initialize(md)
+ begin
+ @md=md
+ rescue; STDERR.puts SiSU_Screen::Ansi.new(@cmd,$!,$@).rescue
+ ensure
+ end
+ end
+ def sqlite_discreet
+ def db
+ "#{@md.file.output_path.sqlite_discreet.dir}/#{@md.file.base_filename.sqlite_discreet}"
+ end
+ def dbi
+ "DBI:SQLite3:#{sqlite_discreet.db}"
+ end
+ def sqlite3
+ sqlite_discreet.db
+ end
+ def conn_dbi
+ DBI.connect(sqlite_discreet.dbi)
+ end
+ def conn_sqlite3
+ SQLite3::Database.new(sqlite_discreet.sqlite3)
+ end
+ self
+ end
+ end
class FileOp <InfoFile #todo unify with CreateFile
def initialize(md,fno='')
begin
@@ -3532,7 +3933,7 @@ WOK
end
end
def output_dir_structure
- OutputStructure.new(@md).output_dir_structure
+ ProcessingSettings.new(@md).output_dir_structure
end
def mkdir_initialize # not used but consider using
FileUtils::mkdir_p(output_path.base.dir) unless FileTest.directory?(output_path.base.dir)
@@ -3585,7 +3986,7 @@ WOK
def html_seg_index
pth=((by_filename?) \
|| (output_dir_structure.dump?)) \
- ? "#{output_path.html.dir}" \
+ ? "#{output_path.html.dir}"
: "#{output_path.html.dir}/#{@md.fnb}"
fn=base_filename.html_seg_index
make_path(pth)
@@ -3595,7 +3996,7 @@ WOK
def html_segtoc
pth=((by_filename?) \
|| (output_dir_structure.dump?)) \
- ? "#{output_path.html.dir}" \
+ ? "#{output_path.html.dir}"
: "#{output_path.html.dir}/#{@md.fnb}"
fn=base_filename.html_segtoc
make_path(pth)
@@ -3782,6 +4183,15 @@ WOK
end
self
end
+ def sqlite_discreet
+ def dir
+ output_path.sqlite_discreet.dir + '/' + base_filename.sqlite_discreet
+ end
+ def rel
+ output_path.sqlite_discreet.rel + '/' + base_filename.sqlite_discreet
+ end
+ self
+ end
def hash_digest
def dir
output_path.hash_digest.dir + '/' + base_filename.hash_digest
@@ -4072,6 +4482,14 @@ WOK
@md.fnb + '.' + @md.opt.f_pth[:lng_is] + '.' + ft
end
end
+ def sqlite_discreet
+ ft='.sql.db'
+ if output_dir_structure.by_language_code?
+ @md.fnb + ft
+ else
+ @md.fnb + @md.lang_code_insert + ft
+ end
+ end
def hash_digest
ft='.txt'
if output_dir_structure.by_language_code?
@@ -4729,6 +5147,27 @@ WOK
end
self
end
+ def sqlite_discreet
+ def ft
+ 'sql'
+ end
+ def dir
+ set_path(ft).dir.ab
+ end
+ def url
+ set_path(ft).url.ab
+ end
+ def rel
+ set_path(ft).rel.ab
+ end
+ def rcp
+ set_path(ft).rcp.ab
+ end
+ def rel_sm
+ set_path(ft).rel_sm.ab
+ end
+ self
+ end
def hash_digest
def ft
'hashes'
@@ -4949,104 +5388,6 @@ WOK
self
end
end
- class InfoSet #<InfoEnv
- def initialize(md)
- @md=md
- @env=SiSU_Env::InfoEnv.new(md.fns)
- end
- def heading_omit_list
- @md.make.omit_list
- end
- def not_heading_make_omit_listed?(test) #fix
- listed=if heading_omit_list
- x=(heading_omit_list.scan(/\b#{test}\b/)).join
- test==x \
- ? false \
- : true
- else
- true
- end
- listed
- end
- def ocn?
- @md.opt.opt_act[:ocn][:bool] \
- && (@env.build.ocn?) \
- ? true \
- : false
- end
- def toc?
- @md.opt.opt_act[:toc][:bool] \
- && (not_heading_make_omit_listed?('ocn')) \
- && (@env.build.toc?) \
- ? true \
- : false
- end
- def manifest?
- @md.opt.opt_act[:manifest][:bool] \
- && (not_heading_make_omit_listed?('manifest')) \
- && (@env.build.manifest?) \
- ? true \
- : false
- end
- def manifest_links?
- @md.opt.opt_act[:manifest_links][:bool] \
- && (not_heading_make_omit_listed?('manifest_links')) \
- && (@env.build.manifest_links?) \
- ? true \
- : false
- end
- def manifest_minitoc?
- @md.opt.opt_act[:manifest_minitoc][:bool] \
- && (not_heading_make_omit_listed?('manifest_minitoc')) \
- && (@env.build.manifest_minitoc?) \
- ? true \
- : false
- end
- def metadata?
- @md.opt.opt_act[:metadata][:bool] \
- && (not_heading_make_omit_listed?('metadata')) \
- && (@env.build.metadata?) \
- ? true \
- : false
- end
- def html_minitoc?
- @md.opt.opt_act[:html_minitoc][:bool] \
- && ((not_heading_make_omit_listed?('html_minitoc')) \
- || (not_heading_make_omit_listed?('minitoc'))) \
- && (@env.build.html_minitoc?) \
- ? true \
- : false
- end
- def html_navigation?
- @md.opt.opt_act[:html_navigation][:bool] \
- && (not_heading_make_omit_listed?('html_navigation')) \
- && (@env.build.html_navigation?) \
- ? true \
- : false
- end
- def html_navigation_bar?
- @md.opt.opt_act[:html_navigation_bar][:bool] \
- && (not_heading_make_omit_listed?('html_navigation_bar')) \
- && (@env.build.html_navigation_bar?) \
- ? true \
- : false
- end
- def html_search_form?
- @md.opt.opt_act[:html_search_form][:bool] \
- && (not_heading_make_omit_listed?('html_search_form')) \
- && (@env.build.html_search_form?) \
- ? true \
- : false
- end
- def html_right_column?
- @md.opt.opt_act[:html_right_column][:bool] \
- && ((not_heading_make_omit_listed?('html_right_column')) \
- || (not_heading_make_omit_listed?('html_promo'))) \
- && (@env.build.html_right_column?) \
- ? true \
- : false
- end
- end
class CreateFile <InfoEnv #todo unify with FileOp
def initialize(fns)
begin
@@ -5164,106 +5505,6 @@ WOK
@@publisher='SiSU scribe'
end
end
- class InfoDb < InfoEnv
- @@rc=nil
- def initialize
- @@pwd ||=Dir.pwd
- @pwd=Dir.pwd
- @env=SiSU_Env::InfoEnv.new
- #m=/.+\/(?:src\/)?(\S+)/m # m=/.+?\/(?:src\/)?([^\/]+)$/im # m=/.+\/(\S+)/m
- #@pwd_stub=@pwd[m,1]
- pt=Pathname.new(@pwd)
- r=Px[:lng_lst].join('|')
- u=/.+?\/([^\/]+)(?:\/(?:#{r})$|$)/
- @pwd_stub=pt.realpath.to_s[u,1]
- @rc=@@rc ||=GetInit.instance.sisu_yaml.rc
- @defaults=SiSU_Env::InfoEnv.new.defaults
- end
- def share_source?
- ((defined? @rc['db']['share_source']) \
- && @rc['db']['share_source']==true) \
- ? @rc['db']['share_source']
- : false
- end
- def engine
- def default
- ((defined? @rc['db']['engine']['default']) \
- && @rc['db']['engine']['default']=~/postgresql|sqlite/) \
- ? @rc['db']['engine']['default']
- : 'sqlite'
- end
- self
- end
- def psql
- def user
- ((defined? @rc['db']['postgresql']['user']) \
- && @rc['db']['postgresql']['user']=~/\S+/) \
- ? @rc['db']['postgresql']['user']
- : @env.user
- end
- def db #db_name
- "#{Db[:name_prefix]}#{@pwd_stub}"
- end
- def port #PGPORT
- ((defined? @rc['db']['postgresql']['port']) \
- && ( @rc['db']['postgresql']['port'] =~/\d+/ \
- || @rc['db']['postgresql']['port'].class==Fixnum)) \
- ? @rc['db']['postgresql']['port']
- : (@defaults[:postgresql_port])
- end
- def password
- ((defined? @rc['db']['postgresql']['password']) \
- && @rc['db']['postgresql']['password']=~/\S+/) \
- ? @rc['db']['postgresql']['password']
- : ''
- end
- def host
- ((defined? @rc['db']['postgresql']['host']) \
- && @rc['db']['postgresql']['host']=~/(?:\S{1,3}\.){3}\S{1,3}|\S+?\.\S+/) \
- ? @rc['db']['postgresql']['host']
- : ''
- end
- def dbi
- (psql.host =~/(?:\S{1,3}\.){3}\S{1,3}|\S+?\.\S+/) \
- ? "DBI:Pg:database=#{psql.db};host=#{psql.host};port=#{psql.port}"
- : "DBI:Pg:database=#{psql.db};port=#{psql.port}"
- end
- def conn_dbi
- DBI.connect(psql.dbi,psql.user,psql.db)
- end
- self
- end
- def mysql
- def db
- #"#{Db[:name_prefix]}#{@pwd_stub}"
- end
- def port
- '**'
- end
- def dbi
- "dbi:Mysql:database=#{mysql.db};port=#{mysql.port}"
- end
- self
- end
- def sqlite
- def db
- "#{@env.path.webserv}/#{@pwd_stub}/sisu_sqlite.db"
- end
- def dbi
- "DBI:SQLite3:#{sqlite.db}" #sqlite3 ?
- end
- def sqlite3
- sqlite.db #sqlite3 ?
- end
- def conn_dbi
- DBI.connect(sqlite.dbi)
- end
- def conn_sqlite3
- SQLite3::Database.new(sqlite.sqlite3)
- end
- self
- end
- end
class InfoPort < InfoEnv
def initialize
@env=SiSU_Env::InfoEnv.new
diff --git a/lib/sisu/v3dv/texinfo.rb b/lib/sisu/v3dv/texinfo.rb
index 145712e1..2496ce7a 100644
--- a/lib/sisu/v3dv/texinfo.rb
+++ b/lib/sisu/v3dv/texinfo.rb
@@ -140,11 +140,10 @@ module SiSU_TexInfo
data=@data
data=pre(data)
data=endnote(data)
- data=markup(data)
- objects=tail(data)
- #output(objects)
- output(@tex_file)
- #output(data.compact)
+ data,head=markup(data)
+ objs_txt=tail(data)
+ doc_txt=[head,objs_txt]
+ output(doc_txt)
makeinfo #KEEP reinstate when fixed #%
place_info
rescue; STDERR.puts SiSU_Screen::Ansi.new(@md.opt.cmd,$!,$@).rescue
@@ -340,14 +339,9 @@ module SiSU_TexInfo
end
#%case with endnotes
dob.obj=dob.obj.gsub(/\s*[0-8]\\+(\S+)?\s+/,' ') if dob.obj
- if dob.obj \
- && (dob.is !=:structure \
- && dob.is !=:comment)
- @tex_file << dob.obj
- end
data_new << dob
end
- data_new
+ [data_new, @tex_file]
end
def number_titles
data,data_new=@data,[]
@@ -376,12 +370,16 @@ module SiSU_TexInfo
end
def tail(data)
tex=SiSU_TexInfoFormat::Texinfo.new(@md)
- objects=[]
+ objs_txt=[]
data.each do |dob|
- objects << dob.obj if dob.obj
+ if dob.obj \
+ && (dob.is !=:structure \
+ && dob.is !=:comment)
+ objs_txt << dob.obj if dob.obj
+ end
end
- objects << tex.dublincore << tex.tail
- objects
+ objs_txt << tex.dublincore << tex.tail
+ objs_txt
end
def output(data)
filename_texinfo=%{#{@env.processing_path.texi}/#{@md.fnb}.texinfo}
diff --git a/lib/sisu/v3dv/texinfo_format.rb b/lib/sisu/v3dv/texinfo_format.rb
index 0555809d..fa5390b6 100644
--- a/lib/sisu/v3dv/texinfo_format.rb
+++ b/lib/sisu/v3dv/texinfo_format.rb
@@ -261,43 +261,34 @@ WOK
relation="Relation: #{relation}\n\n" if relation #dc
coverage="Coverage: #{coverage}\n\n" if coverage #dc
rights="Rights: #{rights}\n\n" if rights #dc
- "@node Dublin Core\n" +
- "@unnumbered Dublin Core\n" +
- "@cindex chapter, Dublin Core\n\n" +
- "#{full_title}" +
- "#{author}" +
- "#{subject}" +
- "#{description}" +
- "#{publisher}" +
- "#{contributor}" +
- "#{date}" +
- "#{date_created}" +
- "#{date_issued}" +
- "#{date_available}" +
- "#{date_valid}" +
- "#{date_modified}" +
- "#{format}" +
- "#{identifier}" +
- "#{source}" +
- "#{language}" +
- "#{relation}" +
- "#{coverage}" +
- "#{rights}" +
- "\n\n"
+ <<WOK
+@node Dublin Core
+@unnumbered Dublin Core
+@cindex chapter, Dublin Core
+
+#{full_title}#{author}#{subject}#{description}#{publisher}#{contributor}#{date}#{date_created}#{date_issued}#{date_available}#{date_valid}#{date_modified}#{format}#{identifier}#{source}#{language}#{relation}#{coverage}#{rights}
+
+WOK
end
def tail
- "@c %% 6\n" +
- "@node Index\n" +
- "@unnumbered Index\n" +
- "@printindex cp\n\n" +
- "@bye"
+ <<WOK
+@c %% 6
+@node Index
+@unnumbered Index
+@printindex cp
+
+@bye
+WOK
end
def clean(dob)
if dob.is==:heading \
and dob.obj !~/##{dob.ocn}/
dob.obj="#{dob.obj} ##{dob.ocn}"
end
- dob.obj=dob.obj.gsub(/<:#>/,'').strip
+ dob.obj=dob.obj.gsub(/\n/m,' ').
+ gsub(/<:#>/,'').
+ gsub(/,\s+/,' - ').
+ strip
dob
end
def menu
@@ -310,52 +301,52 @@ WOK
def level1
dob=clean(@dob)
nd=dob.obj.gsub(/@footnote\{.+?\}\s+/,'')
- dob.obj="@node #{nd}\n@unnumbered #{dob.obj}\n@cindex chapter, #{nd}\n"
+ dob.obj="@node #{nd}\n@unnumbered #{nd}\n@cindex chapter, #{nd}\n"
dob
end
def level2
dob=clean(@dob)
nd=dob.obj.gsub(/@footnote\{.+?\}\s+/,'')
- dob.obj="@node #{nd}\n@unnumbered #{dob.obj}\n@cindex chapter, #{nd}\n"
+ dob.obj="@node #{nd}\n@unnumbered #{nd}\n@cindex chapter, #{nd}\n"
dob
end
def level3
dob=clean(@dob)
nd=dob.obj.gsub(/@footnote\{.+?\}\s+/,'')
- dob.obj="@node #{nd}\n@unnumbered #{dob.obj}\n@cindex chapter, #{nd}\n"
+ dob.obj="@node #{nd}\n@unnumbered #{nd}\n@cindex chapter, #{nd}\n"
dob
end
def level4
dob=clean(@dob)
nd=dob.obj.gsub(/@footnote\{.+?\}\s+/,'')
- dob.obj="@node #{nd}\n@unnumbered #{dob.obj}\n@cindex chapter, #{nd}\n"
+ dob.obj="@node #{nd}\n@unnumbered #{nd}\n@cindex chapter, #{nd}\n"
dob
end
def level5
dob=clean(@dob)
nd=dob.obj.gsub(/@footnote\{.+?\}\s+/,'')
- dob.obj="@node #{nd}\n@unnumbered #{dob.obj}\n@cindex chapter, #{nd}\n"
+ dob.obj="@node #{nd}\n@unnumbered #{nd}\n@cindex chapter, #{nd}\n"
dob
end
def level6
dob=clean(@dob)
nd=dob.obj.gsub(/@footnote\{.+?\}\s+/,'')
- dob.obj="@node #{nd}\n@unnumbered #{dob.obj}\n@cindex chapter, #{nd}\n"
+ dob.obj="@node #{nd}\n@unnumbered #{nd}\n@cindex chapter, #{nd}\n"
dob
end
def submenu
@dob.obj=@dob.obj.join("\n")
@dob.obj=@dob.obj.gsub(/[5]\\+~\S+/,'')
dob=clean(@dob)
- dob.obj="@menu\n#{dob.obj}\n@end menu\n\n"
- dob.obj=dob.obj.gsub(/.+/m,"#{dob.obj}")
+ dob.obj="@menu\n#{dob.obj}\n@end menu\n\n".
+ gsub(/.+/m,"#{dob.obj}")
end
def subsubmenu
@dob.obj=@dob.obj.join("\n")
@dob.obj=@dob.obj.gsub(/[6]\\+~\S+/,'')
dob=clean(@dob)
- dob.obj="@menu\n#{dob.obj}\n@end menu\n\n"
- dob.obj=dob.obj.gsub(/.+/m,"#{dob.obj}")
+ dob.obj="@menu\n#{dob.obj}\n@end menu\n\n".
+ gsub(/.+/m,"#{dob.obj}")
end
def indent1
@dob.obj=@dob.obj.gsub(/<:i1>(.*)/,'\1')
diff --git a/lib/sisu/v3dv/texpdf.rb b/lib/sisu/v3dv/texpdf.rb
index c69f7b9c..f0fb6b99 100644
--- a/lib/sisu/v3dv/texpdf.rb
+++ b/lib/sisu/v3dv/texpdf.rb
@@ -285,16 +285,11 @@ module SiSU_TeX
@vz=SiSU_Env::GetInit.instance.skin
@dp=@@dp ||=SiSU_Env::InfoEnv.new.digest.pattern
@brace_url=SiSU_Viz::Skin.new.url_decoration
- vz=SiSU_Env::GetInit.instance.skin
l=SiSU_Env::StandardiseLanguage.new(@md.opt.lng).language
@language=l[:n]
@translate=SiSU_Translate::Source.new(@md,@language)
- @skin_no_ocn=if defined? vz.ocn_display_off \
- and vz.ocn_display_off==true
- true
- else false
- end
@codeblock_box='listings' #alternative 'boites'
+ @make ||=SiSU_Env::ProcessingSettings.new(@md)
end
def songsheet
begin
@@ -324,12 +319,6 @@ module SiSU_TeX
if @md.flag_tables #WORK ON 2009
data=tables(data) #uncomment to start experimenting with tables
end
- ocn=if @md.markup.inspect =~/no_ocn/ \
- or @md.opt.mod.inspect =~/--no-ocn/ \
- or @skin_no_ocn
- false
- else true
- end
data=number_paras(data)
data=markup(data)
output(data)
@@ -741,12 +730,20 @@ WOK
@tex_file << @@prefix_b if defined? @md.creator.prefix_b and @md.creator.prefix_b
end
x={}
- x[:l] =<<WOK
-#{@tex_ml.newpage('landscape')}
-\\pagestyle{fancy}
+ if (@make.build.toc?)
+ toc=<<WOK
\\renewcommand{\\contentsname}{#{@translate.contents}}
\\tableofcontents
+WOK
+ toc_pb={ l: @tex_ml.newpage('landscape'), p: @tex_ml.newpage('portrait') }
+ else
+ toc=''
+ toc_pb={ l: '', p: '' }
+ end
+ x[:l] =<<WOK
#{@tex_ml.newpage('landscape')}
+\\pagestyle{fancy}
+#{toc}#{toc_pb[:l]}
\\pagenumbering{arabic}
#{@tex_ml.paraskip_normal}
#{@tex_ml.newpage('landscape')}
@@ -754,8 +751,7 @@ WOK
x[:p] =<<WOK
#{@tex_ml.newpage('portrait')}
\\pagestyle{fancy}
-\\renewcommand{\\contentsname}{#{@translate.contents}}
-\\tableofcontents
+#{toc}#{toc_pb[:p]}
#{@tex_ml.newpage('portrait')}
\\pagenumbering{arabic}
#{@tex_ml.paraskip_normal}
@@ -814,11 +810,7 @@ WOK
if dob.of ==:para
paranum=dob.ocn ? dob.ocn : ''
paranum = '' if paranum.to_i==0
- paranumber_display=if @md.markup.inspect =~/no_ocn/ \
- or @md.opt.mod.inspect =~/--no-ocn/ \
- or not dob.ocn_
- ''
- else
+ paranumber_display=if @make.build.ocn?
tags=''
#[keep] code that follows inserts "name tags" as hypertargets, currently using ocn (converting nametags to ocn) for internal linking, related code: |texpdf_format.rb|@|uses nametags directly|
#if dob.tags.length > 0 # insert tags "hypertargets"
@@ -827,6 +819,7 @@ WOK
# end
#end
"\\begin{tiny}\\hspace{0mm}\\end{tiny}{\\marginpar{\\begin{tiny}\\hspace{0mm}\\hypertarget{#{dob.ocn}}{#{dob.ocn}}#{tags}\\end{tiny}}}" #ocn object citation numbering
+ else ''
end
dob.tmp = paranumber_display + dob.tmp
end
diff --git a/lib/sisu/v3dv/texpdf_format.rb b/lib/sisu/v3dv/texpdf_format.rb
index fdcdc3d1..ae277ec6 100644
--- a/lib/sisu/v3dv/texpdf_format.rb
+++ b/lib/sisu/v3dv/texpdf_format.rb
@@ -104,9 +104,13 @@ module SiSU_TeX_Pdf
@brace_rel=SiSU_Viz::Skin.new.rel_decoration
@env ||=SiSU_Env::InfoEnv.new(@md.fns)
@tex2pdf=@@tex3pdf ||=SiSU_Env::SystemCall.new.tex2pdf_engine
+ @make ||=SiSU_Env::ProcessingSettings.new(@md)
end
def ocn_display(dob)
- "\\begin{tiny}\\hspace{0mm}\\end{tiny}{\\marginpar{\\begin{tiny}\\hspace{0mm}\\hypertarget{#{dob.ocn}}{#{dob.ocn}}\\end{tiny}}}" #ocn object citation numbering
+ show_ocn=(@make.build.ocn?) \
+ ? dob.ocn
+ : ''
+ "\\begin{tiny}\\hspace{0mm}\\end{tiny}{\\marginpar{\\begin{tiny}\\hspace{0mm}\\hypertarget{#{dob.ocn}}{#{show_ocn}}\\end{tiny}}}" #ocn object citation numbering
end
def table_special_characters(r)
r=r.gsub(/#{Mx[:tc_p]}|$/u,'&').
diff --git a/lib/sisu/v3dv/urls.rb b/lib/sisu/v3dv/urls.rb
index 39156dff..31614a37 100644
--- a/lib/sisu/v3dv/urls.rb
+++ b/lib/sisu/v3dv/urls.rb
@@ -215,7 +215,7 @@ module SiSU_Urls
SiSU_Screen::Ansi.new(@opt.cmd,"[#{@opt.f_pth[:lng_is]}] -#{x} DBI psql","#{@pwd_stub}::#{@opt.fns}",y).result
end
def sqlite(x,y)
- SiSU_Screen::Ansi.new(@opt.cmd,"[#{@opt.f_pth[:lng_is]}] -#{x} DBI sqlite","sqlite3 #{@env.path.webserv}/#{@md.opt.f_pth[:pth_stub]}/sisu_sqlite.db", "#{y}").result
+ SiSU_Screen::Ansi.new(@opt.cmd,"[#{@opt.f_pth[:lng_is]}] -#{x} DBI sqlite","sqlite3 #{@md.file.output_path.sqlite_discreet.dir}/#{@md.file.base_filename.sqlite_discreet}\n sqlite3 #{@env.path.webserv}/#{@md.opt.f_pth[:pth_stub]}/sisu_sqlite.db\n", "#{y}").result
end
self
end
diff --git a/lib/sisu/v3dv/xml_format.rb b/lib/sisu/v3dv/xml_format.rb
index 0b1e9eef..b40efc18 100644
--- a/lib/sisu/v3dv/xml_format.rb
+++ b/lib/sisu/v3dv/xml_format.rb
@@ -331,29 +331,22 @@ WOK
def initialize(md,ocn)
@md,@ocn=md,ocn.to_s
@ocn ||=''
- vz=SiSU_Env::GetInit.instance.skin
- @skin_no_ocn=if not ocn
- true
- elsif defined? vz.ocn_display_off \
- and vz.ocn_display_off==true
- true
- else false
- end
end
def ocn_display
- if @md.markup.inspect =~/no_ocn/ \
- or @md.opt.mod.inspect =~/--no-ocn/ \
- or @skin_no_ocn
- ocn_class='ocn_off'
- @ocn.gsub(/^(\d+|)$/,
- %{<label class="#{ocn_class}">&nbsp;</label>})
- elsif @ocn.to_i==0
- @ocn.gsub(/^(\d+|)$/,
- %{<label class="#{ocn_class}"><a name="#{@ocn}">&nbsp;</a></label>})
- else
+ @make=SiSU_Env::ProcessingSettings.new(@md)
+ if @make.build.ocn?
ocn_class='ocn'
+ if @ocn.to_i==0
+ @ocn.gsub(/^(\d+|)$/,
+ %{<label class="#{ocn_class}"><a name="#{@ocn}">&nbsp;</a></label>})
+ else
+ @ocn.gsub(/^(\d+|)$/,
+ %{<label class="#{ocn_class}"><a name="#{@ocn}">\\1</a></label>})
+ end
+ else
+ ocn_class='ocn_off'
@ocn.gsub(/^(\d+|)$/,
- %{<label class="#{ocn_class}"><a name="#{@ocn}">\\1</a></label>})
+ %{<label class="#{ocn_class}">&nbsp;</label>})
end
end
def name